第一章、操作系统引论
一、操作系统基础
1、操作系统的定义:
操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。
2、操作系统的目标: 方便、有效(提高系统资源的利用率,提高系统的吞吐量)、可扩充(模块化,层次化,微内核)、
开放
3、操作系统的作用:
做用户和计算机硬件系统之间的接口(命令,系统调用,图标-窗口),
管理资源(处理机,存储器,I/O设备,文件),
资源的抽象
4、操作系统发展动力:提高利用率、更加方便、应用需求/体系结构/
硬件不断发展
二 计算机发展史
1、无操作系统:
人工操作(用户独占全机、CPU等待人工操作、内存长期空闲),
脱机输入/输出(Off-Line I/O)(装好纸带再上机,节约CPU空间时间,提高I/O速度)
2、单道批处理系统:
有个监督程序将磁带上的作业调入计算机,缺点是I/O太慢了,CPU空闲
3、多批道处理系统:
描述:
作业放入外存,形成队列,间隔执行。
优点:资源利用率高,系统吞吐量大
缺点:平均周期长、无交互能力
存在问题:处理机,内存,I/O,文件,作业,接口
4、分时系统
描述:提供多个终端,多个用户使用,命令-反馈-命令第一章
优点:人机交互,多用户共享主机,
实际实现:
终端有缓冲区暂存用户命令,作业直接进入内存,时间片轮转方式(每个作业执行一个时间片,换下一个)
特征:多路性,独立性,及时性,交互性,
5、实时系统
描述:
及时响应,规定时间内完成,控制所以实时任务协调一致的运行
类型:工业(武器)控制系统、信息查询系统、多媒体系统、嵌入式系统
实时任务的类型:周期性实时(指定周期)和非周期实时(开始截至和完成截止),硬实时(工业和武器,必须按时)和软实时(偶尔错,信息查询和多媒体)
和分时系统比较:多路性、独立性、及时性、交互性、可靠性
6、微机时代
a、单用户单任务:一个用户,执行一个任务8位机。CP/M,16位机MS-DOS
b、单用户多任务:一个用户,并发执行多个任务。Windows
c、多用户多任务:多个用户共享主机,并发执行多个任务。Unix、Solaris、Linux
三、操作系统的基本特征
1、并发
a、并发和并行宏观上一样
并发:两个或多个事件在
同一时间间隔内发生。单处理机系统,微观上交替运行
并行:两个或多个事件在
同一时刻发生。 多处理机系统,微观上同时运行
b、进入进程
进程:
在系统中能独立运行并作为资源分配的基本单位,由机器指令、数据和堆栈组成,是独立运行的活动实体。
多个进程之间可以并发执行和交换信息
2、共享
概念:
系统中资源可供内存中多个并发执行的进程共同使用。
a
.互斥共享方式
描述:提出申请,资源空闲使用,不然等待
例子:打印机、磁带机等临界资源(同一时间只允许一个进程访问)
b
.同时访问方式
描述:
允许多个进程“同时”访问,微观还是交替进行
例子:磁盘设备
共享以进程的并发为条件,系统不能对共享有效管理,影响进程的并发
3、虚拟
概念:通过某种技术让一个物理实体变成若干逻辑上的对应物的功能。(虚拟处理机,虚拟内存,虚拟外部设备,虚拟信道)(多重影分身之术)
a.时分复用技术
描述:利用某设备为一用户服务的空闲时间,为其他用户服务,使设备得到最充分的利用
虚拟处理机技术:利用多道程序设计,每个程序至少一个进程,让多道程序并发
虚拟设备技术:将I/O设备虚拟为多台逻辑上的I/O设备
平均速度<=1/N
b.空分复用技术
描述:
利用存储器的空闲空间分区域存放和运行其他的多道程序,以此提高内存的利用率
虚拟存储技术:通过分时复用内存,100M的程序运行在30M内存中,各部分分时进入内存运行
空间占用<=1/N
4、异步
描述:就是为了让进程更好的并发,系统会分配进程的执行顺序(走走停停)
四、操作系统的主要功能
处理机管理,存储器管理,I/O设备管理,文件管理,提供接口
1、处理机管理
a.进程控制:为作业创建进程、撤销已结束的进程,控制进程在运行中的状态转换
b
.进程同步:为多个进程(含线程)的运行进行协调(进程互斥方式,进程同步方式)
c.进程通信:实现相互合作进程之间的信息交换
d.调度:作业调度(从后备队列选出作业,创建进程,插入就绪队列)和进程调度(从进程的就绪队列选出进程分配处理机,投入执行)
2、存储器管理
内存分配和回收、内存保护、地址映射、内存扩充
a.
内存分配:
任务:分配空间,减少碎片内存,追加内存空间
实现:静态分配,装入内存时确定,不允许追加,不允许移动;动态分配,装入内存时确定,可以追加和移动
b.内存保护
任务:在自己空间运行,互不干扰;不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中执行
内存保护机制:设置两个界限寄存器(上界和下界),对每条指令要访问的地址进行检查,如果越界就停止该程序
c.
地址映射
任务:将地址空间中的
逻辑地址转为内存空间的
物理地址。在硬件的支持下完成
d
.内存扩充
任务:用虚拟存储技术,从逻辑上扩充内存容量
内存扩充机制:
请求调入(装入
部分用户程序和数据就能启动程序,后续再将其他部分调入内存),
置换(若内存不够,将暂时不用的程序和数据
调至硬盘)
3、设备管理
任务1:完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作
任务2:提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备
缓冲管理,设备分配,设备处理,虚拟设备
a.缓冲管理
作用:有效地缓和CPU和I/O设备速度不匹配的矛盾,提高了CPU的利用率,进而提高系统吞吐量
手段:
在内存中设置缓冲区,增加缓冲区容量
缓冲区机制:单缓冲,双缓冲(能实现双向同时传送数据),公用缓冲池(能供多个设备同时使用)
b.设备分配
任务:根据用户进程的I/O请求。系统现有资源情况以及按照某种设备分配策略,为之分配所需的设备
手段:系统中设置
设备控制表、
控制器控制表等数据结构,用以记录设备及控制器等标识符和状态。根据这些表就能知道指定设备是否可用,是否忙碌。
针对不同的设备类型采用不同的设备分配方式。对
独占设备的分配还应考虑分配出去后系统
是否安全。
c.设备处理
任务:
用于实现CPU和设备控制器之间的通信(CPU向设备控制器发出I/O命令,要求他完成指定的I/O操作;CPU接收从控制器发来的中断请求,并给予迅速的响应和处理)
处理过程:检查I/O请求的合法性、设备状态是否空闲,读取有关参数、设置设备的工作方式,然后向设备控制器发出I/O命令,启动I/O设备完成指定的I/O操作。
4、文件管理
任务:对用户文件和系统文件进行管理以便用户使用,并保证文件的安全性
文件存储空间的管理,目录管理,文件的读写管理,文件的共享和保护
a.文件存储空间的管理
背景:多用户环境,用户自己管理文件存储,困难且低效
任务1:为每个文件
分配额外的外存空间,
提高外存利用率,进而提高存取速度
任务2:设置相应的数据结构,记录文件存储空间使用情况,以供分配时参考
任务3:分配和回收存储空间
b.目录管理
为了使用户能方便地在外存上找到自己所需的文件,通常由系统为每个文件建立一个目录项。目录项包括文件名、文件属性、文件在磁盘上的物理位置等。由若干个目录项又可构成一个目录文件
任务1:为每个文件建立一个目录项,并对众多的目录项加以有效的组织,以实现方便的
按名存取(即用户只需提供文件名,就能对该文件进行存取)
任务2:实现文件共享,只需在外存保留一份该共享文件的副本
任务3:提供快速的
目录查询手段,以提高对文件的检索速度
c.文件读写管理
任务:根据用户的请求,从
外存读取数据或将
数据写入外存
过程:根据文件名检索文件目录获得外存地址,利用读写指针对文件进行读写,然后修改读写指针,等待下一次读写。读写不会同时进行,所以共用一个指针
d.文件保护
1.防止未经核准的用户存取文件
2.防止
冒名顶替存取文件
3.防止
以不正确的方式使用文件
5、操作系统与用户间的接口
a.用户接口
描述:方便用户直接或间接地控制自己的作业
1、联机用户接口:由
一组键盘操作命令及命令解释程序组成。
用户通过先后键入不同的命令来实现对作业的控制。
2、脱机用户接口:为
批处理作业的用户提供,由
作业控制语言JCL组成。用户把
对作业进行控制和干预的命令写在作业说明书中,和
作业一起提供给系统。
调用命令解释程序按照说明书执行,遇到作业结束语句停止。
3、图形用户接口:把各项功能、应用等封装成图标,选种图标即可执行相应操作。
b.程序接口:
描述:为用户程序在执行中访问系统资源而设置,是用户取得操作系统服务的唯一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种功能时,便调用具有相应功能的系统调用
第二章 进程的描述和控制
一、进程的基本概念
程序有顺序执行和并发执行
顺序执行:单道批处理系统,用户独占资源
并发执行:多道程序系统,多道程序并发执行,共享资源,引入进程的概念
1、程序的顺序执行及其特征
仅当前一操作(程序段)执行完后,才能执行后继操作。S1: a∶=x+y; S2: b∶=a-5; S3: c∶=b+1;
在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。