操作系统复习笔记
2013-12-24 15:39 hduhans 阅读(326) 评论(0) 收藏 举报操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,他在计算机系统中占据了特别重要的地位。它是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
一、操作系统引论
1、操作系统的目标。
1) 有效性。① 提高系统资源利用率;② 提高系统的吞吐量。
2) 方便性。方便用户使用计算机。
3) 可扩充性。
4) 开放性。遵循世界标准规范,特别是遵循开放系统互联(OSI)国际标准。
2、操作系统的分层:硬件接口->I/O设备管理软件->文件管理软件->用户窗口软件。
3、操作系统的发展过程。
1) 无操作系统时代。
① 人工操作方式(1945~20世纪50年代中期)。程序员通过将实现已穿孔的纸带输入卡片输入机,启动他们将程序和数据输入计算机。当用户输入卡片或者输出数据时,CPU处于等待状态,严重浪费计算机资源;
② 脱机输入/输出方式(20世纪50年代末)。事先将纸带输入卡片输入机,在一台外围件,将程序和数据调入内存。通过外围件的缓冲输入输出,减少了CPU的空闲时间,提高了效率;
2) 单道批处理操作系统。在系统中配置监督程序Monitor,将一批作业以脱机的方式输入到磁带上,在监督程序的控制下,将队列中的作业一个一个进行处理。处理时,监督程序将控制权交给作业程序,完成后,作业程序又将控制权还给监督程序。系统运行时,内存中仅有一道作业。
3) 多道批处理操作系统(20世纪60年代中期)。由于单道批处理系统CPU资源浪费比较严重,比如当系统在读取 I/O时,CPU处于等待状态。多道批处理操作系统操作时,用户提交的作业都存放于外存,由作业调度程序按一定的算法从外存中选择若干作业调入内存,使他们共享CPU资源和其他资源。当一个作业暂时不需要CPU时,如在读取I/O操作时,CPU资源会立即运行另一个作业,总之,CPU会按需求在各个作业之间来回切换,最大限度地提高CPU的使用率。
4) 分时操作系统。一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互的方式使用计算机,共享主机资源。CPU按时间片分别切换和处理每个用户的请求,由于切换的时间很短,每个用户感觉自己是独占计算机的。
5) 实时操作系统。指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。强调及时性,完成作业的时间,是根据作业要求的开始时间和结束时间经过优先计算法,处理作业。
4、操作系统的基本特性:并发性和共享性。
5、操作系统主要功能。
1) 处理机管理功能:① 进程控制(创建和撤掉进程) ② 进程同步(对临界资源互斥访问) ③ 进程通信 ④ 调度(包括作业调度、进程调度、线程调度);
2) 存储器管理功能:① 内存分配(为程序分配内存) ② 内存保护(保证用户程序之间内存不会相互干扰) ③ 地址映射(将逻辑地址转换成物理地址) ④ 内存扩充(借助虚拟存储技术,从逻辑上扩充内存容量)
3) 设备管理功能:① 缓冲管理(为了缓解CPU的高速性和I/O的低速性之间的矛盾) ② 设备分配(为用户的I/O请求分配设备) ③ 设备处理(CPU和设备控制器之间的通信)
4) 文件管理功能:① 文件存储空间的管理(对文件和文件的存储空间进行统一的管理) ② 目录管理(对文件目录进行组织管理,实现高效检索) ③ 文件的读写管理和保护(读写指针的操作及文件的保护)
二、进程管理
1、程序顺序执行的特征:① 顺序性(严格按顺序执行) ② 封闭性(程序在一个封闭的环境下运行,运行时独占全集资源) ③ 可再现性(不管程序执行中途是否有停顿,其执行结果是一致的)
2、程序并发执行的特征:① 间断性(程序并发执行时,共享系统资源,各个进程间可能相互制约,导致程序间断执行) ② 失去封闭性(由于共享资源,因此执行时封闭性条件不满足) ③ 不可再现性(由于失去封闭性,因此程序的执行结果可能会不一致)
3、进程实体是由程序段、相关数据段和PCB构成; PCB(Process Control Block)是进程控制块,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息。
4、进程的特性:① 动态性(程序是静态的,进程是动态的) ② 并发性(引入了PCB,可以并发执行) ③ 独立性(能独立运行,独立分配资源和独立接受调度) ④ 异步性
5、进程的三种基本状态(称为活动状态):① 就绪状态(除了CPU,已分配其他所有所需的资源的进程状态,只要再获得CPU,就可以执行) ② 执行状态(获得CPU,正在执行) ③ 阻塞状态(由于发生某些事件暂时无法继续执行,放弃等待CPU状态的进程,也称等待状态或封锁状态)
6、进程的另一种状态(称为静止状态):挂起状态(挂起后不接受调度,可能是由于终端用户的请求或者操作系统的需要等引起)。
7、进程控制块PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。PCB是进程存在的唯一标志。
8、进程控制是进程管理最基本的功能,是指创建或终止进程,切换进程的状态等。进程控制由OS内核中的原语来实现。原语具有不可分割性,其执行是连续的,在执行过程中不允许被中断。
9、进程同步遵循的规则:① 空闲让进(只要临界资源空闲,就应该允许进程进入) ② 忙则等待(临界资源正在被访问时,其他进程必须等待) ③ 有限等待(对于等待临界资源的进程,必须保证能在有限时间内进入临界资源,避免“死等”) ④ 让权等待(当进程不能进入临界区时,应立即释放处理机,以免进程进入“忙等”状态)
10、信号量是用来保证两个或多个代码段不被并发调用,有以下几种类型:① 整型信号量(信号量是一个整数) ② 记录型信号量(是一个结构体,包含一个整数值s.value和一个等待进程队列s.L,保存个进程的标识;当s.value>=0时表示没有进程阻塞,当s.value<0时,其绝对值表示阻塞进程的个数;分为互斥信号量(s.value=1)和资源信号量(s.value>=1)) ③ 二进制信号量(取值为0或1)
11、AND型信号量:将进程在整个运行中所需要的所有资源一次性全部分配给进程,进程使用完后一起释放。若所需的所有进程不能全部分配,则一个也不分配。 伪代码:
Swait(s1,s2,...,sn) if s1>=1 and s2>=1 and ... and sn>=1 for i:=1 to n do si:=si - 1 endfor else 只要有一个条件不满足,就将进程放入等待队列 end if
浙公网安备 33010602011771号