操作系统笔记1

依照学校教学安排,第一章为操作系统引论

本帖仅供个人学习使用

使用虚拟机平台VMware Workstation


1.1 操作系统的目标和作用

1.1.1 操作系统的目标(考点)

  • 方便性:没有OS的计算机是极难使用的,只能使用机器语言,OS对计算机操作进行了抽象化,使计算机便于易学易用。
  • 有效性:OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,提高系统的吞吐量。
  • 可扩充性:为适应计算机硬件、体系结构以及计算机应用发展的要求,OS必须具有很好的可扩充性,这与OS的结构有十分紧密的联系,由此推动OS从早期的无结构发展为模块化结构,进而又发展为层次化结构,近年来OS已广泛采用微内核结构。
  • 开放性:为适应计算机应用日益普及的要求和互联网时代的发展,使OS的应用环境从单机转向网络环境,其使用环境必须更为开放,要求OS必须能遵循世界标准规范,从而兼容以相同标准开发的硬件软件。

1.1.2 操作系统的作用(考点)(见1.4)

  • OS是用户与计算机硬件系统之间的接口
  • OS是计算机系统资源的管理者
  • OS实现了对计算机资源的抽象
  • OS/虚拟机是计算机硬件平台上的虚拟机器

1.1.3 推动操作系统发展的主要动力(考点)

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

1.2 操作系统的发展过程

  • 人工操作方式:卡带I/O,一个程序运行完毕并取走计算结果(卡带)后下一个人/程序才能上机,效率极低,人工读带(参考《功勋》里面于敏那集,人工读机器语言,属实是黑客帝国现实版了)。
  • 脱机I/O方式:事先将装有用户程序和数据的纸带装入纸带输入及,在一台外围机的控制下将卡带上的数据或程序输入到磁带上,当CPU需要这些程序或数据时再从磁带上高速地调入内存。输出时先从内存高速输送到磁带上,然后在外围机控制下通过相应输出设备输出。(个人理解是用磁带来当一个缓存),减少了CPU的空闲时间,I/O操作均由外围机操作,提高了I/O速度。
  • 单道批处理系统:处理完一个作业后紧接着处理下一个作业以减少机器的空闲等待时间,旨在提高系统资源利用率,但缺点也在用提高的不够充分,这是因为在内存中仅有一道程序,必须在I/O完成后才能运行,又因为I/O设备的低速性,更使CPU的利用率显著降低。若通过增大内存来提高效率,则会因为实际中80%以上的作业都属于中小型而造成在单道程序环境下对内存的浪费。
  • 多道批处理系统:用户所提交的作业先存放在外存上,并排成一个队列称为“后备队列”然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源,让它们交替在CPU上运行
    • 多道性、调度性、无序性
    • 优点:资源利用率高、系统吞吐量大
    • 缺点:平均周转时间长(作业要排队依次进行处理),无交互能力(用户不能与自己的程序交互直至作业完成)
    • 要解决的问题:处理机争用问题、内存分配和保护问题、I/O设备分配问题、文件的组织和管理问题、作业管理问题、用户与系统的接口问题…(后续都会进一步讨论)
  • 分时系统
    • 需求:人机交互、共享主机(支持多设备同时I/O,多用户共享计算机资源)
    • 关键问题:及时接收、及时处理
    • 特征:多路性(允许多台终端同时连接到一台主机上,并按分时原则为每个用户服务)、独立性(每个用户彼此之间互不干扰)、及时性(用户请求短时间内获得响应)、交互性(用户可通过终端与系统进行广泛的人机对话)
  • 实时系统
    • 任务类型:周期性实时任务和非周期性实时任务、硬实时任务和软实时任务
    • 实时系统与分时系统特征的比较
      区别|实时系统|分时系统

–:|:–:|:–
多路性|系统周期性地对多路现场信息进行采集、对多个对象进行控制|系统按分时原则为多个终端用户服务
独立性|信息采集和对对象控制互不干扰,多用户与系统交互互不干扰|多用户与系统交互互不干扰
及时性|以控制对象所要求的的截止时间来决定对实时性的要求|对实时性的要求(延迟)是依据人能所接受的等待时间决定的
交互性|交互性仅限于访问系统中某些特定的专用服务程序|能向终端用户提供数据处理、资源共享等服务,实现广泛的人机对话
可靠性|要求系统高度可靠,采用多级容错措施| 要求系统可靠

  • 多道批处理系统、分时系统、实时系统是三种基本操作系统
  • 微机操作系统的发展(略)

1.3 操作系统的基本特性(考点)

  • 操作系统的四个基本特征并发、共享、虚拟、异步

1.3.1 并发

并行与并发

  • 并行:在同一时刻发生多个事件
  • 并发:在同一时间间隔内发生多个事件
  • 并行有并发,并发无并行

进程的引入

  • 进程:在系统中能独立运行并作为资源分配的基本单位,由机器指令、数据和堆栈等组成,是一个能独立运行的活动实体,多个进程之间可以并发执行和交换信息,是操作系统运行的基础
  • 进程将程序的执行分段化,使得多个程序可以并发执行,大大提高资源系统的利用率,增加系统的吞吐量

1.3.2 共享

  • 共享:系统中的资源可供内存中多并发作业共同使用
  • 互斥共享方式:一个进程访问资源时其他进程需要等待,我们将这种一段时间内只允许一个进程访问的资源称为 临界资源,系统中给的绝大多数物理设备以及栈、变量和表格都属于临界资源,只能被互斥地共享。
  • 同时访问方式:这里的“同时”在单处理机环境下是宏观意义上的,而在微观上,这些进程对资源的访问是交替进行的
  • 并发和共享是多用户OS的两个最基本特征

