一、操作系统引论
1、目标:方便性、有效性、可扩充性、开放性
2、作用:
1、作为用户与计算机硬件系统之间的接口
2、作为计算机系统资源的管理者
3、实现对计算机资源的抽象
3、发展过程:
1、人工操作方式:用户独占全机,CPU等待人工操作--带(卡)装卸
2、脱机输入/输出方式:事先将装有用户程序和数据的纸带装入纸带输入机,外围机控制,把纸带内容输入到磁带上(类似于磁盘),CPU需要时,从磁带高速调入内存。反之类同。
优点:减少了CPU的空闲时间、提高了I/O速度
3、单道批处理:首先监督程序将磁带第一个作业装入内存,运行控制权在该作业,处理完改作业后,控制权回到监督程序,然后进行重复过程,系统自动对作业成批处理。(内存始终只保持一道作业---单道批处理)
缺点:内存浪费,不能充分利用系统资源
4、多道批处理:所提交的作业先存入外存,排成“后备队列”,再由作业调度程序按算法从队列调若干作业入内存。
优缺点:资源利用率高、系统吞吐量大、平均周转时间长、无交互能力
5、分时系统:作业直接进入内存,采用轮转运行方式,系统配置一个多路卡(实现分时多路复用),及时接收用户终端命令(数据)。
特征:多路性、独立性、及时性、交互性
6、实时系统:系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务的协调一致的运行。
特征:多路性(周期性信息采集,多个对象或执行机构进行控制)、独立性、及时性、交互性、可靠性(多级容错措施)
4、基本特征:
1、并发:引入进程,并行并发,系统程序独立并发执行,提高资源利用率,增加系统吞吐量。
2、共享:
①互斥共享,一段时间内只允许一个进程访问资源(临界资源)。
②同时共享,允许一段时间内多进程“同时”访问。
3、虚拟:提高通信信道的利用率--“虚拟”技术,通过“空分复用”或“时分复用”,将一条物理信道(实)变为若干条逻辑信道(虚)。
空分复用:利用存储器的空闲空间分区域存放和运行其他的多道程序
时分复用:利用处理机的空闲时间运行其他程序
4、异步:进程以不可预知的速度向前推进。
5、主要功能:
1、处理机管理功能:
①进程控制:创建和撤销进程,分配资源、资源回收,控制进程运行过程中的状态转换。
②进程同步:多进程运行进行协调--进程互斥(临界资源上锁)、进程同步。
③进程通信:实现相互合作之间的进程的信息交换。
④调度:作业调度,进程调度。
2、存储器管理功能:为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。
①内存分配:静态分配、动态分配。
②内存保护:各在其内存空间内运行(设两界限寄存器),互不干扰。
③地址映射:地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。
④内存扩充:借助于虚拟存储技术,逻辑上扩充内存容量。
3、设备管理功能:完成用户进程提出的I/O请求,为其分配所需I/O设备,完成指定I/O操作;提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
①缓冲管理
②设备分配
③设备处理:设备驱动程序,用于实现CPU和设备控制器之间的通信。
4、文件管理功能:对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。
①文件存储空间的管理:为文件分配合理外存空间,文件存储空间的使用情况。
②目录管理:为每个文件建立一个目录项。
③文件的读/写管理和保护
5、操作系统与用户之间的接口:用户接口,程序接口
6、微内核操作系统:
①内核足够小
②基于客户/服务器
③“机制与策略分离”原理
④面向对象技术
1、前趋图:用于描述程序执行先后顺序 P1->P2,是指一个有向无循环图。
程序的顺序执行:按照某种先后次序顺序执行,仅当前一程序执行完后,才运行后一段程序。
顺序性、封闭性、可在现性
输入操作I->计算操作C->打印操作P
程序的并发执行:间断性、失去封闭性、不可再现性
2、进程
1、定义:
程序的一次执行,顺序执行时所发生的活动,是具有独立功能的程序在一个数据集合上的运行过程,系统资源调配的独立单位。
2、实体:
即进程,由程序段、相关的数据段和PCB组成,所谓创建和撤销进程实际是对其中的PCB的创建和撤销。(PCB:进程控制块Process Control Block)
3、特征:
①动态性 ②并发性 ③独立性 ④异步性
3、进程的三种基本状态:就绪、执行、阻塞状态(阻塞原因:I/O请求、申请缓冲区失败等)
1、进程状态的转换:
2、进程的挂起suspend:进程处于静止状态,暂停执行(执行状态下挂起),暂不接受调度(就绪状态下挂起)。是基于系统和用户的需求。
3、进程的激活active:先将进程从外存调入内存,检查进程现行状态,静止-->活动
4、进程控制块PCB:
1、记录系统所需,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中记录型数据结构。
2、作用:一个在多道程序环境下不能独立运行的程序成为一个能独立执行的基本单位,一个能与其他进程并发执行的进程。
3、三种组织方式: