正在上,计算机网络没坚持下来,操作系统一定。
适用计算机操作系统(OS)(第四版)
自己的学习笔记,PPT及图片来源网络及自己老师,侵删。
计算机操作系统第一章
第一章操作系统引论
操作系统(OS):操作系统是一组有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
1.1 操作系统的目标和作用
1.1.1 操作系统的目标
在计算机上配置操作系统的主要目的时:方便性、有效性、可扩充性、开放性
1.1.2 操作系统的作用
从用户、资源管理、资源抽象讨论
-
OS作为用户与计算机硬件系统之间的接口:OS处于用户与计算机硬件系统之间,用户通过OS来使用操作系统。
-
OS作为计算机系统资源的管理者:OS对处理机、存储器、I/O设备、文件进行管理,对使用资源请求进行授权。
-
OS实现了对计算机资源的抽象:用户不用再关心计算机底层硬件接口,实现了对计算机资源的抽象。
1.1.3 推动操作系统发展的主要动力
主要推动力:
- 不断提高的计算机资源利用率。
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展
- 不断提出新的应用需求
1.2 操作系统的发展过程
1.2.1 未配置操作系统的计算机系统
-
人工操作方式:使用纸带或卡片的模式。
-
缺点:
- 用户独占全机;一台计算机资源由上机用户独自占有
- CPU等待人工操作;用户进行一些操作时,CPU及内存等资源
是空闲的。
-
矛盾:人机矛盾,CPU与I/O速度不匹配矛盾
-
-
脱机输入/输出(Off-Line I/O)方式:为了解决两个矛盾,事先装好纸带输入机,在外围机控制下输入到磁盘,当CPU需要时再从磁带上高速地调入内存。
-
优点:
- 减少了CPU的空闲时间。
- 提高了I/O速度。
-
1.2.2 单道批处理系统
-
单道批处理系统方式:一批作业脱机方式输入到磁带上,并在系统中配上监督程序,这批作业一个接一个地连续处理。
-
缺点:
- 系统中的资源得不到充分的利用;每逢该程序在在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才能继续运行。
- 系统中的资源得不到充分的利用;每逢该程序在在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才能继续运行。
-
1.2.3 多道批处理系统
-
多道批处理方式:用户提交的作业先存放在外存上,并排成一个队列,然后由作业调度程序按一定的算法,选中若干个程序调入内存,这若干个程序共享CPU与资源。
-
优点:
- 资源利用率高;保持CPU处于忙碌的状态,提高内存利用率,提高I/O利用率。
- 系统吞吐量大;
-
缺点:
- 平均周转时间长;作业排队依次处理,作业周转时间长。
- 无交互能力:作业一旦提交给系统,直至完成,用户都无法与作业进行交互。
-
多道批处理系统需要解决的问题:
- 处理机争用问题
- 内存分配和保护问题
- I/O设备分配问题
- 文件的组织和管理问题
- 作业管理问题
- 用户与系统的接口问题
1.2.4 分时系统
-
分时系统方式的引入:
- 人一机交互
- 共享主机
-
分时系统实现过程中的关键问题
-
及时接收;使用多路卡,快速周期性的扫描终端,同时每一个终端配置一个缓冲区。
-
及时处理;
- 作业直接存入内存
- 采用轮转处理方式;引入了时间片的概念,系统规定每个作业每次只能运行一个时间片,然后就暂停该作业运行,并立即调度下一个作业运行。
-
-
分时系统的特征:
- 多路性;多个用户共享一台计算机。
- 独立性;每个用户彼此之间互不干扰。
- 及时性;用户的请求会在很短的时间内得到相应。
- 交互性;用户可以通过终端与系统进行交互。
1.2.5 实时系统
-
实时系统的方式;系统能及时响应外部事件的请求,并在规定的时间内完成对该事件的处理,并控制所有的实时任务协调一致的运行。
-
实时系统的类型:工业(武器)控制系统、信息查询系统、多媒体系统、嵌入式系统。
-
实时任务的类型
-
周期性实时任务和非周期性实时任务
- 周期性实时任务;外部设备周期性发出激励信号给计算机,要求他按周期循环执行,以便周期性地控制某外部设备。
- 非周期性实时任务;无明显的周期性,但都必须联系着一个截止时间,开始截止时间:在某时间之前必须开始,完成截至时间:在某时间以前必须完成。
-
硬实时任务与软实时任务
- 硬实时任务:系统必须满足任务对截至时间的要求,否则后果难测。
- 软实时任务: 同样联系着一个截至时间,但偶尔错过截止时间,对系统产生的影响也不会太大。
-
-
实时系统与分时系统特征的比较
1.2.6 微机操作系统
-
单用户单任务操做系统:只允许一个用户上机,只允许用户程序作为一个任务运行。
- CP/M
- MS—DOS
-
单用户多任务操做系统:只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。
- win95
-
多用户多任务操做系统 :允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行。
- Solaris OS
- Linux OS
1.3 操作系统的基本特性(四大特征)
1.3.1 并发
并发性:两个或多个时间在同一时间间隔内发生。
并行性:两个或多个事件在同一时刻发生。
1.3.2 共享
- 互斥共享方式:系统中某些资源(这种资源被称为临界资源),虽然可以提供给多个进程(线程)使用,但规定在一段时间内,只允许一个进程访问该资源。
- 同时访问方式:系统中某些资源,允许在一段时间内由多个进程“同时”对它们进行访问。这种“同时”是宏观上的,微观上来说,这些进程对该资源的访问时交替进行的。
1.3.3 虚拟
大作业放入小内存
1.3.4 异步
- 由于资源等因素的限制,使进程的执行通常都不可能“一气呵成",而是以”停停走走“的方式运行。
- 只要在OS中配置有完善的进程同步机制,且运行环境相同,则作业即便经过多次运行,也都会获得完全相同的结果。
1.4 操作系统的主要功能(五大功能,三硬一软一接口)
1.4.1 处理机管理功能
- 进程控制:为作业创建进程、撤销(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
- 进程同步:为多个进程(含线程)的运行进行协调,使多个进程有条不紊的运行。
- 进程通信:一组进程去完成共同的任务时,在它们之间往往需要交换信息,通常采用直接通信的方式,既由源进程利用发送命令直接将消息挂到目标进程的消息队列上。
- 调度 :包括作业调度、进程调度两部分。
1.4.2 存储器管理功能
存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
-
内存分配:
1)为每道程序分配存储空间。
2)提高存储器 的利用率,尽量减少不可用的“碎片”空间。
3)允许正在运行的程序申请附加内存空间。- 分配方式:静态分配与动态分配,区别在与是否允许作业在运行期间中申请新的附加内存空间与是否允许作业在内存中“移动”。
-
内存保护:
1)保证每道程序互不干扰。
2)绝不允许用户程序访问操作系统的程序与数据,也不允许用户程序转移到非共享的其它用户程序中去执行。 -
地址映射:
可以把地址空间中逻辑地址转换为内存空间中与之对应的物理地址。 -
内存扩充:(虚拟性)
借助虚拟存储技术,从逻辑上扩充内存容量。
1.4.3 设备管理功能
设备管理的任务:
1)完成提出的I/O请求,分配I/O设备,完成指定的I/O操作
2)提高CPU与I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
-
缓冲管理:
解决CPU与I/O设备之间速度不匹配的矛盾。 -
设备分配:
根据用户进程的I/O请求,系统现有资源情况,按照某种分配策略为之分配所需的设备。 -
设备处理:
实现CPU和设备控制器之间的通信.
1.4.4 文件管理功能
- 文件存储空间管理:
为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度。 - 目录管理:
为每一个文件建立一个目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。 - 文件读/写管理和保护
1)文件的读/写管理:根据用户的需求,从外存中读取数据,或将数据写入外存。
2)文件保护:防止系统中的文件被非法盗取和破坏。
1.4.5 操作系统与用户之间的接口
1)用户接口
- 联机用户接口
- 脱机用户接口
- 图形用户接口
2)程序接口
1.5 OS结构设计
一些操作系统的构件简介:
-
内 核 :
- 概念 :内核不是进程,而是提供支持系统运行的基本功能的一组程序模块,内核对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好的运行环境 。
- 分类 :
1)微内核:内核很小,仅具有极少的必须功能,其它功能都在核外实现。通过微内核提供的消息传递机制完成其余功能模块间的联系。内核和核外服务程序的开发是分离的。
2)单内核:内核具有较多的功能,运行时是一个大的二进制映像,模块间的联系通过函数或过程调用实现
-
进程 :
- 概念 :进程是并发程序设计的一个工具,并发程序设计支撑了多道程序设计。
- 进程概念使OS结构变得清晰,主要表现在:
1)一个进程到另一个进程的控制转移由进程调度机构统一管理,不能杂乱无章,随意进行。
2)进程间的信号发送、消息传递和同步互斥由通信及同步机制完成,进程无法有意或无意破坏其它进程的数据。每个进程相对独立,相互隔离,提高了系统的安全性和可靠性。
3)进程结构较好刻画了系统的并发性,动态地描述出系统的执行过程,具有进程结构的操作系统,结构清晰、整齐划一,可维护性好 。
-
线 程 :
- 进程是操作系统中资源分配以及系统调度的基本单位。
- 每个进程拥有自己独立的存储空间和运行环境,进程与进程之间的通信和切换开销相当大,限制了系统中并发执行的进程数目,于是,多线程(结构)进程(也叫多线程)开始流行 。
- 多线程环境中,进程是系统进行保护和资源分配的单位。
- 线程则是进程中一条执行路径,每个进程中允许有多个线程,线程才是系统进行调度的独立单位。
-
管 程 :
- 管程是管理共享资源的程序(一种同步机制),对管程的调用表示对共享资源的请求与释放。
- 管程可以被多个进程或管程嵌套调用,但它们只能互斥地访问管程。
- 管程应包含条件变量,当条件不满足时,可以通过对条件变量做延迟操作使调用进程等待,直到另一个进程调用管程过程并执行一个释放操作为止
- 由于管程的引入,使得原来分散在进程中的临界区集中了起来统一控制和管理。
操作系统的体系结构 :
1.5.1 传统操作系统结构 :
-
无操作系统:为保证功能实现和提高效率,缺乏首尾一致地设计思想。此时地OS是为数众多的一组过程的集合,每个过程可以任意地调用其他过程,致使系统内部既复杂又混乱。
-
模块式结构 :
- 概念 :
又叫模块组合法,按照功能需要而不是根据程序和数据的特性把整个系统分解为若干模块,把所有模块连结成一个完整的系统。 - 优点 :
1)结构紧密、组合方便,对不同环境和用户的不同需求,可以组合不同模块来满足,灵活性大
2)针对某个功能可用最有效的算法和任意调用其他模块中的过程来实现,系统效率较高
3)设计及编码可齐头并进,加快操作系统研制过程 - 缺点 :
1)模块独立性差
2)模块之间牵连甚多,形成复杂的调用关系,甚至循环调用,造成系统结构不清晰,正确性难保证
3)系统功能的增、删、改十分困难
- 概念 :
-
层次式结构 :
- 概念 :
把操作系统划分为内核和若干模块,这些模块排列成若干层次,低层为高层服务。 - 优点 :
1)整体问题局部化,系统的正确性可通过各层正确性来保证
2)增加、修改或替换层次不影响其他层次
3)有利于系统的维护和扩充 - 缺点
1)层次结构是分层单向依赖的,必须要建立模块(进程)间的通信机制,系统花费在通信上的开销较大,系统的效率也就会降低 。
- 概念 :
1.5.2 客户/服务器结构
-
客户/服务器结构(C/S) :
-
组成和类型 :
客户机
服务器
网络系统 -
客户/服务器之间的交互 :
客户机发送请求消息
服务器接收消息
服务器回送消息
客户机接收消息 -
客户/服务器模式的优点 :
1)数据的分布处理和存储
2)便于集中管理
3)灵活性和可扩充性
4)易于改变应用软件 -
缺点 :
存在着不可靠性和瓶颈问题,服务器一旦瘫痪或访问过多,都会引起对应的问题。
-
-
面向对象的程序设计技术 :
- 优点 :
1)通过重用提高产品质量和生产率
2)是系统具有更好的易修改性和易扩展性
3)更易于保证系统的正确性和可靠性
- 优点 :
1.5.4 微内核OS结构
- 微内核OS结构 :
-
概念 :
足够小的内核:在微内核操作系统中,内核是指精心设计的,能实现现代OS基本核心功能的小型内核,微内核并不是一个完整的OS,只是将操作系统最基本的部分放入微内核。 -
基本的功能 :
1)与硬件处理紧密的部分
2)一些较基本的功能
3)客户和服务器之间的通信 -
基于客户/服务器模式 :
提供对进程的管理的进程服务器,提供虚拟存储器管理功能的虚拟存储器服务器,提供io设备管理的服务器等。它们运行在用户态,客户服务器之间借助微内核提供的消息传递机制来实现信息交互。
-
应用”机制与策略分离“原理 :
机制:实现某一功能的具体执行机构;策略:借助于参数和算法来实现该功能的优化。 -
采用面向对象技术:利用结构设计来分解操作系统的复杂性,基于面向对象中的抽象和隐蔽原则控制系统的复杂性,进一步利用对象,封装和继承等概念来保证操作系统的正确性,可靠性,易修改性。
-
微内核的基本功能:
1)进程(线程)管理
2)低级存储器管理
3)中断和陷入处理 -
优点 :
1)提高系统的可扩展性
2)增强系统的可靠性
3)可移植性强
4)提供了对分布式系统的支持
5)融入了面向对象技术 -
存在的问题 :
采用微小内核后,客户服务器模式和消息传递机制带给了操作系统带来了许多优点,但运行效率有所降低。主要原因是在完成一次客户对操作系统提出的请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换。
-