Untitled

操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源分配,进而为用户和其它软件提供方便接口与环境的程序集合。

操作系统的功能

Untitled

资源分配器

操作系统是一直运行在计算机上的程序(通常称为内核)。

除了内核之外还有系统程序(与系统运行有关,但不属于内核)和应用程序(与系统运行无关)两类程序。

移动操作系统通常不只有内核也有中间件,是为应用程序开发人员提供其他功能的软件框架

计算机系统的组成

Untitled

总线提供了共享内存访问

内存控制器协调访问内存

当计算机电源打开或重启以便开始运行时,它需要运行一个初始程序,该初始程序或引导程序(bootstrap program)一般位于计算机的固件(firmware),如只读内存(Read-Only Memory, ROM)或电可擦可编程只读内存(Electrically Erasable Programmable Read-Only Memory, EEPROM)。

初始程序初始化系统的各个组件,从 CPU 寄存器、 设备控制器到内存内容。

中断

Untitled

中断处理7个步骤:

Untitled

I/O

同步(Synchronous)I/O 和异步(Asynchronous)I/O:

Untitled

Untitled

直接存储(Direct Memory Access, DMA)

在高速设备上操作,比如硬盘

Block Device 块设备

Character Device 字符设备

计算机系统的体系结构

单处理器系统

多处理器系统

SMP 对称多处理器:所有处理器、寄存器、访问的内存是一样的,共享内存,主存只有一个

Untitled

多核系统

Untitled

核跟核之间的通信高效

NUMA

非统一内存访问

比较少见,多用在服务器上

Untitled

操作系统的结构

Untitled

多道程序设计

多道程序设计技术允许多个程序同时进入内存并允许它们在 CPU 中交替运行,这些程序共享系统中的各种硬/软件资源。

多道程序系统的内存分布

多道程序系统的内存分布

通过安排作业(编码与数据)使得 CPU 总有一个执行作业,从而提高 CPU 利用率

多道程序设计的特点:多道、宏观上并行、微观上串行

多道程序设计的优点:资源利用率高、系统吞吐量大

多道程序设计的缺点:用户响应时间较长、不提供人机交互能力

分时(多任务)系统

多道程序的自然延申

分时技术把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用

分时操作系统是指多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。

  • 分时系统的主要特征:
    • 同时性
    • 交互性
    • 独立性
    • 及时性

操作系统的执行

Untitled

双重模式与多重模式的执行

为了确保操作系统的正确运行,必须区分操作系统代码和用户代码的执行,大多计算机系统采用硬件支持以区分各种执行模式。

用户模式(user mode):在用户模式下,代码没有对硬件的直接控制权限,也不能直接访问地址的内存。程序是通过调用系统接口(System APIs)来达到访问硬件和内存。在这种保护模式下,即使程序发生崩溃也是可以恢复的

内核模式(kernel mode):在内核模式下,代码具有对硬件的所有控制权限。可以执行所有CPU指令,可以访问任意地址的内存。内核模式是为操作系统最底层、最可信的函数服务的。在内核模式下的任何异常都是灾难性的,将会导致整台机器停机

当用户应用通过系统调用,请求操作系统服务时,系统从用户模式切换到内核模式以满足请求

Untitled

用户模式切换到内核模式的方式:中断、陷阱或系统调用

Untitled

双重模式执行提供保护手段,以便防止操作系统和用户程序受到错误用户程序的影响。

  • 特权指令规定程序具有某种特权才能运行,有以下几种:
    • 允许和禁止中断,控制中断禁止屏蔽位
    • 在进程间切换处理
    • 存取用于主存保护的寄存器
    • 执行 I/O 操作
    • 停止一个中央处理器的工作
    • 修改设备状态表中的条目
    • 清理内存
    • 设置时钟
    • 建立存储键
    • 加载 PSW

进程管理

Untitled

内存管理

Untitled

存储管理

Untitled