THU OS Chapter 1
THU OS Chapter 1
Chapter 1 的主要内容是 : OS的一些知识
计算机系统的层次结构
计算机系统 |
---|
用户 |
应用程序(软件) |
操作系统 |
裸机(纯硬件) |
OS是什么?
用户角度:OS是一个控制软件
- 管理应用程序
- 为应用程序提供服务
- 杀死应用程序
程序角度:OS是资源管理器
- 管理外设、分配资源
- 抽象
- 将CPU抽象成进程
- 将磁盘抽象成文件
- 将内存抽象成地址空间
计算机OS可以理解为站在管理者的角度,为相应文件和应用提供控制、管理和服务,OS架层次结构处于硬件之上和应用程序之下(为应用软件提供支撑服务)。
OS的功能和目标
补充:进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理。
打开文件夹,找到可执行文件的存放位置 ——> 把程序的相关数据放入内存 ——> 对应的进程被CPU处理 ——> IO设备分配给进程
OS作为用户和计算机硬件之间的接口
- 命令接口:允许用户直接使用(联机命令接口/脱机命令接口)
命令接口 |
---|
联机命令接口:用户说一句,系统做一句(交互式命令接口) |
脱机命令接口:用户说一堆,系统做一堆(批处理命令接口) |
- 程序接口:允许用户通过程序间接使用(由一组系统调用[程序接口]组成) //一般是库的调用(.dll文件)
- GUI:现代操作系统中最流行的图形用户接口
OS内核 Kernel
Linux Windows Android 的界面属于外壳(Shell) ,而不是内核(kernel)。OS研究的是内核,处于Shell之下。
kernel组件
- CPU调度器(CPU管理、进程/线程管理)
- 物理内存管理
- 虚拟内存管理
- 文件系统管理(调取访问、永久存储)
- 中断处理与设备驱动
OS kernel特征
- 并发
- 计算机系统中同时存在多个运行程序,需要OS管理或者调度
- 并发和并行的区别:并发强调一个时间段的多任务进行,并行强调再一个时间点上的多任务进行(需要cpu多核多线程)
- 共享
- “同时”访问:系统中的某些资源,允许一个时间段内由多个进程“同时”对他们进行访问(宏观)
- 互斥共享:系统中的某些资源,虽然可以提供给多个进程使用,但是在一个时间段内只允许一个进程访问该资源
- (涉及到磁盘分区,一个小的磁盘组面对多进程调用的信息访问选择)
并发性和共享性互为存在条件,二者互相依存,缺失了任何一个则另一个没有存在意义。
- 虚拟
- 利用多道程序设计技术,让每个用户都觉得有有一个计算机专门为他们服务
- (cpu虚化为进程,磁盘虚化为文件,内存虚化为内存地址;可以将一台物理机器虚化成多个计算机,定向服务)
- 没有并发性,就谈不上虚拟性。失去了并发性则一个时间段内系统中只会运行一道程序,则失去了现实虚拟性的意义
虚拟技术 | |
---|---|
空分复用技术 | 如虚拟存储器技术 |
时分复用技术 | 如虚拟处理器 |
- 异步
- 程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知
- 只要运行环境相同,OS需要保证程序运行结果也要相同
- 只有系统具备了并发性,才可能会导致异步性的产生;不具备并发性的系统不会产生异步特性