进程管理

进程是拥有资源的基本单元
线程是调度的基本单元
进程的七状态
新的:进程正在创建
运行:指令正在执行
等待:等待某个事件的发生
就绪:等待cpu时间片
就绪挂起 :当内存不够产生交换
阻塞挂起:
结束:

进程控制块:pcb

进程状态 状态可以包括:新的,就绪,运行,阻塞结束,阻塞挂起,就绪挂起
程序计数器 表示进程要执行的下一条指令
cup寄存器 累加器,索引寄存器,堆栈指针,通用寄存器
cpu调度信息 优先级,调度队列
内存管理信息 基地址,界限寄存器的值,页表,段表等
记账信息 cpu时间,实际使用时间,时间期限,记账数据
io状态信息 分配给io设备列表,打开我就文件列表等

操作系统双模式
用户模式:
内核模式:
进程类型
IO密集型进程:执行io比执行运算花费时间多
CPu密集型进程:很少产生io花费大部分时间用于计算
进程上下文切换
进程由某个状态变为另外状态需要保存一系列数据,系统调用由用户态变内核态
僵尸进程
当一个进程终止,操作系统会释放其资源,不过在进程表中的条目还是在的,直到父进程调用wait,才会在进程表把该条目删除,如果没有调用wait,这样的进程就是僵尸进程
危害:僵尸进程多会占用系统资源,导致新进程无法创建
孤儿进程
父进程没有wait就结束,在linux中该进程会被init进程回收,init进程作为该进程的父进程
init进程会定时调用wait,以便定时收集孤儿进程退出,并释放孤儿进程标识符,和进程表
进程通信
共享内存和消息传递
共享内存:建立一块供协作进程共享的内存区域
消息传递:通过协作进程间交换消息来实现通信
共享内存快过消息传递,消息传递实现通常采用系统调用,需要模式切换从用户态切换到内核态才能传递,与此相反,共享内存系统仅在建立共享内存时需要系统调用;一旦建立共享内存,所有访问都不需要借助内核
共享只读区域不需要同步机制,若是读写需要引入同步机制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值