热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

文章目录计算机操作系统第一章操作系统引论一、操作系统目标和作用1、目标2、作用3、主要发展动力二、操作系统的发展过程1、未配置操作系统的计算机系统2、批处理系统3、分时系统4、实时


文章目录

  • 计算机操作系统
    • 第一章 操作系统引论
      • 一、操作系统目标和作用
        • 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)其他方式
     OS作为接口的示意图
  • 计算机系统资源的管理者
    在一个计算机系统中,硬件和软件资源归纳起来可分为四类:处理器、存储器、 I/O设备以及文件(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理。
  • 实现了对计算机资源的抽象
    一台完全无软件的计算机系统(即裸机),即使其功能再强,也必定是难于使用的。通常把覆盖了软件的机器称为扩充机器或虚机器
    I/O软件隐藏了I/O操作实现的细节
    总结来说:
    操作系统 是控制和管理计算机系统的硬件和软件资源,合理的组织计算机工作流程以及方便 用户使用的程序和数据的集合。

3、主要发展动力


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

二、操作系统的发展过程


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


  1. 人工操作方式

    这种人工操作方式有以下两方面的缺点:
    (1) 用户独占全机。
    (2) CPU等待人工操作。
  2. 脱机输入/输出(Off–Line I/O)方式
    脱机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_2A2、A3、A_3A3、…、An−1、…、A_{n-1}An1,使AnA_nAn通过An−1A_{n-1}An1、An−2、A_{n-2}An2、…、A2、…、 A_2A2、A1、A_1A1层,最终能在A0A_0A0上运行。在操作系统中,常采用自底向上法来铺设这些中间层。

  • 优点:
    易保证系统的正确性
    易拓充
    易维护
  • 缺点:
    系统效率降低

2、客户/服务器模式

客户机
服务器
网络系统


3、面向对象的程序设计


4、微内核OS结构


  1. 微内核的基本概念
    为了提高操作系统的“正确性”、“灵活性”、“易维 护性”和”可扩充性”,在进行现代操作系统结构设计时, 即使在单处理机环境下,大多也采用基于客户/服务器模式的 微内核结构,将操作系统划分为两大部分:微内核和多个服务器。至于什么是微内核操作系统结构,现在尚无一致公认的定义,但我们可以从下面四个方面,对微内核结构的操作系统进行描述。

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

  1. 微内核的基本功能

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

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

在传统OS和微内核OS中的上下文切换


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



参考文献


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

推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
author-avatar
闲看云天的快乐生活
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有