文章目录

  • 计算机操作系统
    • 第一章 操作系统引论
      • 一、操作系统目标和作用
        • 1、目标
        • 2、作用
        • 3、主要发展动力
      • 二、操作系统的发展过程
        • 1、未配置操作系统的计算机系统
        • 2、批处理系统
        • 3、分时系统
        • 4、实时系统
      • 三、操作系统的基本特性
      • 四、操作系统的主要功能
      • 五、OS结构设计
        • 1、传统的操作系统结构
        • 2、客户/服务器模式
        • 3、面向对象的程序设计
        • 4、微内核OS结构
        • 5、微内核与单内核(宏内核)操作系统结构比较
    • 参考文献

计算机操作系统

由于本学期学习了计算机操作系统,所以打算边学习边整理,一方面帮助自己梳理知识结构,另一方面可以帮助大家理解。

注意:该总结用的是汤小丹第四版!

关于知识脑图,我是边学边做的,推荐大家也自己做脑图,而不是直接拿走照搬,因为只有自己梳理的东西才是自己的。

做知识脑图的好处是可以对知识整体结构有好的把握,不会让自己迷失于细节;还可以复习时快速找到知识点等。

废话不多说,赶紧开始吧。

链接:https://pan.baidu.com/s/1RogFGFpzdAL1eCFvF3uvRg
提取码:aoic

第一章 操作系统引论

一、操作系统目标和作用

1、目标

目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重。通常在计算机硬件上配置的OS,其目标有以下几点:

  • 方便性
    便于理解计算机
    通过接口方便地使用
  • 有效性
    提高系统资源利用率
    提高系统吞吐量
  • 可扩充性
    OS应方便修改、增加新模块或功能,以适应计算机硬件、 体系结构以及应用发展的要求。
  • 开放性
    OS应提供统一的开放环境,以实现应用的可移植性和互操作性
    不同的设备能通过网络加以集成,并能正确、有效地协同工作

