计算机操作系统--概述(一)
相关知识:
功能:
- 处理机管理:控制和管理CPU工作
- 存储管理:内存的分配和管理
- 设备管理:管理基本的输入输出设备
- 文件管理:组织,存储,操作和保护文件
- 进程管理(作业管理):对计算机所进行的操作进行管理
1.基本特征
1.1并发
并发:宏观上,一段时间能运行多个程序,实际上是时间片轮转
并行:同一时刻运行多个指令,需要硬件支持,如多流水线,多核处理器或分布式计算系统
操作系统引入进程和线程,使程序能够并发运行
1.2.共享
共享:系统中的资源可以被多个并发进程共同使用
互斥共享:互斥共享的资源称为临界资源,如打印机,在同一时间只允许一个进程访问,需要同步机制来实现互斥访问
同时共享
1.3.虚拟
虚拟技术:把一个物理实体转化为多个逻辑实体
时分复用技术 && 空分复用技术
多个进程在处理器上并发执行使用的时分复用技术,每个进程轮流占用处理器,每次执行一小个时间片并快速切换
虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的 页时,执行页面置换算法,将该页置换到内存中。
1.4.异步
异步:进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。
异步是相对同步而言的,同步就是等待,异步就是不等待。
2. 基本功能
- 进程管理:进程控制,进程同步,进程通信,死锁处理,处理机调度
- 内存管理:内存分配,地址映射,内存保护与共享,虚拟内存
- 文件管理:文件存储空间的管理,目录管理,文件读写管理和保护
- 设备管理:完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率等。主要包括缓冲管理,设备分配,设备处理,虚拟设备等。
3.系统调用
如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成

linux的系统调用主要有以下这些:
| Task | Commands |
|---|---|
| 进程控制 | fork(); exit(); wait(); |
| 进程通信 | pipe(); shmget(); mmap(); |
| 文件操作 | open(); read(); write(); |
| 设备操作 | ioctl(); read(); write(); |
| 信息维护 | getpid(); alarm(); sleep(); |
| 安全 | chmod(); umask(); chown(); |
4.宏内核和微内核
宏内核:将操作系统功能作为一个紧密结合的整体放到内核。由于各模块共享信息,因此有很高的性能。
微内核:由于操作系统不断复杂,因此将一部分操作系统功能移除内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。
在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。因为需要频繁地在用户态和核心态之间进行切换,所以会有一定地性能损失。
5. 中断分类
外中断:由CPU执行指令以外的事件引起,如I/O完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。
异常:由CPU执行指令以内的事件引起,如非法操作码、地址越界、算术溢出等。
陷入:在用户程序中使用系统调用。
异常向量:
当一种异常发生的时候,arm处理器会跳转到对应异常的固定地址去执行异常处理程序,而这个固定的地址,就成为异常向量。由7个异常向量及其处理函数跳转关系组成的表叫做异常向量表。
流程:
- CPU按序执行
- 收到中断(电位等手段)
- 跳转到固定地址,执行固定行为
- 保存现场(寄存器信息)
- 判断中断源
- 执行操作
- 复原现场
- 返回执行原来的进程
参考资料:https://github.com/CyC2018/CS-Notes/blob/master/notes/
浙公网安备 33010602011771号