Bootstrap

操作系统(哈工大李治军老师)32讲

链接

https://www.bilibili.com/video/BV1d4411v7u7/?spm_id_from=333.788.recommend_more_video.0&vd_source=0494b41ccea404635263d07558fdfeff

正文

1. 操作系统是什么

操作系统是计算机硬件和应用软件中间的一层软件:它能方便我们使用和操作硬件。
管理什么:CPU、内存、终端、磁盘、文件等

2. 冯诺伊曼存储程序思想

将程序和数据放到存储器中,通过控制器进行一步步的处理。计算机的工作方式:取指执行

3. 操作系统启动

这部分,因为哥们儿汇编学的不好/忘了,先不看

4. 操作系统接口

  1. 什么是操作系统接口:连接应用软件和硬件的函数,由系统提供,形式是函数,所以叫做系统调用
  2. 接口的标准:POSIX,IEEE指定的标准族

5. 系统调用的实现

  1. 内核态和用户态:把普通用户程序和内核程序隔离。通过硬件设计来实现的,有个CPL有个DPL,用户态CPL=3,进入内核态DPL = 0,通过比较大小来控制访问
  2. 硬件提供了主动进入内核态的方法:中断,int指令会把CS中的CPL设置为0。
  3. 系统调用核心:int指令->操作系统写中断处理,获取想调用程序编号->根据编号执行代码

6.CPU的管理

  1. 如何使用CPU:设置PC指针的初始地址,计算机会自动执行相应的指令
  2. 多道程序,CPU来回切换执行,这个叫做并发。
  3. CPU来回切换的时候,寄存器的内容需要保留,不能只改PC指针,所以需要有个东西来记录程序执行的现场。
  4. 运行中的程序(因为需要记录现场信息),所以跟静态程序不一样了,就要引入进程的概念。

7.CPU的多进程图谱

多进程就是同时运行多个程序,CPU来合理的推进几个程序的执行

  1. PCB:用来记录进程信息的数据结构
  2. 多个进程如何组织:用PCB形成一些队列等数据结构
    在这里插入图片描述

8.CPU多进程的问题

  1. 写物理地址,需要进行隔离
  2. 两个线程,需要两个栈,不然会出问题
;