半期复习——第一章:操作系统引论
1.1 操作系统的目标和作用
一、目标(4)
1.方便性: 操作系统使计算机更易于使用。
2.有效性(2): 操作系统允许以更有效的方式使用计算机系统资源。 提高系统资源利用率;提高系统的吞吐量 。
3.可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能。
4.开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境。
方便性和有效性最重要。
二、作用(3)
1.OS作为用户与计算机硬件系统之间的接口
含义:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
用户使用计算机的方式有三种:命令方式、系统调用、图标—窗口方式。
2.OS作为计算机系统资源的管理者(4)
计算机系统资源分为四类:处理机、存储器、I/O 设备、文件。
①处理机管理, 用于分配和控制处理机
②存储器管理,主要负责内存的分配与回收
③I/O设备管理,负责I/O设备的分配与操纵
④文件管理,负责文件的存取、共享和保护
3. OS用作扩充机器,实现对计算机资源的抽象
OS是铺设在计算机硬件上的多层软件集合,不仅增强了系统功能,还隐藏了对硬件的操作细节,实现了对计算机硬件操作的多个层次的抽象模型。
该节其他概念:
1、计算机用户需要的用户命令 :由OS实现的所有用户命令所构成的集合常被人们称为OS的Interface(用户接口);有时也称为命令接口。
2、应用软件需要的System Call(系统调用):由OS实现的所有系统调用所构成的集合被人们称为程序接口或应用编程接口(Application Programming Interface,API)。
3、裸机:完全无软件的计算机系统。
4、通常把覆盖了软件的机器称为扩充机器或虚机器。
1.2 操作系统的发展过程
一、无操作系统(2)
1.人工操作方式
用户独占全机 ,CPU等待人工操作 ,出现了严重的人机矛盾。
2.脱机输入输出方式
主要解决了CPU与设备之间不匹配的矛盾,提高了I/O速度。
二、单道批处理系统
1.系统对作业的处理都是成批进行的,且在内存中始终仅存一道作业运行。单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾中形成的。
2.主要特征:自动性、顺序性、单道性。
3.主要优点:减少人工操作,解决了作业的自动接续。
4.主要缺点:平均周转时间长,没有交互能力。
三、多道批处理系统
1.在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行。
2.推动多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量。
3.主要特征:多道性、无序性、调度性
4.主要优点:提高了资源利用率,系统吞吐量大
5.主要缺点:平均周转时间长,没有交互能力
6.多道批处理系统需要解决的6个问题
①处理机管理:分配和控制CPU
②存储器管理:内存分配与回收
③I/O设备管理:I/O设备的分配与操纵
④文件管理:文件的存取、共享和保护
⑤作业管理:如何组织作业运行
⑥用户和系统的接口问题
四、分时操作系统
1.推动分时系统产生的主要动力:用户对人机交互、共享主机、便于用户上机的需要
2.特点
①多路性:一个主机与多个终端相连;
②独立性:彼此独立操作,互不干扰,给用户“感 觉”独占主机;
③及时性:用户的请求能在很短时间内获得响应;
④交互性:能实现人机对话(区别于批处理系统),表现为可以请求系统提供多方面的服务如打印服务、访问文件系统和数据库系统、进行文件编辑和处理等。
3.分时系统实现中的关键问题
①及时接收:实现多个用户的信息及时接收,配置多路卡,实现分时多路复用。
②及时处理:作业进入内存,采用轮转运行方式。
五、实时系统
1.实时系统类型
①实时控制系统:工业控制,军事控制,医疗控制
②实时信息处理系统:航班定票,联机情报检索
2.实时任务类型
①周期性实时任务/非周期性实时任务(*开始截止时间,完成截止时间)
②硬实时任务/软实时任务
3.特征
①多路性:对多路现场信息进行采集,对多个对象/多个执行机构进行控制
②独立性:独立运行,不混淆,不破坏
③交互性:仅限于访问系统中某些特定的专用服务程序,交互性较弱
④可靠性:高可靠性,应具有多级容错防护能力
⑤及时性:不同的系统要求不一样,控制对象必须在截止时间内完成
实时系统与分时系统的比较:
1.3 操作系统的基本特征
一、并发性(最重要的特征,其它特征都以并发为前提)
1.并发与并行
并行性:是指两个或多个事件在同一时刻发生
并发性:是指两个或多个事件在同一时间间隔内发生,微观上只是分时交替执行。
2.引入进程
系统中能独立运行并作为资源分配的基本单位。对内存中多个程序分别建立进程,就可以并发执行。
二、共享性:系统中的资源可供内存中多个并发执行的进程共同使用
实现资源共享的方式有两种:
1.互斥共享方式:系统中的临界资源可以提供给多个进程使用,但一段时间内仅允许一个进程使用。
2.同时访问方式:从宏观上看,是指多个任务可以同时使用系统中的软硬件资源。从微观上看,多个进程交替互斥地使用系统中的某个资源。
三、虚拟:通过某种技术把一个物理实体变为(映射为)若干个逻辑上的对应物
实现虚拟的方式有两种:
1.时分复用技术:虚拟处理机,虚拟设备
2.空分复用技术:虚拟磁盘,虚拟存储器
四、异步性:多道程序环境下进程以异步的方式执行,每道程序在何时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的。 导致执行结果不确定,程序不可再现。
1.4 操作系统的主要功能 (5)
一、处理机管理(4):按照一定的算法把处理机分配给进程(线程),并对其进行有效的管理和控制
1.进程控制:创建、撤销、状态转换 半期复习——第二章:进程管理(2.3) - 一只朋克小狗 - 博客园 (cnblogs.com)
2.进程同步:进程同步、进程互斥 半期复习——第二章:进程管理(2.4 2.5) - 一只朋克小狗 - 博客园 (cnblogs.com)
3.进程通信 半期复习——第二章:进程管理(2.6) - 一只朋克小狗 - 博客园 (cnblogs.com)
4.调度:作业调度、进程调度 半期复习——第三章:处理机调度(3.1~3.4) - 一只朋克小狗 - 博客园 (cnblogs.com)
二、存储器管理(4):为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存
1.内存分配:静态分配、动态分配
2.内存保护:内存保护机制
3.地址映射:将地址空间中的逻辑地址转化为内存 空间中的物理地址
4.内存扩充:借助虚拟存储技术
三、设备管理(3):完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备
1.缓冲管理:有效地缓和CPU和I/O设备速度不匹配的矛盾 ,内存中设置缓冲区,提高CPU的利用率
2.设备分配:根据I/O请求,分配其所需的设备
3.设备处理:设备处理程序又称为设备驱动程序,实现CPU和设备控制器之间的通信
四、文件管理(3):对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性
1.文件存储空间的管理 :为文件分配外存空间,分配,回收
2.目录管理
3.文件的读/写管理和保护
五、用户与操作系统的接口
1.用户接口:计算机用户需要的用户命令
2.编程接口:应用软件需要的System Call(系统调用)
1.5 操作系统的结构设计(4)
一、无结构OS
1.设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构
2.编制出的程序错误很多,给调试工作带来很多困难;增加了维护人员的负担
二、模块化OS
1.每一块实现一组基本概念以及与其相关的基本属性
2.优点:
①提高了OS设计的正确性、可理解性和可维护性
②增强了OS的可适应性。
③加速了OS的开发过程。
3.缺点:
① 对模块的划分及对接口的规定要精确描述很困难
②从功能观点来划分模块时,未能将共享资源和独占资源加以区别
三、分层式OS
1.每一层实现一组基本概念以及与其相关的基本属性,各层间只存在单向依赖,高层仅依赖于紧邻它的低层。
2.层次的设置时应考虑的几个因素
①程序嵌套
②运行频率。将那些经常活跃的模块放在最接近硬件的层。
③公用模块。把供多种资源管理程序调用的公用模块,设置在最低层, 以便调用。
④用户接口。命令接口、程序接口以及图形用户接口。这些接口应设置在OS的最高层,直接提供给用户使用。
四、微内核OS
1.足够小的内核:运行在核心态,而且开机后常驻内存, 它不会因内存紧张而被换出内存
2.基于客户/服务器模式
3.应用“机制与策略分离”原理
4.采用面向对象技术
5.提供一些最基本的功能,如进程管理、低级存储器管理、中断和陷入处理、进程间通信、 低级I/O功能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】