操作系统复习笔记 Chapter03~04

使用书籍《操作系统概念》

操作系统复习笔记Part II

Chapter 3 进程

进程概念

  • 进程是程序的运行实体,包含了程序段、数据段、PCB,是系统分配资源的基本单位。
    进程状态(切换)

进程调度

  • 长期调度(或作业调度)——从作业池中选择进程,并将它们装入内存(就绪队列)以执行。
  • 短期调度(或CPU调度)——从就绪可执行的进程中选择进程,并为其分配CPU。
  • 中期调度(交换调度)——将进程从内存或从CPU竞争中移出,从而降低多道程序设计的程度,之后进程能被重新调入内存,并从中断处继续执行。

进程创建

  • fork():创建一个子进程,这个“子进程”完全是“父进程”的一个“拷贝”,只有进程号不一样
    相当于把父进程对应的内存拷贝一份到子进程对应的内存区域。
  • exec():是把一个新的程序转载到进程的内存空间里面去。

进程终止

  • 当一个进程终止时,操作系统会释放其资源。事实上,在正常终止时,exit()可以直接调用,也可以间接调用。
  • 父进程可以通过系统调用 wait(),等待子进程的终止。系统调用wait()可用通过参数,让父进程获得子进程的退出状态;这 个系统调用也返回终止子进程的标识符,这样父进程就能知道哪个子进程已经终止了。

名词辨析

  • 僵尸进程:一个子进程在父进程还没有调用wait()方法或者waitpid()方法的情况下退出,这个子进程就是僵尸进程;
  • 孤儿进程:一个父进程退出,它的一个或多个子进程还在运行,子进程将成为孤儿进程,孤儿进程将被init进程所收养;
    僵尸进程将会导致资源浪费,而孤儿进程则不会。

Chapter 4 线程

线程的概念:线程是CPU使用的基本单元(进程中的可执行单元),包括线程ID,程序计数器,寄存器和堆栈。

线程与进程的区别与联系:

  • 线程往往称为轻量级进程,是CPU调度和分派的基本单元。进程是系统资源分配的基本单元。
  • 进程有自己独立的地址空间,而线程没有
  • 一个进程可以包含多个线程,线程默认共享它们所属进程的内存和资源,而进程只能通过共享内存/消息传递之类的技术共享资源/通过进程间通信进行信息交换
  • 线程不占用系统资源,调度线程比调度进程开销更小,在线程间切换比在进程间切换效率高

多线程编程

  • 每个线程都要维护各自的寄存器和堆栈。
  • 优点:响应性;资源共享;经济;可伸缩性

多线程模型

  • 多对一:允许开发人员创建任意多的用户进程,但是由于内核一次只能调度一个线程,所以未增加并发性
  • 一对一:创建内核线程的开销
  • 多对多:开发人员可以创建任意多的用户线程,并且相应内核线程能在多处理器系统上并发执行

名词辨析

  1. 并发 & 并行:
    并发:多个任务快速交替执行,宏观上是同时执行的
    并行:同一时间多个任务同时执行,宏观和微观上都是同时执行
  2. 进程与线程
  3. 孤儿进程 & 僵尸进程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值