链接
https://www.bilibili.com/video/BV1d4411v7u7/?spm_id_from=333.788.recommend_more_video.0&vd_source=0494b41ccea404635263d07558fdfeff
正文
1. 操作系统是什么
操作系统是计算机硬件和应用软件中间的一层软件:它能方便我们使用和操作硬件。
管理什么:CPU、内存、终端、磁盘、文件等
2. 冯诺伊曼存储程序思想
将程序和数据放到存储器中,通过控制器进行一步步的处理。计算机的工作方式:取指执行
3. 操作系统启动
这部分,因为哥们儿汇编学的不好/忘了,先不看
4. 操作系统接口
- 什么是操作系统接口:连接应用软件和硬件的函数,由系统提供,形式是函数,所以叫做系统调用
- 接口的标准:POSIX,IEEE指定的标准族
5. 系统调用的实现
- 内核态和用户态:把普通用户程序和内核程序隔离。通过硬件设计来实现的,有个CPL有个DPL,用户态CPL=3,进入内核态DPL = 0,通过比较大小来控制访问
- 硬件提供了主动进入内核态的方法:中断,int指令会把CS中的CPL设置为0。
- 系统调用核心:int指令->操作系统写中断处理,获取想调用程序编号->根据编号执行代码
6.CPU的管理
- 如何使用CPU:设置PC指针的初始地址,计算机会自动执行相应的指令
- 多道程序,CPU来回切换执行,这个叫做并发。
- CPU来回切换的时候,寄存器的内容需要保留,不能只改PC指针,所以需要有个东西来记录程序执行的现场。
- 运行中的程序(因为需要记录现场信息),所以跟静态程序不一样了,就要引入进程的概念。
7.CPU的多进程图谱
多进程就是同时运行多个程序,CPU来合理的推进几个程序的执行
- PCB:用来记录进程信息的数据结构
- 多个进程如何组织:用PCB形成一些队列等数据结构
8.CPU多进程的问题
- 写物理地址,需要进行隔离
- 两个线程,需要两个栈,不然会出问题