操作系统课堂笔记

绪论

学期书本结构:

学期书本结构图

什么是OS

OS是一组能有效组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的集合。

OS的目标

有效性、方便性、可扩充性、开放性

OS的作用

  • 作为用户与计算机硬件之间的接口
  • 作为计算机系统资源管理者
  • 实现了对计算机资源的抽象

OS发展动力

  • 不断提高资源利用率
  • 方便用户
  • 期间更新迭代
  • 体系结构不断发展
  • 新的应用需求

OS发展过程

无OS

  • ENIAC,无任何软件,人工干预,CPU等待人工操作。此时的问题是人机矛盾,是CPU与I/O速度不匹配的矛盾。

  • 接下来为了解决等待问题,人们研究出来脱机输入输出的方式,减少了速度不匹配的时间问题。

单道批处理OS(自动、顺序、单道)

  • 为了实现对作业的连续处理,给系统配上了监督程序,在它的控制下这批作业可以一个一个连续处理。该系统旨在提高系统资源利用率系统吞吐量

  • 该系统的缺点是CPU会处于等待的过程,CPU的使用率显著低下,存在系统资源的浪费。

多道批处理OS(多道性、无序性、调度性)

  • 为了提高CPU利用率、提高内存和IO设别的利用率以及增加系统的吞吐量。用户提交的作业会被放在外村的队列中,由作业调度程序调入内存,使它们共享各种资源。

  • 在多道批处理OS中包括两种调度:作业调度以及进程调度

  • 两个优点:资源利用率高、系统吞吐量大

  • 两个缺点:平均周转时间长、无交互能力

  • 至此可以提出OS的定义

注意:多道程序系统和多处理系统是不同的,多道程序系统是指多个程序在内存中交替运行,多处理系统是指多个处理器。

上面的两个OS的主要出题方向是去算各种系统的资源利用率例如:

image-20230924144430839 image-20230924144541144

在算上面的例题的过程中,需要注意去计算两种OS运行方式的程序运行时常。注意画图!!!!


分时OS(多路、独立、及时、交互)

  • 一个主机连接多个终端,允许同时多个用户通过终端以交互方式使用。
  • 及时接受:多路卡,将多个终端的数据暂存在缓存区
  • 及时处理:作业直接进入内存、采用轮转运行

实时OS

  • 是指能在规定时间内完成对时间的处理
  • 应用在:实时控制、实时信息处理、多媒体、嵌入式

两个与时间相关的OS的对比:

特性 实时OS 分时OS
多路性 对多路现场进行采样与控制 为多个终端用户服务
独立性 独立采集信息与控制对象 各个用户独立操作
及时性 以被控对象的可接收时间为准 以人可接受时间为准
交互性 仅与特定服务程序交互 与用户进行全方位的交互
可靠性 高度可靠性 在可容忍的误差范围内可靠

网络操作系统:

  • 在OS的功能基础上提供了网络通信网络服务功能

OS的主要特性

并发

并发是指多个时间在同一时间间隔内发生。注意,并行是指多个事件在同一时刻发生

在多道程序环境下,并发性是指,宏观上有多个程序在运行并发,微观上交替执行。

程序的静态实体是可执行文件,动态实体是指进程(作业),并发是指进程的并发。

共享

多个进程共享有限的资源,资源在一个时间段内交替被多个进程所用。

两种共享方式:

  1. 互斥共享方式(打印机)
  2. 同时访问方式(如可重入代码,磁盘文件)

虚拟

一个物理实体映射为多个对应的逻辑实体

两种实现虚拟的技术

  1. 时分复用技术:虚拟处理机技术、虚拟设备技术

  2. 空分复用技术:虚拟磁盘技术、虚拟存储器

设N是某物理设备所对应的虚拟的逻辑设备数,则:

  • 采用时分复用时,每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N。

  • 采用空分复用时,每台虚拟设备平均占用的空间必然也等于或低于物理设备所拥有空间的1/N。

异步

异步性也被称为不确定性,指的是进程执行顺序和执行之间的不确定性

在多道程序设计中,程序按照异步方式运行,如果没有很好的同步机制,可能会导致运行结果不同,不可再现。

OS主要功能

  • 处理机管理:进程控制、同步、通信,作业调度,进程调度
  • 存储器管理:内存分配、保护、扩充,地址映射
  • 设备管理:缓冲管理,设备分配,设备处理
  • 文件管理:文件存储空间管理,目录管理,文件读写管理和保护
  • 用户接口

OS结构设计

  • 无结构OS
    • 首尾不一致,没有清晰的程序结构,调试困难
  • 模块化OS
    • OS被划分为多个功能的模块,每个模块又细分为若干个具有一定功能的子模块
    • 优点:提高OS设计的正确性、可理解性、可维护性,增强OS的可适应性,加速OS开发过程
    • 缺点:设计时的错误可能会导致模块匹配的困难,功能观点划分的模块无法区分共享资源和独占资源,模块间复杂依赖关系也无法完全描述与实现
  • 分层式OS‘
    • 资源管理的观点出发,划分层次。在每一层上,只能调用低层次上的代码,使得模块间的调用变得有序。系统每加一层就构成了一个比原来功能更强的虚拟机。
    • 分层原则:被调用功能的在底层,活跃功能在底层,存储器管理放在次底层,最底层放硬件抽象层资源分配策略放在最外层。
    • 优点:易保证系统的正确性,易扩充和易维护性
    • 缺点:降低了运行效率
  • 现代结构OS
    • 采用C/S模式的一种微内核OS
    • 用户态:用来提供各种服务的服务器(进程)所在的层次
    • 内核态:处理用户和服务器间的通信,实现与硬件紧密相关的和比较基本的功能的进程所在的层次。内核接受用户的请求,启动相应的服务器,接着接受服务器的应答。
      微内核运行模式