2、作用

  • 提供用户与计算机硬件系统之间的接口
    (1)命令方式:指由OS提供了一组联机命令 (语言), 用户可通过键盘输入有关命令,来直接操纵计算机系统。
    (2)系统调用方式:OS提供了一组系统调用,用户
    可在自己的应用程序中通过相应的系统调用,来操纵
    计算机。
    (3)图标–窗口方式:用户通过屏幕上的窗口和图
    标来操纵计算机系统和运行自己的程序。
    (4)其他方式
  • 计算机系统资源的管理者
    在一个计算机系统中,硬件和软件资源归纳起来可分为四类:处理器、存储器、 I/O设备以及文件(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理。
  • 实现了对计算机资源的抽象
    一台完全无软件的计算机系统(即裸机),即使其功能再强,也必定是难于使用的。通常把覆盖了软件的机器称为扩充机器或虚机器

    总结来说:
    操作系统 是控制和管理计算机系统的硬件和软件资源,合理的组织计算机工作流程以及方便 用户使用的程序和数据的集合。

3、主要发展动力

  1. 不断提高计算机资源利用率
  2. 方便用户(如接口)
  3. 器件的不断更新换代 (如CPU芯片的发展)
  4. 计算机体系结构的不断发展(如多处理机、网络)
  5. 不断提出新的应用需求 (如多媒体、嵌入)

二、操作系统的发展过程

1、未配置操作系统的计算机系统

  1. 人工操作方式

    这种人工操作方式有以下两方面的缺点:
    (1) 用户独占全机。
    (2) CPU等待人工操作。
  2. 脱机输入/输出(Off–Line I/O)方式

    这种脱机I/O方式的 主要优点如下:
    (1) 减少了CPU的空 闲时间。
    (2) 提高I/O速度。

2、批处理系统

  1. 单道批处理系统
    单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身,而并非是现在人们所理解的OS。尽管如此,该系统比起人工操作方式的系统已有很大进步。

  • 形式
    批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。
    在内存中只保持一道作业的批处理系统。
  • 特征
    (1) 自动性
    (2) 顺序性
    (3) 单道性
  • 缺点
    系统资源利用不充分。
  1. 多道批处理系统
  • 形式
    多道程序设计:多个作业存放在主存中,使它们同时处于运行状态,这些作业共享处理机时间和外围设备等资源
  • 好处
    (1) 提高CPU的利用率。
    (2) 可提高内存和I/O设备利用率。
    (3) 增加系统吞吐量。
  • 需要解决的问题
    (1) 处理机管理问题。
    (2) 内存管理问题。
    (3) I/O设备管理问题。
    (4) 文件管理问题。
    (5) 作业管理问题。

3、分时系统

推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是用户的需求。或者说,分时系统是为了满足 用户需求所形成的一种新型OS。它与多道批处理系统之间,有着截然不同的性能差别。

在操作系统中加入了分时技术:即将处理机的运行时间分为时间片,将时间片轮流分配给各联机作业使用。

  • 表现
    (1) 人—机交互。
    (2) 共享主机。
    (3) 便于用户上机。
  • 特征
    1.多路性
    2.独立性
    3.及时性
    4.交互性

4、实时系统

所谓“实时”,是表示“及时”,而实时系统(RealTime System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

  • 系统类型
    (1) 实时控制与处理:工业武器控制、嵌入式系统
    (2) 实时信息处理: 信息查询系统、多媒体系统

  • 实时任务类型

  1. 按任务执行时是否呈现周期性来划分
    (1)周期性实时任务。
    (2)非周期性实时任务。
  2. 根据对截止时间的要求来划分
    (1) 硬实时任务(hard real-time task)
    (2) 软实时任务(Soft real-time task)
  • 特征
    多路性
    独立性
    及时性
    交互性
    可靠性

三、操作系统的基本特性

  1. 并发
  • 区别并行和并发
    并行是指这一个时刻上面有着多个事件在执行,是一个瞬间的状态。
    并发是指在某一段时间间隔以内有着多个事件同时进行。

在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交 替执行。

  • 引入进程
    程序为静态的,进程为程序的执行
  • 引入线程
    进程的更小的可执行单位,一个进程可以包含若干个线程
  1. 共享
    在操作系统环境下,所谓共享是指系统中的资源可供内
    存中多个并发执行的进程(线程)共同使用。由于资源属
    性的不同,进程对资源共享的方式也不同,目前主要有
    以下两种资源共享方式:
  • 互斥共享方式
    系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源,我们把这种资源共享方式称为互斥式共享
    临界资源或独占资源:一段时间内只允许一个进程访问的资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。
  • 同时访问方式
    允许在一段时间内由多个进程 “同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问
    并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是互为存在的条件。
  1. 虚拟
    操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的, 即实际存在的;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。
  • 时分复用技术(即分时使用方式)
    ⑴虚拟处理机技术:在虚拟处理机技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的
    ⑵虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每 个用户占用一台逻辑上的I/O设备,这样便可使原来仅允许在 一段时间内由一个用户访问的设备(即临界资源),变为在一 段时间内允许多个用户同时访问的共享设备。
    在操作系统中,虚拟的实现主要是通过分时使用的方法。显然,如果 nnn 是某物理设备所对应的虚拟的逻辑设备数,则虚 拟设备的平均速度必然是物理设备速度的1/n1/n1/n。
  • 空分复用技术
    ⑴虚拟磁盘技术:将硬盘划分为若干个卷,机器上便会有若 干个虚拟盘。
    ⑵虚拟存储器技术:将一台机器的物理存储器变为虚拟存储 器,以便从逻辑上来扩充存储器的容量。
  1. 异步
    由于资源等因素的限制,使进程的执行通常都不是“一气呵成”, 而是以“停停走走”的方式运行。
    内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,都是不可预知的。由于各用户程序性能的不同,比如,有的侧重于计算而较少需要 I/O;而又有的程序其计算少而I/O多,这样,很可能是先进入内存的作业后完成;而后进入内存的作业先完成。或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果。因此,异步运行方式是允许的,是操作系统的一个重要特征。

四、操作系统的主要功能

该部分不展开,详细内容见后续具体的章节或PPT。

  1. 处理机管理功能
  • 进程控制
  • 进程同步
  • 进程通信
  • 调度
  1. 存储器管理功能
  • 内存分配
  • 静态分配
  • 动态分配
  • 内存保护
  • 地址映射
  • 内存扩充
  1. 设备管理功能
  • 缓冲管理
  • 设备分配
  • 设备处理
  1. 文件管理功能
  • 文件存储空间的管理
  • 目录管理
  • 文件的读写管理和保护
  1. 操作系统与用户之间的接口
  • 用户接口
  • 程序接口
  1. 现代操作系统的新功能
  • 系统安全
  • 网络的功能和服务
  • 支持多媒体

五、OS结构设计

本节也不细讲。

1、传统的操作系统结构

  1. 无结构操作系统
    在早期开发操作系统时,设计者只是把注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。此时的OS是为数众多的一组过程的集合,每个过程可以任意地相互调用其它过程,致使操作系统内部既复杂又混乱。因此,这种OS是无结构的,也有人把它称为整体系统结构。
  2. 模块化的操作系统
    模块化程序设计技术是20世纪60年代出现的一种结构化程序设计技术。该技术是基于“分解”和“模块化”原则来控制大型软件的复杂度。为使OS具有较清晰的结构,OS不再是由众多的过程直接构成,而是将OS按其功能精心地划分为若干个具有一定独立性和大小的模块;每个模块具有某方面的管理功能,如进程管理模块、存储器管理模块、I/O设备管理模块等,并仔细地规定好各模块间的接口,使各模块之间能通过该接口实现交互。
  • 优点:
    提高OS设计的正确性、可理解性和可维护性
    增强OS的适应性
    加速OS的开发过程
  1. 分层次结构OS
    为了将模块―接口法中“决定顺序”的无序性变为有序性,引入了有序分层法。分层法的设计任务是,在目标系统AnA_nAn​和裸机系统(又称宿主系统)A0A_0A0​之间,铺设若干个层次的软件A1A_1A1​、A2、A_2、A2​、A3、A_3、A3​、…、An−1、…、A_{n-1}、…、An−1​,使AnA_nAn​通过An−1A_{n-1}An−1​、An−2、A_{n-2}、An−2​、…、A2、…、 A_2、…、A2​、A1、A_1、A1​层,最终能在A0A_0A0​上运行。在操作系统中,常采用自底向上法来铺设这些中间层。
  • 优点:
    易保证系统的正确性
    易拓充
    易维护
  • 缺点:
    系统效率降低

2、客户/服务器模式

客户机
服务器
网络系统

3、面向对象的程序设计

4、微内核OS结构

  1. 微内核的基本概念
    为了提高操作系统的“正确性”、“灵活性”、“易维 护性”和”可扩充性”,在进行现代操作系统结构设计时, 即使在单处理机环境下,大多也采用基于客户/服务器模式的 微内核结构,将操作系统划分为两大部分:微内核和多个服务器。至于什么是微内核操作系统结构,现在尚无一致公认的定义,但我们可以从下面四个方面,对微内核结构的操作系统进行描述。
  • 足够小的内核
    在微内核操作系统中,内核是指精心设计的、能实现现代OS最基本的核心功能的部分。微内核并非是一个完整的OS,而只是操作系统中最基本的部分,它通常用于:① 实现与硬件紧密相关的处理;② 实现一些较基本的功能; ③ 负责客户和服务器之间的通信。它们只是为构建通用OS提供一个重要基础,这样就可以确保把操作系统内核做得很小。
  • 基于客户/服务器模式
    由于客户/服务器模式具有非常多的优点,故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。例如用于提供对进程(线程)进行管理的进程(线程)服务器,提供虚拟存储器管理功能的虚拟存储器服务器,提供I/O设备管理的I/O设备管理服务器等,它们都是被作为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的消息传递机制来实现信息交互的。下图示出了在单机环境下的客户/服务器模式。
  • 应用“机制与策略分离”原理
    在现代操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。 通常,机制处于一个系统的基层,而策略则处于系统的高层。在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,通常将机制放在OS的微内核中。正因为如此,才有可能将内核做得很小。
  • 采用面向对象技术
    操作系统是一个极其复杂的大型软件系统,我们不仅可以通过结构设计来分解操作系统的复杂度,还可以基于面向对象技术中的“抽象”和“隐蔽”原则控制系统的复杂性, 再进一步利用“对象”、“封装”和“继承”等概念来确保操作系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,并提高操作系统的设计速度。正因为面向对象技术能带来如此多的好处,故面向对象技术被广泛应用于现代操作系统的设计中。
  1. 微内核的基本功能

    1. 进程(线程)管理
    2. 低级存储器管理
    3. 中断和陷入处理
  2. 优点:
    提高了系统的可扩展性
    增强了系统的可靠性
    提高了系统的可移植性
    提供了对分布式系统的支持
    融入了面向对象技术

  3. 缺点:
    系统运行效率有所降低

5、微内核与单内核(宏内核)操作系统结构比较


参考文献

  • 汤子瀛, 哲凤屏, 汤小丹. 计算机操作系统[M]. 西安电子科技大学出版社, 2001.
  • github的CS-Notes

计算机操作系统 第一章:操作系统引论(知识梳理+脑图)相关推荐

  1. 操作系统--第一章 操作系统引论--习题答案

    操作系统第四版课后的全部习题答案,学习通作业答案. 说明:操作系统其他章节的习题答案也在此"操作系统"专栏. 第一章 1.设计现代OS的主要目标是什么?== 答:(1)有效性 (2 ...

  2. 操作系统第一章操作系统引论习题及答案

    1.设计现在OS的主要目标是什么? 答:方便性.有效性.可扩充性和开放性. 2.OS的作用可表现在那几个方面? 答:1.OS作为用户与计算机硬件系统之间的接口: 2.OS作为计算机系统资源的管理者: ...

  3. 操作系统第一章操作系统引论相关习题

    一.单项选择题 1.操作系统是一种____. A.通用软件 B.操作系统 C.应用软件 D.软件包 答:b 2.操作系统的___管理部分负责对进程进行调度. A.主存储器 B.控制器 C.运算器 D. ...

  4. 高分操作系统 第一章 操作系统概论

    这是一篇大学课程--操作系统同步笔记,最后有期末大礼包!! [目录] 1.1 操作系统初步认识 1.2 操作系统的定义 1.3 操作系统的功能 1.所处位置:中间 2.发展动力 1.4 操作系统发展阶 ...

  5. 操作系统第一章——操作系统引论(思维导图)

    众所周知,操作系统是程序员必修的一门"课",操作系统这玩意儿可以说覆盖范围很广,想学通透很难,但是想学到入门还是比较简单,如果你只是想明白操作系统的运转机制,想必还是没问题,但要是 ...

  6. 操作系统第一章操作系统引论作业

    操作系统第一次课程作业 1.如果计算机不配操作系统,用户编写程序与运行程序需经历怎样的过程 需要人工操作,需要编写机器语言,需要脱机输入输出. 2.什么是操作系统?它有什么基本特征?列举4种操作系统的 ...

  7. 操作系统第一章操纵系统引论

  8. 2 操作系统第一章 操作系统体系结构、中断和异常、系统调用

    文章目录 1.1 指令概念及其分类 1.2 操作系统体系结构: 1.2.1操作系统内核概念 1.3 中断和异常 1.3.1 中断的诞生 1.3.2 中断分类 1.3.3 外中断的处理过程 1.3.4 ...

  9. 1 操作系统第一章 操作系统概念、功能、四大特征、操作系统发展与分类

    文章目录 1.1 操作系统概念 1.2 操作系统功能 1.3 操作系统四大特征 1.3.1 并发 1.3.2 共享 1.3.3 并发性和共享区别及对应关系: 1.3.4 虚拟 1.3.5 异步 1.4 ...

  10. 第一章 操作系统引论-操作系统原理和实践

    目录 三课合一: 要求学完要做到什么? 教材 目录 第一章操作系统引论 引例:操作系统在做什么? 你知道哪些操作系统的名字? 什么是OS操作系统? 1.1 操作系统的目标和作用 目标:方便性.有效性. ...

最新文章

  1. 1.2.3 OSI参考模型(2)
  2. Feature Tools:可自动构造机器学习特征的Python库
  3. mysql gtid 主键冲突_数据库开启gtid时,需要注意的问题
  4. C++_类和对象_C++继承_继承的方式_公共继承_保护继承_私有继承---C++语言工作笔记062
  5. 流程图符号以及绘制流程图方法
  6. WIndow Document
  7. 机器学习笔记(五)回归模型
  8. 190104每日一句
  9. 【深入理解计算机系统csapp】 attack lab实验四
  10. 高老师的架构设计_隽语集(CC_1051)
  11. java中singleton_java中singleton的几种实现方式
  12. 电脑上怎么打开小米手机的便签?
  13. Axure第7讲:设置元件文字行距、边距
  14. 顺序表--C语言版(从0开始,超详细解析 ,小白一听就懂!!!)
  15. java毕业设计线上办公工作流系统mybatis+源码+调试部署+系统+数据库+lw
  16. Java Bean 转 Map 的巨坑,注意了!!!
  17. forget word out a~4
  18. 2023 华为 Datacom-HCIE 真题题库 07/12--含解析
  19. Matlab报错——数组索引必须为正整数或逻辑值
  20. signature=fc7ecc5076a2f28da44d79a455e941f3,Secure efficient proxy blind signature schemes based DLP

热门文章

  1. EXCEL教程下载地址
  2. 数据通信与计算机网络
  3. php完美实现下载远程图片保存到本地
  4. SourceTree使用笔记 ssh-key配置
  5. 30个有助于探索Go编程语言的在线资源
  6. Jmeter压力测试实例
  7. Macbook pro新手入门
  8. 小甲鱼Python教程学习笔记(一)
  9. GJB150.5A-2009军用装备实验室温度冲击环境试验
  10. Python 运维总结