OS-系统概论(一)

操作系统的资源管理技术

为处理物理资源不足和资源易用性

1.资源复用 处理物理资源数量不足,让多进程共享物理资源
空分复用共享
eg:内存与外存(磁盘)的资源(多个进程可同时进入内存)
时分复用共享——多道程序设计
独占式——磁带机
共享式——磁盘机、处理器资源的使用

2.虚拟 处理物理资源数量不足
外部设备同时联机操作(SPOOLing)——(打印机)
存储虚拟(虚拟内存)
虚拟文件系统(VFS)

3.抽象 解决资源易用性,处理系统复杂性
进程抽象
虚存抽象
文件抽象

4.组合使用资源管理技术
虚拟打印机
虚拟技术
多窗口软件

操作系统的三个基础抽象

进程抽象

在这里插入图片描述

虚存抽象

在这里插入图片描述

文件抽象

在这里插入图片描述

基础抽象的关系

基础抽象的关系

扫描二维码关注公众号,回复: 9509435 查看本文章

操作系统的五项功能

资源:
操作系统中能分配给用户使用的硬件和软件设施总称为资源,包括:1硬件资源,2软件资源

硬件资源:处理器、存储器、I/O设备等
信息资源:程序和数据等
管理的资源包括操作系统(OS)本身

处理器管理
(1)进程控制和管理
(2)进程同步和互斥
(3)进程通信
(4)进程死锁
(5)线程控制和管理
(6)处理器调度,分为高级调度,中级调度和低级调度

存储管理
(1)内存分配
(2)地址转换
(3)存储保护
(4)内存共享
(5)存储扩充

设备管理
(1)提供设备中断处理
(2)提供缓冲区管理
(3)提供设备独立性,实现逻辑设备到物理设备之间的映射
(4)设备的分配和回收
(5)实现共享型设备的驱动调度
(6)实现虚拟设备

文件管理
(1)提供文件的逻辑组织方法
(2)提供文件的物理组织方法
(3)提供文件的存取和使用方法
(4)实现文件的目录管理
(5)实现文件的共享和安全性控制
(6)实现文件的存储空间管理

网络与通信管理
(1)网络资源管理
(2)数据通信管理
(3)应用服务
(4)网络管理

操作系统的四种特性

并发性
指两个或两个以上的事件或活动在同一时间间隔内发生
实现并发技术的关键之一是如何对系统内的多个活动(进程)进行切换的技术
并行性
两个或两个以上的事件或活动在同一时刻发生
并发与并行的关系
并行的时间或活动一定是并发的,但反之并发的事件或活动未必是并行的
并行性是并发性的特例,并发性是并行性的扩展

共享性
指操作系统中的资源可以被多个并发执行的进程(或线程)所使用
透明资源共享和独占资源共享
透明资源共享:资源隔离与授权访问
独占资源共享:临界资源与独占访问
互斥共享方式与同时访问方式
互斥共享方式:在一段时间内只允许一个机芯访问的资源成为临界资源或独占资源。临界资源要求被互斥共享
同时访问方式:允许一段时间内多个进程“同时”进行访问。“同时“往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。
并发和共享的关系
并发和共享是操作系统的两个最基本的特征,它们互为存在的条件
虚拟性

异步性
并发执行的进程是以人们不可预知的速度向前推进,此即为异步性。
主要特性总结:
在这里插入图片描述
在这里插入图片描述

多道程序设计:

(1)同时在内存中装有若干道程序,并使它们交替地运行
(2)保持了CPU和设备都尽量处于忙碌状态,提高CPU的利用率
(3)进一步提高了资源的利用率和系统吞吐量
(4)从宏观上看是并行的,从微观上看是串行的,各道程序轮流占用CPU交替地执行

多道程序设计优点和缺点
优点:
(1)提高了CPU利用率
(2)提高了主存和I/O设备的利用率
(3)改进了系统的吞吐率
(4)充分发挥了操作系统的并行性
缺点:
(1)作业周转时间延长
实现多道程序设计须解决三个问题
(1)存储保护(程序错误相互不影响)、程序浮动(程序地址转移到别的区)和内存扩充
(2)处理器的管理和调度(调度算法、提高处理器利用率)
(3)系统资源的管理和调度(提高资源利用率)

操作系统的分类:

(1)批处理操作系统
批处理操作系统服务于一系列的称为批的作业,作业是把程序、数据连同作业说明书组织起来的任务单位。
把批中的作业先输入作业队列中,由操作系统按照作业说明书的要求来调度和控制作业的执行。
特点:最先采用多道程序设计技术。批量集中处理、多道程序运行、作业脱机工作
优点:系统资源利用率高,作业吞吐量大
缺点:左右周转时间延长,不具备交互式计算能力,不利于程序开发和调试

(2)分时操作系统
多个联机用户同时使用一个计算机系统在各自的终端上进行交互式会话,以问答的方式控制程序运行。系统把处理器的时间划分为片,轮流的分给各个终端。若时间片用完则产生时钟中断
控制权转交给操作系统并重新进行调度。如果原程序未完成,那么就挂起并等待再次分得时间片。由于调试程序的用户经常发送简短命令。因此总能够得到快速响应。好像用户独占了计算机系统一样。
特点:同时性,独立性,及时性,交互性