1.3.3 虚拟 无中生有

  • 时分复用技术(时间):多个用户交替使用处理机/物理IO设备
    • 虚拟处理机技术:为每道程序建立至少一个进程,让多个程序并发执行,虽然微观上系统只有一台处理机,但通过分时复用方法在宏观将处理机虚拟为多台逻辑上的处理机
    • 虚拟设备技术:将一台物理I/O设备在宏观上虚拟为多台逻辑上的I/O设备,在微观上让不同应用的进程交替使用I/O设备
    • 虚拟设备处理速度≤V/n,n为虚拟设备/并发应用个数,V为处理机处理速度
  • 空分复用技术(空间):每次只向内存中导入程序中被需要的部分,实现程序在比它小的内存中运行,并实现多个程序对内存的同时使用。,空分复用体现在将内存分为多个小部分供多个应用同时使用,时分复用体现在每个应用每次只导入当前需要的部分,用完就置换,让应用的每个部分分时进入内存。
    • 虚拟设备占用空间≤S/N,n为虚拟设备/并发应用个数,S为内存大小

1.3.4 异步

  • 异步每个程序不知何时执行何时结束。
  • 由于资源等因素的限制,进程在发出资源请求时通常不能及时得到满足,因此进程的执行通常不是一气呵成而是以停停走走的方式运行,导致了程序的执行时间是不可知的。

1.4 操作系统的主要功能

1.4.1 处理机管理功能(考点)

  • 进程控制
  • 进程同步
  • 进程通信
  • 处理机调度

    1.4.2 存储器管理功能(考点)

  • 内存分配
    • 为每道程序分配内存空间
    • 提高存储器的利用率
    • 允许正在运行的程序申请附加的内存空间
    • 分配方式:
      • 静态分配方式:每个作业的内存空间是在作业装入时确定的
      • 动态分配方式:每个作业的内存空间在作业装入是基本确定,反允许作业在运行过程中继续申请添加新的附加内存空间
  • 内存保护
    • 确保每道用户程序都互不干扰,仅在各自内存中运行
    • 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转到非共享的其它用户程序中去执行
  • 地址映射:使各程序段的逻辑地址转换为内存空间中与之相对应的物理地址
  • 内存扩充:借助虚拟存储技术从逻辑上扩充内存容量(比如1.3.3提到的空分复用技术)

    1.4.3 设备管理功能(知道有就行)

  • 缓冲管理
  • 设备分配
  • 设备处理

    1.4.4 文件管理功能(知道有就行)

  • 文件存储空间的管理
  • 目录管理
  • 文件的读写管理与保护

    1.4.5 操作系统与用户之间的接口(知道有就行)

  • 用户接口:让用户直接或间接地控制自己的作业
  • 程序接口:让程序方便地使用系统调用

    1.4.6 现代操作系统的新功能:系统安全、网络功能和服务、支持多媒体

    1.5 OS结构设计

    1.5.1 传统操作系统结构

  • 古早的无结构操作系统:单人设计,规模小,缺乏首尾一致的设计思想,复杂又混乱
  • 模块化结构OS:有较为清晰的结构,由若干个具有一定独立性和大小的模块构成,每个模块分工不同,模块内又划分为若干个小模块,规定好各子模块之间的接口和模块间的接口
    • 优点:提高了OS设计的准确性、可理解性和可维护性、增强了OS的可适应性、加速了OS的开发过程
    • 缺点:设计时对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求,设计者的决策必须基于上一个决策,造成可靠性的难以保障
  • 分层式结构OS:目标系统An和裸机系统(物理硬件)A0之间铺设若干个层次的软件,使An通过这些层次的软件最终在A0上运行,在OS中通常采用自底向上法来铺设这些中间层
    • 优点:由于自底向上保证了决策的顺序性,从而易于保证系统的正确性;在系统中增加、修改、替换一个层次中的模块或整个层次只要不改变相应层次间的接口就不会影响其他层次,这使系统维护和扩充更加容易
    • 缺点:OS每执行一个功能,通常要自上而下地穿越多个层次,增加了系统的通信开销,导致系统效率的降低

      1.5.2 客户服务器模式 (详情请见计网笔记第一章)

  • 客户服务器系统的三个部分:客户机、服务器、网络系统
  • 过程:客户机发送请求——服务器接收消息——服务器回送消息——客户机接收消息
  • 优点:数据分布处理和存储提升了可靠性、缓解了处理能力瓶颈;便于集中管理;具有灵活性和可扩充性;支持且易于改编应用软件
  • 缺点:若系统只有一个服务器,则一旦服务器故障,将导致整个网络瘫痪,也存在处理瓶颈,可通过增加网络中服务器数量来缓解该问题

    1.5.3 面向对象程序设计技术

  • 啊这……就是抽象,将数据类型、数据结构、数据文件等进行抽象,方便调用,具体不细说了x
  • 优点:通过重用提高产品质量和生产率、使系统具有更好的易修改性和易扩展性、更易于保证系统的正确性和可靠性

    1.5.4 微内核OS结构

    什么是微内核

  • 内核:能实现现代OS最基本核心功能的小型内核,微内核并非是一个完整的OS,只是具有OS最基本的部分,通常包含:与硬件处理紧密相关的部分、一些较为基本的功能、客户和服务器之间的通信

    微内核的基本功能

  • 进程管理
  • 低级存储器管理
  • 中断和陷入处理

    微内核操作系统的优点

  • 提高了系统的可扩展性
  • 增强了系统的可靠性
  • 可移植性强
  • 提供了对分布式系统的支持
  • 融入了面向对象技术,提高系统正确性、可靠性、易修改性、易扩展性,同时减少开发系统的开销
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022 Daniel Qi
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信