操作系统
- 管理计算机硬件与软件资源的程序
- 运行在计算机上的一个软件
- 分为内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)
基本特征
并发
并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令 并发需要硬件支持 操作系统引入进程和线程,使得程序能够并发执行
共享
系统中的资源可以被多个并发进程共同使用
- 互斥共享
- 临界资源,这种资源共享需要使用同步机制来实现互斥访问
- 同时共享
虚拟
- 时分复用
- 多个进程能在同一个处理上运行(每个进程轮流使用处理器,快速进行切换)
- 空分复用
- 虚拟内存中的页映射,进程地址空间的内存可以不用全在物理内存中,一些可以放在外存,当需要这些内存的时候,通过页面置换算法,移到内存当中
异步
进程不一次性执行完毕,以不确定的速度前进
基本功能
- 进程管理
- 内存管理
- 文件管理
- 设备管理
系统调用
用户态(user mode) : 用户态运行的进程或可以直接读取用户程序的数据。
内核态(kernel mode):可以简单的理解系统态运行的进程或程序几乎可以访问计算机的任何资源,不受限制
进程需要使用一些功能,通过系统调用陷入内核,由操作系统代为完成
内核
大内核
操作系统功能作为一个紧密的整体
- 性能很高
微内核
将一些功能独立出内核,划分成服务,降低内核的复杂性
- 会有一定的性能损失
中断
外中断
CPU执行指令外的事件引起,IO完成中断、时钟中断等
异常
CPU执行指令引起的,地址越界、算术溢出
陷入
在用户程序中使用系统调用