第三章 进程(操作系统概念第七版)

进程:执行中的程序,是现代分时系统的单元,一个进程可以产生多个进程。多个进程可以与同一个程序相关。
**一.基本概念**

为什么要创建子进程:
总结来讲,就是时候对于同一进程而言,这些函数、线程都是存在于同一个地址空间下的,而且在执行时,大多只对与其相关的一些数据进行处理,对于无关的就要保护,所以创建子进程。父进程来掌握子进程的启动、执行和退出从而保护父进程中的无关数据。
http://blog.chinaunix.net/uid-26983585-id-3219678.html
进程的五个状态:
五个状态:new ready run wait exit(teriminated)
一次只有一个进程在处理器上运行可以多个处于就绪或等待状态,同一个进程处于new或terimainated状态只要一次,其他状态可以多次。
PCB:

PCB:存储与特定进程相关的信息,用于进程切换时保存进程状态。一个进程能够同时执行多个线程,我们很快回去讨论线程的概念。
二.进程调度:
每个PCB包括指向就绪队列以及下一个PCB的指针域。队列用链表实现,Linux中用task_struct作为PCB,实现双向链表。
作业队列:进入系统。
就绪队列:内存中就绪的,等待运行的。
设备队列:等待I/O 设备的进程列表。(一个就绪队列被CPU选中之后会有四种可能的去向,队列图:表示任务在队列中的转移以及对资源的利用队列图:表示任务在队列中的转移以及对资源的利用)详情见77页。
长期调度程序(作业调度程序):选择缓冲池(磁盘)中的程序装入内存,执行频率低,可以慢点。

短期调度程序(CPU调度程序):选择准备执行的程序,分配CPU。

I/O-bound process 和CPU-bound process兼而有之才能充分利用CPU和IO,让CPU和IO等待队列平衡。

分时操作系统会引入中期调度程序,执行交换(swapping)。
课本上更详细的语言是:
3.1 Desrcribe the differences among short-term,medium-term,and log-term scheduling
长期调度程序(作业调度程序):从缓冲池(通常为磁盘)中选择程序,并装入内存并准备执行。其控制多道程序设计的程度(内存中进程的数量)。每次执行之间时间长。此外其子在进程的选择上需要仔细,需要选择IO为主(进程主要时间用在IO请求上)和CPU为主(进程主要时间用在CPU请求上)的进程的合适组合。
短期调度程序(CPU调度程序):从准备执行的进程中选择进程,并为之分配CPU,执行频率高,执行行数毫秒(ms)就会进行I/O请求,频繁的为CPU选择新的进程
中期调度程序:其主要目的就是为了是实现上述所说的进程组合,为了改善进程组合或者因为内存要求的改变引起可用内存的过度使用而需要释放内存,就用到中期调度程序,其核心思想是将进程从内存中移除,进而降低多道程序设计的程度。
执行:同时;父等待子进程完成。

地址空间:复制品,装入新程序。

fork()父进程返回正数,子进程返回0。

exit(),一般只有父进程终止子进程。子进程资源占用超出,任务已经不需要,或者父进程退出,则子进程终止。
三.进程间的通信
协作进程的有点:信息共享,提高运算速度模块化,方便
模式:共享内存,信息传递
共享内存:生产者消费者,有限或者无限缓冲,BUFFER_SIZE-1 判断两种情况需要。这里预留一个问题为什么缓冲的大小是BUFFER_SIZE-1。
消息传递:在分布式环境中特别有用,分为直接和间接,同步和异步,自动和显示缓冲
关于进程的PPT
http://www.doc88.com/p-7788316695759.html
关于这一章的读书笔记刚看到一篇很全的
操作系统学习笔记三进程 - 壞得彻底的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/windowseight/article/details/8167800

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值