了解 Linux內核架構 (2)
来源:互联网 发布:java反序列化漏洞原理 编辑:程序博客网 时间:2024/05/16 12:17
進程, 進程切換, 調度
傳統上, UNIX操作系統下運行的應用程序,服務器及其他程序都稱為進程(processes)
每個進程都在CPU的虛擬內存中分配地址空間
各進程的地址空間是完全獨立的, 因此進程並不會意識到彼此的存在
從進程的角度來看, 它會認為自己是系統中唯一的進程
如果進程想要彼此通信(例如交換數據), 那麼必須使用特定的內核機制
由於Linux是多任務系統,它(看起來)支持並發執行的若干進程, 系統中同時真正在運行的進程數目最多不超過CPU數目,
因此內核會按照短的時間間隔在不同的進程之間切換
1)內核借助CPU的幫助, 負責進程切換的技術細節, 通過在撤銷進程的CPU資源之前,保存進程所有與狀態相關的要素,
並將進程置於空閒狀態
在重新激活進程時, 則將保存的狀態原樣恢復
進程之間的切換稱之為進程切換(task switching)
2)內核還必須確定如何在現存進程之間共享CPU時間, 確定哪個進程運行多長時間的過程稱調度(scheduling)
0 0
- 了解 Linux內核架構 (2)
- 了解 Linux內核架構 (1)
- Linux基础知识了解2
- 了解Linux文件系统_(2)
- 初步了解Linux内核 (2)
- 了解linux
- linux了解
- linux了解
- Linux版本了解&目录了解
- 了解V4L2(video 4 linux 2)
- 了解 linux内核参数
- Linux管道初步了解
- 了解Linux的时钟
- Linux管道初步了解
- Linux管道初步了解
- linux目录结构了解
- Linux cpufreq 机制了解
- Linux cpufreq 机制了解
- Git入门及上传项目到github中
- 关于ListView下拉崩溃的问题
- Neo4J几种数据导入方式的效率对比
- 例4-2 UVa489 Hangman Judge
- 多栈共享
- 了解 Linux內核架構 (2)
- java String / StringBuilder / StringBuffer 的使用
- JNI中如何在本地代码C++中操作java中的基本类型的数组以及对象数组
- Android 适配器委托模式
- day11
- 链栈 多链栈
- UFT中表的用法
- 使用WinPCAP接口编程抓取数据包
- 开源框架open-replicator原理分析