操作系统知识点总结

1、进程和线程的概念,为什么需要,他们之间有什么区别,各自如何同步的
概念:
进程是对运行时程序的封装,是系统进行资源调度和分配的基本单位,作用是为了实现操作系统的并发。
线程是进程的子任务,是cpu调度个分派的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系统可识别的最小执行和调度单位。每个线程都独自占用一个虚拟处理器;独自的寄存器组、指令计数器和处理器状态。每个线程完成不同的任务,但是共享同一地址空间(同样的动态内存、映射文件、目标代码等),打开的文件队列和其它内核资源。

区别:
1、一个线程只能属于一个进程,而一个进程可以有多个线程(至少有一个线程),线程依赖于进程而存在。
2、进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。(资源分配给进程,同一进程的所有线程共享代码段(带码和常量),数据段(全局变量和静态变量),扩展段(堆存储),但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和静态变量。
3,进程是资源分配的最小单位,线程是CPU调度的最小单位;
4、系统开销:由于在创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O设备等。因此,操作系统所付出的开销将显著地大于在创建或撤消线程时的开销。。类似的,在进行进程切换时,涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置。而线程切换只需保存和设置少量寄存器的内容,并不涉及存储期管理方面的操作。可见,进程切换的开销也远大于线程切换的开销。
5,通信:由于同一进程中的多个线程具有多个相同的地址空间,致使它们之间的同步和通信的实现也变得比较容易,进程间通信IPC,线程间可以直接读写进程的数据段(如全局变量),来进行通信——需要进程同步和互斥手段的辅助,,以保证数据的一致性 。再有的系统中,线程的切换、同步和通信都无需操作系统内核的干预
6. 进程编程调试简单可靠性高,但是创建销毁开销大;线程正好相反,开销小、切换速度快,但是编程调试相对复杂。
7. 进程间不会相互影响;线程的一个线程挂掉将导致整个进程挂掉。
8. 进程适应多核、多机分布;线程适用于多核。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值