Course

引论

1 操作系统的定义和作用 #

1.1 操作系统定义 #

操作系统是计算机中的一个系统软件,是一系列程序模块的集合。

  • 它们能尽可能以有效合理的方式组织和管理计算机的软硬件资源;
  • 合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能;
  • 使得用户更加灵活、方便的使用计算机,使整个计算机系统高效运行;

有效:指系统效率,资源利用率。如cpu利用率是否充足,I/O设备是否忙碌等。

合理:软硬件资源的管理是否公平合理。

...

操作系统运行环境与机制

📖 回顾:操作系统的主要工作

  • 程序的执行 启动程序、执行程序以及程序结束的工作
  • 完成与体系结构相关的工作
  • 完成应用程序所需的共性服务(提供各种基本服务,读盘、申请内存等等)
  • 性能、安全、健壮等问题

应用程序

———————— 虚拟机器界面 ---> 操作系统运行机制(系统调用)

操作系统

———————— 物理机器界面 ---> 操作系统运行环境(CPU状态、中断/异常机制)


...

进程和线程模型

进程模型 #

多道程序设计 #

MultiProgramming:多个程序同时进入内存并运行,提高操作系统效率。并发环境。

多个虚拟(逻辑)程序计数器 ---> 物理计数器

进程的概念以及进程控制块 #

进程 #

Process:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配调度的独立单位。

  • 是程序的一次执行过程
  • 是正在运行的程序的抽象
  • 将一个CPU变幻成多个虚拟的CPU (是CPU的抽象)
  • 系统资源以进程为单位分配,如内存、文件、独立的地址空间......

进程控制块(PCB) #

PCB: Process Control Block

  • 又称进程描述符进程属性
  • 操作系统用于管理控制进程的一一个专门数据结构

    不同操作系统,对PCB的实现可能不同,但是其功能相同。

    Linux中叫task_sturct

    Windows中叫EPROCESSKPROCESSPEB

  • 记录进程的各种属性,描述进程的动态变化过程

PCB是系统感知进程存在的唯一标志 >进程与PCB是一一 对应

进程表: 所有进程的PCB集合。在内存的固定区域,大小固定,所以存储的PCB信息也是有限的,这就是操作系统的并发度。

PCB存储了哪些信息?

1) 进程描述信息

  • 进程标识符(process ID),唯一,通常是一个整数
  • 进程名,通常基于可执行文件名,不唯一
  • 用户标识符(user ID)
  • 进程组关系

2)进程控制信息

  • 当前状态
  • 优先级(priority)
  • 代码执行入口地址
  • 程序的磁盘地址
  • 运行统计信息(执行时间、页面调度)进程间同步和通信
  • 进程的队列指针
  • 进程的消息队列指针

3)所拥有的资源和使用情况

  • 虚拟地址空间的状况
  • 打开文件列表

4)CPU现场信息

  • 寄存器值(通用寄存器、程序计数器PC、程序状态字PSW、栈指针)
  • 指向该进程页表的指针

还可以从下面三个维度来看看PCB存储的信息

  • 进程管理
  • 存储管理
  • 文件管理

进程的状态及转换、进程队列 #

进程的三种基本状态 #

  • 运行态(Running):占有CPU,并在CPU上运行
  • 就绪态(Ready):已经具备运行的条件,但没有空闲CPU,故暂时不能运行
  • 等待态(Waiting/Blocked):因等待某一事件而暂时不能运行(如等待磁盘结果)。也叫做阻塞态、封锁态或睡眠态

进程的状态转换 #

进程3状态转换示意图

其他线程状态 #

1)创建(New):

...