(3)对比
目标:批处理追求提高利用率,分时追求公平,要求快速响应
适应作业:批处理适合已调试大型作业,分时适合未完成调试小型作业
资源利用率:批处理利用率最佳,分时公平,调度开销小

(3)实时操作系统
当外部时间或数据产生时,能够对其进行予以接受并且以足够快的速度进行处理。所得结果能够在规定的时间内控制生产过程或对控制对象作出快速的响应。并控制所有实时任务协调运行。

实时系统与分时系统特征的比较
(1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。

(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。

(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。

(4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。

(5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。(容错措施:恢复快(通过检查点)、多版本技术、异常处理)

系统调用和函数调用的区别:

系统调用:
通俗的讲,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。
函数调用:
运行在用户空间。通过压栈操作来进行函数调用。
例如,函数调用会执行下列操作:
⒈ 将帧指针压入栈中:pushebp
⒉ 使得帧指针等于栈指针:movebp,esp
⒊ 使栈指针自减,自减得到的内存地址应当能够(足够)用来存储被调用函数的本地状态:sub esp,0CCh

不同点:

(1)调用形式和实现方式不同:
函数调用所转向的地址是固定不变的,但系统调用中不包含内核服务例程入口,只提供功能号,按功能号调用,函数调用是在用户态执行的。只能访问用户栈,系统调用要通过陷阱机制,从用户态转到内核态,服务例程在内核态执行并访问内核栈。如下图:
(应用程序执行系统调用,产生中断,转向内核态,进入陷阱处理程序,它将按功能号来查询入口地址表,并转至对应服务例程执行,完成后退回中断,返回应用程序断点继续进行。)

(2)被调用代码的位置不同,函数调用是静态调用,调用程序和被调用代码处同一程序内,经链接后可作为目标代码的一部分。当函数升级或者修改时,必须重新进行编译和链接,系统调用是动态调用,系统调用的服务例程存放于操作系统中,当系统调用的服务例程修改时,与调用程序无关,而且调用程序的长度大卫缩短,能减少其所占的内存空间。

(3)提供方式不同:函数调用通常由编程语言提供,不同语言所提供的函数功能类型和数量可以不同,系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、类型和数量便固定不变了。
在这里插入图片描述

操作系统内核:

内核是一组程序模块,可以做为可信软件来提供支持进程并发执行的基本功能和操作,,通常驻留在内核空间,运行于内核态。具有直接访问硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
内核的功能:
(1)中断处理:中断程序时内核的基本功能,为了缩短屏蔽中断的时间,增加系统内的并发性,通常它仅仅进行优先、简单的处理。然后将其余任务交给可中断的例程完成。

(2)时钟管理:分配时间片、发送和接受控制信号、系统定时阻塞和唤醒进程。

(3)短程调度短程调度的任务是分配处理器,按照一定的策略管理处理器的调度以及完成保护和恢复现场。

(4)原语管理:为了协调进程通信和并发执行和共享资源,各种原语是必不可少的。

内核的属性:
(1)内核是由中断驱动的
只有当中断或异常发生时,由硬件交换程序状态字才引出操作系统内核进行中断或异常事件处理。当处理完中断事件后自动退出。

(2)内核是不可抢占式:
早期操作系统不支持内核抢占,只有当内核自己愿意释放处理器时,才会被其他任务抢占。但现在支持抢占。

(3)内核可以在屏蔽中断状态下执行:内核执行进入临界区时,为了避免竞争条件,往往会在屏蔽中断情况下运行。

(4)内核可以使用特权指令。:这些指令只能在内核态下使用,如:I/O、状态修改、内存清楚等,以防止系统出现混乱。

题目

思考题

3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?
答:操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.
主要作用:(1)服务用户一操作系统作为用户接口和公共服务程序
(2)进程交互-操作系统作为进程执行的控制者和协调者
(3)系统实现一操作系统作为扩展机或虚拟机
(4)资源管理-操作系统作为资源的管理者和控制者

10.试述系统调用与函数(过程)调用之间的区别。
(1) 调用形式和实现方式不同;
(2) 被调用的代码位置不同;
(3) 提供方式不同

15.什么是多道程序设计?多道程序设计有什么特点?
多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1) 可以提高CPU、内存和设备的利用率;
(2) 可以提高系统的吞吐率,使单位时间内完成的作业数目增加;
(3) 可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。

23·现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。

27.什么是操作系统的内核?
内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。

35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1) 时分复用共享资源从时间上分割成更小的单位供进程使用;
(2) 空分复用共享资源从空间上分割成更小的单位供进程使用。

应用题

2、答:画出两道程序并发执行图如下:
在这里插入图片描述
(1)两道程序运行期间, CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
(2)程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见图中有色部分)。

5、答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):
在这里插入图片描述
(1) Job1从投入到运行完成需80ms, Job2从投入到运行完成需90ms, Job3从投入到运行完成需90ms.
(2) CPU空闲时间段为: 60ms至70ms, 80ms至90ms。所以CPU利用率为 (90-20)/90=77.78%.
(3)设备1空闲时间段为: 20ms至40ms,故11的利用率为(90-20)/90-77.78%。设备12空闲时间段为: 30ms至50ms,故12的利用率为(90-20)/90=77.78%。

发布了26 篇原创文章 · 获赞 39 · 访问量 5120

猜你喜欢

转载自blog.csdn.net/DengShengL/article/details/90900156