操作系统引论

目录

一、前言

二、操作系统引论

1.操作系统的目标和作用

(1)OS目标

(2)OS作用

2.操作系统的发展过程

(1)无OS(了解)

①人工操作方式

② 脱机I/O方式

 (2)有OS

①批处理系统

Ⅰ单道批处理系统

Ⅱ多道批处理系统

 ②分时系统

③实时系统

3.操作系统的基本特性

(1)并发

(2)共享

(3)虚拟

(4)异步性

4.操作系统的主要功能(掌握,后续仔细讲解)

(1)处理机管理

①进程控制

②进程同步

③进程通信

④调度

(2)存储器管理

①内存分配

②内存保护

③地址映射

④ 内存扩充

 (3)设备管理

① 缓冲管理

②设备分配

(4)文件管理

①文件存储空间的管理

②目录管理

③文件的读/写管理和保护

5.OS结构设计

(1)传统操作系统结构

①无结构操作系统结构

②模块化操作系统结构

③分层式操作系统结构

 (2)现代操作系统结构


一、前言

操作系统是一门涉及较多硬件的系统软件课程,既涉及硬件资源管理又设计软件算法。主要掌握操作系统的四大管理功能

以下是需要学习所有内容

688881b545f14092b5cf32e436a81ccc.png

58e044e51c2149e6aa804ced22219e58.png

学习时计算机所占角度是单cpu、多任务、cpu具有与外设 并行操作的能力。

OS定义:OS是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合

二、操作系统引论

1.操作系统的目标和作用

(1)OS目标

不同类型的OS目标侧重有所不同,通常计算机硬件上配置的OS,其目标有以下几点:

  • 有效性【一提高系统资源利用率;二提高系统的吞吐量(单位时间内处理的任务数)】
  • 方便性
  • 可扩充性【OS应满足硬件的不断发展】
  • 开放性【不同厂家生产不同设备,OS要能够兼容各个产商的设备,又叫兼容性】

(2)OS作用

  • 作为用户和计算机间的接口【OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统】                                   0ca7b82ba96249898b05d6a758483d71.png
  • 作为计算机系统资源的管理者【处理机管理、存储管理、设备管理、文件管理】

    4a5a48cfbd0f44afa67e599fcc121c48.png

  • 实现了对计算机资源的抽象

    c4aeb54a6cb2407dafd0a7ec203e8d04.png

推动os发展的主要动力

  • 不断提高计算机资源的利用率
  • 方便用户
  • 元器件的不断更新换代
  • 计算机体系结构的不断发展 

2.操作系统的发展过程

(1)无OS(了解)

①人工操作方式

  • 1946-50年代中:电子管时代,计算机速度慢,无操作系统,集中计算,计算机资源昂贵
  • 工作方式——用户:既是程序员又是操作员,用户是专业人员;输入输出:纸带或卡片;缺点:用户独占全机,CPU等待人工操作【装、卸带等人工操作时,CPU及内存等资源处于空闲状态】                                          

    d6d069e7bf7c48839056e50a03a973d3.png

② 脱机I/O方式

1467cbe12d274de585b62c41efeb0809.png

优点:减少了CPU的空闲时间;提高了I/O速度

 (2)有OS

操作系统有:批处理系统、分时系统、实时系统

①批处理系统

用户使用系统提供的作业控制语言(JCL)来描述自己对作业运行的控制意图,并将这些控制信息连同作业一起提交给计算机【爸爸布置了一些作业,将作业计划表给儿子】

由OS去控制、调度各作业的运行并输出结果【儿子独自完成作业,爸爸不打扰儿子,最后将作业结果交给爸爸】

由于作业进入系统用户不再干预,从而提高了效率【儿子做作业,爸爸不去干预】

设计目标:提高有效性

 批处理系统分为单道批处理系统和多道批处理系统

Ⅰ单道批处理系统

单道是指在内存当中只有一个作业或一个程序或一个进程,内存外还有很多作业等待处理

单道批处理系统,为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理

23d6b0285f0f47be9d630126b8f58798.png

