操作系统知识点梳理-进程线程

1.为什么需要有内核态?

为了保障系统的安全,一些可能会影响其他进程的指令,需要在核心态才能执行
为了管理系统资源

2.进程的定义

组成:程序段,数据段、PCB(进程实体/进程映像,用来描述进程的详细信息,是进程存在的唯一标志)
pcb

定义:进程是程序的一次执行过程/进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

组织方式:链接(分为多个队列:执行队列、就绪队列、阻塞队列)、索引(分为多个索引表,指针指向索引表,索引表的每条记录指向一个pcb)

特征:动态性、并发性、独立性(独立执行,分配调度资源的最小单位)、异步性(执行结果不确定)、结构性(pcb)

状态:创建态(分配内存以及其他系统资源、初始化pcb)->就绪态(等待cpu分配与调度)->执行态(在cpu上运行)->阻塞态(因某一事件暂时不能运行)->终止态(正常/异常结束、撤销pcb、回收系统资源)
转换:就绪态->运行态 (进程被调度);运行->就绪(时间片用完/高优先级进程抢占处理机);运行态->阻塞态(通过系统调用申请资源或者等待某事件的发生);阻塞态->就绪态(申请资源分配、等待事件发生)

3.进程通信
一个进程不能直接访问另一个进程的地址空间

共享存储:设立一块共享空间,对共享空间的访问互斥
基于数据结构的共享、基于存储区的共享

管道通信:连接读写进程的一个共享文件,又称pipe文件,一个固定大小的缓冲区,一般和操作系统的页的大小相同
半双工通信(单向传输,读写的两方固定),若想实现全双工通信则需要开辟2个管道。写满以后才能读数据,读完以后才能写数据。数据一旦被读出就会被抛弃,所以只能有一个读进程,不然会发生读错数据的情况。

消息传递:以格式化消息为单位(消息头+消息体),进行通过操作系统提供的读数据/写数据两个原语进行数据交换。
直接通信:创建消息体->通过发送原语挂到目标进程的消息缓冲队列的队尾;
间接通信:(信箱通信方式):发送到中间实体(信箱),消息实体中的消息头包含发送方与接受方的信息。进程1通过发送原语将消息发送到信箱,接受方通过接收原语从信箱中取出消息。

4.线程

什么是线程,为什么要引用线程?
线程是程序执行的最小单位,轻量级进程
进程需要同时做很多事,比如视频,发文件等,引入线程来增加并发度

线程属性:
线程由线程ID+线程控制块TCB组成
多cpu计算机中,不同线程可占用不同cpu
同一进程下的线程共享进程的资源
同一进程下线程的切换不会引起进程环境的切换,线程切换开销很小

线程的实现方式
用户级线程
用户级线程
内核级线程
内核级线程模型
用户级线程+内核级线程
用户级线程+内核级线程

线程模型
多对1模型:优点:在用户空间即可完成切换,线程切换开销小,效率高;缺点:当用户级线程被阻塞后会阻塞进程。
多对1模型
1对1模型:优点:并发能力强,一个线程被阻塞,其他线程可以继续执行,可以在多处理机上执行;缺点:进程切换需要切换到内核态,成本开销大 。
1对1模型
多对多模型:克服了多对1模型并发度小的缺点,又克服了 1对1模型用户进程占用太多内核级线程开销大的缺点。
多对多模型

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进程线程操作系统中的两个重要概念,用于管理和执行程序的执行。 1. 进程(Process): - 进程是计算机中正在运行的程序的实例。它由程序、数据集合、执行状态等组成。 - 每个进程都有自己的地址空间和系统资源,如打开的文件、网络连接等。 - 进程是独立运行的,拥有自己的执行流程,可以并行执行。 - 进程之间通过进程间通信(IPC)机制进行交互,如管道、共享内存、消息队列等。 2. 线程(Thread): - 线程进程中的一个执行单元,一个进程可以包含多个线程。 - 线程共享进程的资源,如地址空间、文件描述符等。 - 线程之间可以并发执行,共享进程的上下文和数据。 - 线程之间可以通过共享内存等机制进行通信。 进程线程之间的区别: 1. 资源开销:创建和撤销进程的开销较大,包括分配内存空间、建立上下文等;而创建和撤销线程的开销较小,因为它们共享进程的资源。 2. 独立性:进程是独立运行的实体,互相之间不会影响;而线程是在进程内部的执行流,共享进程的资源,彼此之间有较强的依赖关系。 3. 切换速度:由于线程共享进程的上下文,线程的切换速度较快;而进程切换需要保存和恢复更多的上下文信息,速度较慢。 4. 通信和同步:进程间通信需要额外的机制,如管道、消息队列等;而线程之间可以直接共享内存,更容易进行通信和同步。 进程线程的使用场景: - 进程适合用于独立运行、互不干扰的任务,如操作系统中的各个应用程序。 - 线程适合用于执行共享资源、并发执行的任务,如多线程网络服务器、图形界面程序等。 总结:进程线程操作系统中用于管理和执行程序的重要概念。进程是程序的实例,拥有独立的资源和执行流程,通过进程间通信进行交互。线程进程中的执行单元,共享进程的资源,可以并发执行,通过共享内存等机制进行通信。进程线程各有优势和适用场景,根据具体需求选择合适的方式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值