操作系统-第2章进程的描述与控制

本文介绍了进程的概念,强调其动态性、并发性、独立性和异步性特征。详细阐述了进程状态切换、进程控制(包括创建和终止进程的过程)、进程通信方式(共享存储、管道、消息传递和客户端服务器系统)。同时,探讨了线程的引入,说明线程如何减少系统开销并简化通信。最后讨论了内核级线程和用户级线程的区别以及多对多模型的优势。
摘要由CSDN通过智能技术生成

(简答)

1.进程概念:程序段、数据段和PCB构成了进程实体。一般情况,进程实体 = 进程。

2.进程的特征

(1)动态性:程序的一次执行过程叫做进程,而程序是一组有序指令的集合,本身不具备活动的含义是静态的。

(2)并发性:没有建立PCB的程序是不可以并发执行的。

(3) 独立性:进程是一个独立运行、独立获得资源和独立接受调度的基本单位,未建立PCB的程序不能作为独立的基本单位。

(4) 异步性:虽然具有异步性质,但是配置了同步机制,保证结果的可再现性。

3.进程状态的切换

     不同的进程处于不同用户空间,因此当进程切换的时候,需要OS内核支持。CPU控制权从用户进程交给OS内核,OS内核把A进程的断点信息和寄存器存储的数值暂时存放在对应的私有堆栈内存区域,然后把CPU和控制权限分配给B进程去运行,改变B进程状态为内核态,系统开销相对比较大。

4.进程控制

            创建新进程、终止完成的进程、将进程置于阻塞态、状态转换......

            创建进程:申请空白的PCB -> 为进程申请资源 -> 初始化PCB ->PCB插入就绪队列

            终止进程:从PCB集合找到终止的PCB ->正在运行剥夺CPU分配其他进程 ->终止子进程 ->归还所有资源 ->删除PCB

          【拓展】阻塞block(是一种主动的行为,我阻塞我)   唤醒wakeup    挂起suspend   激活active

5.进程通信

            (1)共享存储器系统:基于数据结构的共享(OS负责)和基于存储区的共享(进程负责)

            (2)管道通信系统:半双工,互斥访问通道。写满不能写,读完不能读;没写满不能读,没读完不能写

            (3)消息传递系统:直接通信方式和间接通信方式(中介:邮箱)

            (4)客户机服务器系统:socket套接字

6.线程

          引入线程以后:进程仍然是资源分配的基本单位,但是线程成为接受调度的基本单位。同一个进程之间的线程切换,不需要切换用户环境,系统开销减小。同一个进程的线程通信无须干预。同一进程的不同线程共享进程资源,而且线程几乎不需要系统的资源。

但是不同进程下的线程切换会引起进程的切换。
7.内核级线程和用户级线程

           内核级线程在内核的支持下运行,创建、撤销和切换也都是在内核空间,通过系统调用完成的。切换需要从用户态转为内核,切换完毕要从内核态返回用户态,系统开销大。但是不同线程可以占用不同的cpu,合理利用多核CPU,并发度比较高。

         用户级线程是在用户空间内实现的,对线程的创建、撤销、同步和通信等功能无需内核的支持,而且内核完全不知道用户级线程的存在。线程的切换无需进入内核,减少了模式切换的开销。同一个进程的线程通信无须干预。但是进程下的线程只能在一个cpu进行切换使用,一个线程阻塞可能导致整个进程的阻塞。

       最好采用多对多模型,这样即克服了多对一并发度不高的缺点,又克服了一对一模型进程占用太多内核级线程的缺点。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值