操作系统笔记

什么是操作系统

操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

分时系统

70年代中期至今
“分时”的含义,多个用户分享使用同一台计算机。每个用户给一定的时间运行,然后切换到另一个用户,一个轮转周期在宏观上相当短,用户感觉不到。
通常按时间片(time slice)分配:
时间片是各个程序在CPU上执行的轮换时间
抢先式和非抢先式(preemptive & non-preemptive)操作系统:
抢先式:OS强迫作业出让CPU;
非抢先式:程序主动出让CPU;

目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows 等。

硬件保护

支持多任务的系统必须确保,某个进程出故障不会影响其它进程的执行,因此在硬件上建立如下保护机制:
双运行模式
I/O 保护
存储 保护
CPU 保护

双模式操作

硬件支持至少两种运行模式:

  1. 用户模式 (又叫用户态、目态)– 执行普通用户的应用程序
  2. 监控模式(Monitor mode,也称内核模式、系统模式、监控态、管态、特权模式) – 执行操作系统核心代码
    如何区分双模式及其切换
    在计算机程序状态字中增加模式位 指示目前所处模式: 系统态 (0) 或用户态 (1)
    当中断或故障发生(自陷),硬件自动从用户态切换到系统态。
    当用户程序需要操作系统的服务(通过系统调用),它必须由目态切换到管态。
    双重模式操作可以确保系统和用户程序不受错误的用户程序的影响。
    实现方法:将能引起损害的机器指令作为特权指令。特权指令只能在系统态下运行。如果用户模式下试图执行特权指令,那么硬件认为该指令非法,并以陷阱的形式通知操作系统。
    由管态转换到目态是特权指令,其他的特权指令有I/O控制、定时器管理和中断管理。

I/O 保护

所有的 I/O 指令是特权指令( privileged instructions)。

必须确保所有的用户程序不能获得管态下操作系统所拥有的对系统的控制权。

存储保护

存储保护是指:
某进程不可以访问其它进程的地址空间(非共享情况)
用户进程必须通过系统调用访问OS核心区。
在连续分配方式中,为了实现存储保护,在硬件上增加两个寄存器:
基地址寄存器 – 存放本进程最低的内存物理地址
界限寄存器 – 存放本进程的存储区域大小

当操作系统在核心态下执行时,操作系统能够无限制地访问核心和所有用户进程的存储空间。

修改基地址和界限地址寄存器内容的指令属特权指令。

CPU 保护

用户进程被派发CPU后,若程序是死循环,始终不执行系统调用,则OS无法获得CPU的控制权,系统必须避免这种情况发生。有如下机制:
硬件设置时钟 – 定时中断,该中断使操作系统获得CPU控制权。
定时是通过对每个时钟脉冲计数获得的,每来一个脉冲,预定的计数值减1,
当计数值减到0,发生定时器中断
定时时钟是实现分时(time-sharing)操作系统的硬件基础。
设定每N毫秒(时间片)时钟中断一次,即每个进程可使用处理器N毫秒,然后无论完成与否都出让CPU,排队等待下个时间片。
修改定时时钟的指令为特权指令。

打赏

请我喝杯咖啡吧~

支付宝
微信