计算机操作系统第九章.ppt
《计算机操作系统第九章.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统第九章.ppt(43页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM第第9章章Linux系统概述系统概述Linux系统的发展和特性Linux系统的用户接口Linux系统的进程管理Linux进程的同步与通信Linux存储器管理Linux设备管理Linux文件管理Linux系统安全性操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM9.1Linux系统的发展和特性系统的发展和特性Linux诞生的故事Linux与UNIX之间的渊源什么是GUN,什么是GPL什么
2、是自由软件Linux的发展历程Linux目前的应用情况Linux在我们国内发展和应用的情况操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM到底什么是到底什么是LinuxLinux是类UNIX的操作系统,诞生于1990年。它可运行于多种硬件平台、支持多种系统软件和应用软件,支持所有标准因特网协议,网络功能相当强。Linux继承了UNIX的许多优点,且在许多方面进行了改进,适合应用在中低档服务器领域,是目前因特网服务商(ISP,InternetServiceProvider)所推荐的最流行的网络操作系统。Linux功
3、能强大,且源代码开放,免去了使用者对系统是否存在后门的担心,另外它还属于自由软件,可以从某些网站或者其它途径免费获得。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux的版本的版本Linux系统有内核版和发行版两种版本。内内核核版版本本是指在Linus领导下的开发小组开发出的系统内核的版本号,最近有Linux-2.3.28和Linux-2.4。发发行行版版本本可以理解为以Linux为核心的操作系统软件包。一些组织机构或系统软件开发公司将Linux内核同应用软件和相关文档包装起来,并提供一些安装界面和系统设
4、置管理工具,从而构成了一个Linux发行版本。如:Red Hat Linux、Mandrake Linux、Xteam Linux、中软Linux、红旗Linux等。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux系统的功能特性系统的功能特性(1)开放性(2)多用户多任务(3)良好的用户界面(4)设备独立性(5)提供了丰富的网络功能(6)良好的可移植性(7)可靠的系统安全性 操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM
5、9.2 Linux系统的用户接口系统的用户接口Linux系统给用户提供了方便的使用界面,它的用户接口形式有:(1)命令用户接口(2)图形用户接口(3)系统调用接口操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM9.3 Linux系统的系统的 进程管理进程管理 Linux系统的PCB包括很多参数,每个PCB约占1KB多的内存空间。用于表示PCB的task_struct结构简要描述如下:操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMs
6、truct task_struct unsigned short uid;int pid;int processor;volatile long state;long priority;unsigned long rt_priority;long counter;unsigned long flags;unsigned long policy;struct task_struct *next_task,*prev_task;struct task_struct *next_run,*prev_run;struct task_struct *p_opptr,*p_pptr,*p_cptr,*p_
7、ysptr,*p_ptr;操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux的进程共有六种状态的进程共有六种状态(1)可运行状态(TASK_RUNNING)(2)可中断阻塞状态(TASK_INTERRUPTIBLE)(3)不可中断阻塞状态(TASK_UNINTERRUPTIBLE(4)僵死状态(TASK_ZOMBIE)(5)暂停状态(TASK_STOPPED)(6)交换状态(TASK_SWAPPING)操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPER
8、ATING SYSTERMLinux进程状态及状态转换操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM进程的创建进程的创建 Linux启动时系统运行于核心态,此时仅创建一个pid号为0的idle进程。该进程会创建一个内核线程,该线程进行一系列初始化动作后最终会执行/sbin/init文件。文件init运行的结果使系统的运行模式从核心态切换到了用户态,然后该线程演变为用户进程init,其pid为1。此init进程是一个非常重要的进程,以后系统中的一切进程都是它的后代进程。init进程启动后系统进人空闲等待状态。in
9、it进程可以通过执行fork()创建新进程。新进程的创建是通过复制老进程或当前进程来实现的。fork()函数的代码在/kernel/fork.c中。如果fork()执行成功,当前进程就拥有了一个子进程。创建进程的另一种方式是通过系统调用。此类系统调用有三个:sys_clone()、sys_vfork()和sys_fork()。进程的创建主要是完成进程基本情况的复制,生成子进程的task_struct结构,并且复制或共享父进程的其它资源,如内存、文件、信号等。进程实现结构复制后,若想执行与父进程不同的代码,如执行某一个可执行文件,那就要放弃父进程的正文代码段,形成自己的执行代码段,该工作由系统调
10、用execve()来完成。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM进程的撤销进程的撤销 当进程执行完毕即正常结束时,它调用exit()终止自己。当进程受到某信号如SIGKILL的作用时,也是通过执行exit()而撤销,exit()代码在/kernel/exit.c中,其主要函数为do_exit()。同样,终止进程的系统调用sys_exit()也是通过调用函数do_exit()来实现的。进程撤销时,一方面要回收进程所占的资源,同时也要通知其父进程。do_exit()先释放进程所占的大部分资源,然后进人TAS
11、K_ZOMBIE状态。进程自身只能释放那些外部资源,如内存、文件,无法释放其自身(即task_struct结构)的。task_struct结构是由该进程的父进程或内核初始进程调用exit_notify()来完成的。exit_notify()函数的工作主要是:将进程的状态改成僵死状态;通知父进程料理后事;将退出进程从目录树中删除。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux的线程机制的线程机制 Linux是一种多线程、多任务操作系统,它符合IEEE POXIS标准。其线程分为两种:用户线程和内核线程,
12、在Linux中,这两种线程分别使用在usr/include/asm_i386/processor.h中所定义的结构struct thread_struct和在usr/include/pthread/init/pthread.h中所定义的结构struct pthread进行描述。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux调度方式调度方式 Linux内核的调度方式基本上采用“抢占式优先级”方式,即当进程在用户态运行时,不管是否自愿,在一定条件下(如时间片用完或等待I/O),核心就可以暂时剥夺其运行而调
13、 度其它进程进入运行。但是,一旦进程切换到核心态运行,就不受以上限制而一直运行下 去,直至又回到用户态前才会发生进程调度。Linux系统中的调度策略基本上是以优先级为基础的调度策略。就是说,核心为系统中每个进程计算出一个优先权,该优先权反映了一个进程获得CPU使用权的资格,即高优先权的进程优先得到运行。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux调度时机调度时机通常引起Linux系统中进程调度的原因有如下几种:(1)CPU执行的进程发生状态转换(2)就绪队列中增加了新进程。(3)正在执行的进程所分配
14、的时间片用完。(4)执行系统调用的进程返回到用户态。(5)系统内核结束中断处理返回到用户态。(6)直接执行调度程序。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux调度算法调度算法Linux的进程控制块PCB(task_struct)中有四个成员:policy、priority、rt_priority和counter,其中unsigned long policy的值表示不同类型进程的调度策略,其取值范围为:lSCHED_OTHER(值为0):对应普通进程优先级轮转法(round robin);lSCHE
15、D_FIFO(值为1):对应实时进程先来先服务算法;lSCHED_RR(值为2):对应实时进程优先级轮转算法。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux进程切换的方式进程切换的方式(1)自动请愿方式。即通过系统调用,将自己转换成阻塞、僵死、暂停等状态。这样的系统调用有sys_wait4()、sys_nanosleep()、sys_pause()和sys_exit()等,它们都是通过直接调用schedule()函数来进行进程切换的。这种切换方式是可以预见的。(2)非主动方式。进程由系统空间返回到用户
16、空间,即从中断、系统调用或异常返回到用户空间执行时,其可执行的时间片已经用完,系统将转入schedule()函数重新调度。操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERMLinux进程的通信机制进程的通信机制管道(pipe)及有名管道(namedpipe)信号(signal)消息队列(message)信号量(semaphore)共享内存 套接字(sockets)操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM管道通信的实现方式是由内
17、核通过共享数据页来完成的操 作 系 统 操 作 系 统 操 作 系 统 操 作 系 统 操作系统二十一世纪计算机本科教育OPERATING SYSTERM无名管道的特点是:无名管道的特点是:(1)管道是半双工的,数据只能向一个方向流动。管道只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)的通信。(2)单独构成一种独立的文件系统。对于管道两端的进程而言,管道就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并只存在于内存中。(3)数据的读出和写入在管道的两端进行,一个进程向管道的一端写入的内容被管道另一端的进程读出。有名管道的特点是:有名管道的特点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 第九
限制150内