操作系统学习笔记

1. 操作系统接口

系统调用

POSIX:IEEE 制定的针对 UNIX 的一个操作系统接口调用标准族

内核态可以访问任意数据,用户态不能访问内核数据

2. 多进程图像

进程:进行(执行)中的程序,进程和静态程序不一样!

进程 = 资源 + 指令执行序列

多进程:操作系统将启动的进程记录好,按照合理的次序推进(分配资源,进行调度)。

PCB(Process Control Block) :用来记录进程信息的数据结构(执行入口 PC,ax,bx 等),为了在切换进程返回以后能够继续向下执行。

如何形成多进程图像

  1. 读写 PCB,OS 中最重要的结构
  2. 要读写寄存器完成切换
  3. 要写调度程序
  4. 要有进程同步与合作
  5. 要有地址映射

3. 线程

线程保留了并发的优点,避免了进程切换代价。实质就是映射表不变而 PC 指针变。

TCB(Thread Control Block) :记录线程函数调用栈的数据结构

每个线程拥有自己的函数调用栈

3.1. 用户级线程

TCB 在用户态,用户自己封装的线程,thread_create 与 yield 都是用户程序,由用户自己定义什么时候进行线程转让(yield)。

3.2. 内核级线程

TCB 在内核中,ThreadCreate 是系统调用,会进入内核,Yield()用户不可见,调度点由系统决定,在系统中称为 Schedule。

4. 进程同步与信号量

临界区:进程中同一时间只允许一个进程执行的一段代码

5. 段页结合的内存管理

Jin 支付宝支付宝
Jin 微信微信
0%