缺点:系统中的资源得不到充分的利用【因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行,又因I/O设备的低速性,更使CPU利用率显著降低,如下图单道程序的运行情况,t2~t3、t6~t7时间间隔内CPU空虚】

aab78e71306e4b4e9d44fa8fa2428a76.png

为提高计算机系统的性能,提高有效性,引入多道批处理系统

Ⅱ多道批处理系统

多道就是多道程序或多个进程或多个任务

在多道批处理系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。【调入内存,共享cpu、资源,但没有得到cpu调度,使用进程调度,选中一个进程分配cpu(因为cpu只能处理一个进程)】

560aa3ecc92649f4b496ed101f396550.png

优点:资源利用率高、系统吞吐量大

缺点周转时间变长【周转时间指从程序发出请求一直到被处理完成所经历的全部时间】、无交互能力【在执行过程中,某程序需要使用某资源,但这个资源正在被另一程序所使用,那么该程序必须等到另一程序用完释放之后才能使用这个资源】

 多批道处理系统为使系统中多道程序间能协调地运行,需要解决的问题——

  • 处理机争用问题
  • 内存分配和保护问题【系统应为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其他程序】
  • I/O设备分配问题【以使得既能方便用户对设备的使用,又能提高设备利用率】
  • 文件的组织和管理问题【用户程序的执行离不开数据】
  • 作业管理问题【合理组织作业,以满足这些作业用户的不同要求】
  • 用户与系统的接口问题

问题1:有三个程序A、B、C,它们使用同一个设备进行I/O操作,并按A、B、C的优先次序执行。这三个程序的计算和I/O操作时间表如下表所示。假设调度的时间可忽略不计,请分别画出单道程序环境和多道程序环境下(假设内存中可同时装入这三道程序)它们运行的时间关系图,并比较它们的总运行时间。

993592037b544042ad283b1431694f25.png

15179b668b604203a07b209ace63f09a.png

 ②分时系统

什么是分时系统?

一台计算机连接多个终端,用户通过各自的终端把作业送入计算机;计算机又通过终端向各个用户报告其作业的运行情况【如上网课,学生通过自己的电脑看到老师上课的课件,听到声音】

键盘、鼠标、打印机、扫描仪是计算机相连的4个终端

计算机能分时轮流地为各终端用户服务,并能及时地对用户服务请求予以响应【上网时可以听歌】

如下图,计算机给每个终端用户分配一个时间片,没个终端分配100ms时间,在第一个100ms时服务第一个终端,100ms后该终端自动放弃cpu,cpu调度第二个终端

196c372a9243437e84ad42af47c67605.png

目标:对用户的请求及时响应;尽量提高系统资源的利用率【单cpu要轮流地执行多个用户请求,就要尽量提高cpu利用率,从而保证各个终端用户的请求得到响应】

终端多了必然会导致用户被响应的时间延迟,要花费很长时间才能完成一个时间片周期 

 分时系统基本特征

  • 多路性【有多个终端,每个终端都可以提交你的任务,cpu轮流分时地服务】
  • 独立性【终端之间没有任何关系,相互独立】
  • 及时性【保证宏观上能在给定时间周期内让所有终端用户的操作请求被响应】
  • 交互性【等时间片结束终端用户自动放弃资源;而且在给其他用户提供服务的过程中也可以交互】

③实时系统

实时系统:提高系统的响应时间,对随机发生的外部事件做出及时响应并在规定时间内对其进行处理(高大上系统,一般人接触不到)

  • 实时控制系统                                                                                                                              要求计算机能尽快处理测量系统测得的数据,以尽快实施响应控制。如:工业控制、导弹发射、飞机飞行【对时间要求特别严格】
  • 实时信息系统                                                                                                                            要求计算机能对终端设备发来的服务请求及时予以正确的回答。如:订票系统、股票交易系统【对时间要求没那么严格】

实时任务按任务执行时是否呈现周期性来划分——周期性实时任务(每隔二十秒来一个任务)、非周期性实时任务

实时任务根据截止时间的要求划分——硬实时任务(系统必须满足任务对截止时间的要求)、软实时任务(偶尔错过了任务的截止时间,对系统产生的影响也不会太大)

实时系统基本特征:①快速的响应时间;②有限的交互能力;③高可靠性

 多路性独立性及时性交互性可靠性
