当前位置:网站首页>并发和并行有什么区别?
并发和并行有什么区别?
2022-07-27 20:43:00 【华为云】
并发和并行有什么区别?
并发就是在一段时间内,多个任务都会被处理;但在某一时刻,只有一个任务在执行。单核处理器可以做到并发。比如有两个进程A和B,A运行一个时间片之后,切换到B,B运行一个时间片之后又切换到A。因为切换速度足够快,所以宏观上表现为在一段时间内能同时运行多个程序。
并行就是在同一时刻,有多个任务在执行。这个需要多核处理器才能完成,在微观上就能同时执行多条指令,不同的程序被放到不同的处理器上运行,这个是物理上的多个进程同时进行。
大内核和微内核有什么区别?
大内核,就是将操作系统的全部功能都放进内核里面,包括调度、文件系统、网络、设备驱动器、存储管理等等,组成一个紧密连接整体。大内核的优点就是效率高,但是很难定位bug,拓展性比较差,每次需要增加新的功能,都要将新的代码和原来的内核代码重新编译。
微内核与单体内核不同,微内核只是将操作中最核心的功能加入内核,包括IPC、地址空间分配和基本的调度,这些东西都在内核态运行,其他功能作为模块被内核调用,并且是在用户空间运行。微内核比较好维护和拓展,但是效率可能不高,因为需要频繁地在内核态和用户态之间切换。
分时系统和实时系统有什么区别?
分时系统(Sharing time system)就是系统把CPU时间分成很短的时间片,轮流地分配给多个作业。它的优点就是对多个用户的多个作业都能保证足够快的响应时间,并且有效提高了资源的利用率。
实时系统(Real-time system)是系统对外部输入的信息,能够在规定的时间内(截止期限)处理完毕并做出反应。它的优点是能够集中地及时地处理并作出反应,高可靠性,安全性。
通常计算机采用的是分时,就是多个进程/用户之间共享CPU,从形势上实现多任务。各个用户/进程之间的调度并非精准度特别高,如果一个进程被锁住,可以给它分配更多的时间。而实时操作系统则不同,软件和硬件必须遵从严格的时间限制,超过时限的进程可能直接被终止。在这样的操作系统中,每次加锁都需要仔细考虑。
静态链接和动态链接有什么区别?
静态链接就是在编译期间,由编译器和连接器将静态库集成到应用程序内,并制作成目标文件以及可以独立运作的可执行文件。静态库一般是一些外部函数与变量的集合。
静态库很方便,但是如果我们只是想用库中的某一个函数,却仍然得把所有的内容都链接进去。一个更现代的方法是使用共享库,避免了在文件中静态库的大量重复。
动态链接可以在首次载入的时候执行,也可以在程序开始执行的时候完成。这个是由动态链接器完成,比方标准 C 库(libc.so) 通常就是动态链接的,这样所有的程序可以共享同一个库,而不用分别进行封装。
编译有哪些阶段?
预处理阶段:处理以 # 开头的预处理命令;
编译阶段:翻译成汇编文件;
汇编阶段:将汇编文件翻译成可重定位目标文件;
链接阶段:将可重定位目标文件和 printf.o 等单独预编译好的目标文件进行合并,得到最终的可执行目标文件。
进程有哪些状态?
在五状态模型里面,进程一共有5中状态,分别是创建、就绪、运行、终止、阻塞。
运行状态就是进程正在CPU上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。
就绪状态就是说进程已处于准备运行的状态,即进程获得了除CPU之外的一切所需资源,一旦得到CPU即可运行。
阻塞状态就是进程正在等待某一事件而暂停运行,比如等待某资源为可用或等待I/O完成。即使CPU空闲,该进程也不能运行。
运行态→阻塞态:往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
阻塞态→就绪态:则是等待的条件已满足,只需分配到处理器后就能运行。
运行态→就绪态:不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。
就绪态→运行态:系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。
边栏推荐
- urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: un
- Starfish Os X MetaBell战略合作,元宇宙商业生态更进一步
- Cloudcompare & PCL point cloud equally spaced slices
- Date的使用
- Harmonyos third operation
- CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network for Clustering 2021
- Shuffle, partition and read of tfrecord
- Jupyter notebook solves the problem that printing information cannot be viewed after closing the browser
- ELK日志分析系统安装和部署
- 测试文章
猜你喜欢

如何快捷地查看H.265视频播放器EasyPlayer的API属性及其使用方法?

Normality of confidence interval

The significance of enterprise digital transformation, digital transformation is not a choice

技术认证 | 图扑软件携手华为云再创合作共赢新局面

一位软件投资者的独白:我为什么不追逐快速增长的公司

Basic SQL DDL

迪赛智慧数——其他图表(平行坐标图):家庭未来资产配置意愿
![[number recognition] handwritten number recognition based on knowledge base with matlab code](/img/06/6adab955a339f453249543baab1dc6.png)
[number recognition] handwritten number recognition based on knowledge base with matlab code

Visual display method of machine learning project

【图像检测】基于Combined Separability Filter实现鼻孔和瞳孔等圆检测matlab源码
随机推荐
[soft test software evaluator] 2014 comprehensive knowledge over the years
回Mixlab三天,“创造力团队”治好了我的精神内耗
记录一下使用R语言中关于formatC的错误
Cloudcompare & PCL point cloud equally spaced slices
初步了解Panda3D音频和高级交互组件
Huawei Hongmeng 3 was officially released, and this security feature has solved a major pain point
MapReduce(三)
编辑复制粘贴判定问题(bug?),所见即所得显示符号问题反馈。
【 图像去雾】基于暗通道和非均值滤波实现图像去雾附matlab代码
Pentium fast system call learning
Security-001
Security-001
Node-RED系列(三十):使用持久化ui-table 刷新页面不清空上一次的table数据
Winform怎么使用FTP实现自动更新
Promise solves asynchrony
Interviewer: I can't carry a backpack at all. Are you going by yourself or I'll give you a lift?
使用灰度滤镜
Read an article to understand artificial neural network
reduce错误示范
Introduction to the paper | distributed graph simulation