操作系统导论
操作系统的发展过程
未配置操作系统的计算机
- 人工操作方式
程序员将事先已穿孔的纸带,装入纸带输入机,然后将纸带上的程序输入计算机,然后让计算机运行这些程
- 脱机输入输出方式
- 单道批处理系统
吧一批作业以脱机的形式输入到磁带上,一个接一个的处理,在内存中始终只保持一道作业
- 多道批处理系统
吧用户的作业放在外存中,并排成一个队列,然后作业调度程序按照一定的算法,从队列中选若干个祖业调入内存,使他们共享CPU和系统中的各种资源,这样可以在运行程序A时,利用其IO做操而暂停执行的CPU空挡时间,再调度一道程序B运行
- 分时系统
在一台主机上连接了多个终端组成的系统,多个用户可以通过自己的终端,以交互的方式使用计算机,并共享主机的资源
- 实时系统(Real Time System)
指系统能即时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。
操作系统的基本特性
并发
- 并发和并行。并行性是指两个或多个事件在同一时刻发生,而并发性是指两个或多个事件在同一时间间隔内发生
- 引入进程。在没有进程的系统中,同一个应用程序的计算程序和IO程序只能顺序执行,也就是只有在计算程序之行告一段落后才允许IO程序执行。
但是为计算程序和IO程序分别建立一个进程后,这两个进程便可以并发执行。
- 进程。指在系统中能独立运行并作为资源分配的基本单位,是由一组机器指令、数据、堆栈组成的。
- 共享
是指系统中的资源可供多个并发执行的进程共同使用。主要有两种资源共享的方式:
- 互斥共享
比如打印机,虽然可以提供给多个进程使用,但是,一段时间只允许一个进程访问该资源,必须等待其释放资源后,另一进程才可以进行访问。吧这种一段时间内只允许一个进程访问的资源叫做临界资源。
- 同时访问共享
系统中还有另一类资源,允许一段时间内多个进程同时对他们进行访问。比如若干个用户通知访问一个文件
- 虚拟
通过某种技术将一个物理实体变成若干个逻辑上的对应物的功能。前者是实际存在的,后者是用户感觉上的东西,OS中主要用时分复用和空分复用实现虚拟。
- 异步
对于内存中的每个进程,何时能获得处理机运行?何时又因提出某种资源请求而暂停?进程以怎样的速度向前推进?这些都是不可预知的。也就是说进程是以不可预知的速度向前推进的,即进程的异步性。
操作系统的主要功能
处理机管理(合理的给CPU分配任务)
- 进程控制
在多道程序的环境下为使作业能并发执行,必须为没到作业创建一个或几个进程,并为之分配资源,当进程运行结束,应立即撤销该进程
- 进程同步
进程同步机制能使多个进程有条不紊的运行。该机制主要作用就是为多个进程(含线程)的运行进行协调。常用的协调方式:
- 进程互斥方式,指进程在对临界资源访问时,应采用互斥方式
- 进程同步方式,指在相互合作去完成同步任务的进程间,由同步机构对他们的执行次序加以协调
实现进程互斥的机制是为每个临界资源加一把锁W,当锁打开时,可以对该资源访问。实现进程同步最常用的机制是信号量机制
- 进程通信
调度
- 作业调度,从后备队列中按照一定的算法选择若干个作业,为其分配所需的资源,将作业调入内存后,分别为他们建立进程
- 进程调度,从进程的就绪队列中按照一定的算法选出一个进程并执行
存储器管理(进行内存分配,内存回收,地址映射)
- 内存分配
内存分配主要任务是,为每道程序分配内存空间,减少不可用的内存碎片,允许正在运行的程序申请内存空间
OS内存分配的两种方式:
- 静态内存分配。作业的内存空间在装入时就已经确定,在作业装入后运行过程中不允许申请新的内存空间,也不允许作业在内存中移动
- 动态分配。作业的内存空间在装入时虽然确定,但在作业装入后运行过程中允许申请新的内存空间,以适应程序和数据动态增长,允许作业在内存中移动
设备管理
- 完成进程提出的IO请求,为进程分配IO设备
- 提高CPU和IO设备的工作率)
- 文件管理
当有一组相互合作的进程去完成一个共同任务时,在他们之间往往需要交换信息。
当和做的进程处于同一计算机时,一般采用直接通信方式。由源程序直接将消息挂到目标进程的消息队列,以后由目标进程利用接收命令从其消息队列中取出消息
对用户文件和系统文件进行管理