批处理系统差(天、时)一般
分时系统多终端服务好(分、秒)可靠
实时系统多路采集、多路控制最好(ms、us)一般高度可靠

3.操作系统的基本特性

前面介绍的多道批处理系统、分时系统和实时系统具有各自不同的特征,如批处理系统有着高的资源利用率和系统吞吐量;分时系统能获得及时响应;实时系统具有实时特征。      

 除此之外,它们还共同具有并发、共享、虚拟和异步四个基本特征。

(1)并发

并发:指两个或多个事件在同一时间间隔内发生

并行:指两个或多个事件在同一时刻发生

因为并发提高有效性

程序是由若干条指令所构成的指令集合,是静态的;进程是程序的依次执行过程,将程序装入内存后为它分配一到多个进程(基于程序的复杂度),进程是动态的,进程是有生命周期的,因为创建而产生、调度而执行、撤销而灭亡

(2)共享

指系统中的资源供内存中的多道程序所共同使用

共享分为互斥共享方式(打印机)和同时访问方式(磁盘)

(3)虚拟

指通过某种技术把一个物理实体变成若干个逻辑上的对应物。例如,分时系统将一机虚拟为多机(边打游戏边听课就像把一台计算机当成了两台计算机处理两个任务)

虚拟技术分为——

  • 时分复用技术(把cpu的时间分成了若干个时间片,在每一个时间片为一个用户服务,轮流地为多个用户提供服务)
  • 空分复用技术(磁盘分盘)

(4)异步性

在多道程序环境下,进程并发执行。若正在执行的进程请求资源(如打印机)时该资源正被其他进程使用,则需等待并释放处理机,直至资源空闲并重新获得处理机后方能继续执行。

可见,由于共享资源,系统中并发执行的多道程序“走走停停”(通常都不可能“一气呵成”),以不可预知的速度向前推进

4.操作系统的主要功能(掌握,后续仔细讲解)

 在传统的OS中应具有处理机管理、存储器管理、设备管理和文件管理等基本功能。

(1)处理机管理

cpu管理实际上时对进程的管理

①进程控制

在多道程序环境下,会从后备队列中选中若干个作业,为这些作业在内存中创建一个或多个进程,并为之分配必要的资源,根据某种进程调度算法选中其中一个进程,给它分配cpu,让这个进程去执行。

当进程运行结束时,立即撤销该进程,以便能即使回收该进程所占用的各类资源,否则下一个进程可能无法使用这些资源。

进程控制的主要功能时为作业创建进程、撤销已结束的进程,以及控制进程在运行过程中的状态转换

②进程同步

进程同步是为多个进程(含线程)的运行进行协调(让多个进程能有条不絮地运行)。

两种协调方式——

  • 进程互斥方式【进程(线程)访问临界资源时,采用互斥方式】
  • 进程同步方式:指在相互合作去完成共同任务的诸进程(线程)间,由同步机构对他们的执行次序加以协调【比如输入进程、计算进程和打印进程,先通过输入进程输入数据,计算进程才能计算这个数据,计算完毕后,打印机才能打印出这个计算结果】

③进程通信

进程通信用于实现在相互合作的进程之间的信息交换。例如,输入进程将所输入的数据传送给计算进程;计算进程利用输入数据进行计算,并把计算结果传送给打印进程;最后由打印进程把计算结果打印出来

④调度

传统操作系统包括作业调度和进程调度两步

  • 作业调度:从后备队列中按照一定的算法,选择出若干个作业,为他们分配必要的资源(首先是分配内存),再将它们调入内存后,便分别为他们建立进程(就绪进程),并按照一定短发将它们插入就绪队列
  • 进程调度:从进程的就绪队列中选出一进程,分配cpu执行

(2)存储器管理

存储器管理实际指内存管理

①内存分配

内存分配方式有静态和动态两种——

  • 静态分配:每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”【搞活动班长找了间100人教室,足够班上同学坐进去,但如果同学们邀请了别的班同学就不够坐了】
  • 动态分配:每个作业所要求的基本内存空间也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。

