并发
并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。
并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。
操作系统通过引入进程和线程,使得程序能够并发运行。
共享
共享是指系统中的资源可以被多个并发进程共同使用。
有两种共享方式:时分共享和空分共享。
在时分共享中有两种不同的使用方法
- 独占式使用:例如打印机等,在同一时刻只允许一个进程访问
- 分时式使用:让每个进程轮流占用处理器,每次只执行一小个时间片并快速切换
操作系统基本功能
进程管理
进程控制与调度、进程同步与通信、死锁处理等
内存管理
内存分配、地址映射、内存保护与共享、虚拟内存等
文件管理
文件存储空间的管理、目录管理、文件读写管理和保护等
设备管理
完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率
主要包括缓冲管理、设备分配、设备处理、虛拟设备等
系统调用
内核态、用户态:内核态可以访问任何数据,用户态不能访问内核数据。对于指令跳转也实现了隔离。
DPL、CPL检查机制
系统调用的核心:用户程序中包含中断指令代码,操作系统写中断处理获取想调用程序的编号,操作系统根据编号执行相应代码。
中断指令是用户程序调用内核代码的唯一方式
中断和异常
中断(外中断):指CPU执行指令以外的事件发生,如外部设备发出的各种I/O结束中断表示设备I/O操作已完成,时钟中断等
异常(内中断、自陷):由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等