程序运行过程中想要去完善、扩充,使用静态分配就可能让扩充的程序无法装到内存中

②内存保护

确保每道用户程序只在自己的内存空间内运行,彼此互不干扰。

而这需要设置内存保护机制,一种简单的保护机制是设置两个界限寄存器,分别存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,停止该程序执行

③地址映射

在多道程序环境下,每道程序经编译后形成若干个目标程序;再经过链接形成可装入程序,这些程序的地址都是从0开始的,程序中其他地址基于起始地址计算,但不可能将它们从“0”地址(物理)开始装入内存,这致使(各程序段的)地址空间内的逻辑地址与其在内存空间中的物理地址并不相一致。

存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址,该功能应在硬件的支持下完成

④ 内存扩充

内存中有一些程序或进程在很长一段时间里不需要执行,可以暂时把它们从内存调到外存,从而释放出一定的内存空间。

这在逻辑上扩充了内存,为此系统必须具有内存扩充机制来实现下述功能——

  • 请求调用功能(当前面所调出的程序或进程需要执行时,把它们调回内存中)
  • 置换功能(若此时内存满了,需要把同样长时间不执行的程序或进程置换为该程序或进程)

 (3)设备管理

设备管理的主要任务如下

  • 完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作
  • 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备

为此,设备管理应具有缓冲管理、设备分配和设备处理以及虚拟设备等功能

① 缓冲管理

cpu高速和I/O低速的矛盾对着cpu速度提高,严重降低了cpu的利用率。在I.O设备和cpu之间引入缓冲,可有效缓和cpu和I/O设备速度不匹配的矛盾,提高cpu的利用率,进而提高系统吞吐量

②设备分配

 根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备

(4)文件管理

文件管理实际指外存管理

①文件存储空间的管理

为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度

②目录管理

为了使用户能方便地在外存上找到自己所需的文件,通常由系统为每个文件建立一个目录项。目录项包括文件名、文件属性、文件在磁盘上的物理位置等。由若干个目录项又可构成一个目录文件。目录管理为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。其次,目录管理应能实现文件共享,如此只需在外存上保留一份该共享文件的副本。还应能提供快速的目录查询手段,提高对文件的检索速度。

③文件的读/写管理和保护

  • 文件的读/写管理。根据用户的请求,从外存中读取数据或将数据写入外存
  • 文件保护。防止未经核准的用户存取文件;防止冒名顶替存取文件;防止以不正确的方式使用文件

5.OS结构设计

(1)传统操作系统结构

①无结构操作系统结构

OS由众多的过程直接构成,各过程之间可相互调用,但OS内部不存在任何结构,所以这种OS是无结构的,又称为整体系统结构【就像C语言代码都写在主函数】

缺点:既庞大又杂乱,缺乏清晰的程序结构;程序错误多,调试难、阅读理解难、维护难

②模块化操作系统结构

OS采用“模块化程序设计”技术,按其功能划分为若干个独立的模块,管理相应的功能,同时规定好各模块之间的接口,以实现其交互,对较大模块又可按子功能进一步细分下去

840dd7cd4014400091ef51861cba2b20.png

优点

  • 提高了OS设计的正确性、可理解性
  • 容易扩充和维护
  • 加速了OS的开发过程

缺点

  • 模块及接口划分较困难
  • 从功能上划分模块,未区别共享资源和独占资源
  • 由于管理的差异,使OS结构变得不够清晰

③分层式操作系统结构

对模块化结构的一种改进,它按分层式结构设计的基本原则,将OS划分为若干个层次,每一层都只能使用其底层所提供的功能和服务,从硬件开始,在其上面一层一层地自底向上增添相应功能的软件【类似计网中七层网络】

特点:

  • 每一步设计都建立在可靠的基础上,结构更清晰
  • 调试和验证更容易,正确性更高
  • 缺点:系统效率降低了【需要划分很多层次】

 (2)现代操作系统结构

微内核的OS结构:将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现,这就是“客户/服务器”模式。

客户进程通过内核向服务器进程发送请求,以获取OS的服务

特点:

  • 小而精练
  • 系统的灵活性和可扩充性好
  • 系统的可靠性高
  • 适用于分布式系统

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值