File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ==============================================================================
2+
3+ 内核任务
4+ --------
5+
6+
7+ 内核是hi硬件与软件之间的一个中间层。其作用是将应用程序的请求传递给硬件,并充当
8+ 底层驱动程序,对系统中的各种设备和组件进行寻址。
9+
10+ 从应用程序的视角来看,应用程序朱旭发送传输数据的命令。实际的工作如何完成与应用
11+ 程序是不相干的,因为内核抽象了相关的细节。应用程序与硬件本身没有联系,至于内核
12+ 有联系,内核是应用程序所知道的层次结构中最底层。
13+
14+ 当若干程序在统一系统中并发运行时,也可以将内核视为资源管理程序。在这种情况下,
15+ 内核负责将可用共享资源(包括CPU时间,磁盘空间,网络连接等)分配到各个系统进程,
16+ 同时还需要保证系统的完整性。
17+
18+
19+ 内核种类
20+ --------
21+
22+
23+ 微内核:只有最基本的功能直接有中央内核(即微内核)实现。所有其他的功能都委托给
24+ 一些独立进程,这些进程通过明确定义的通信接口与中心内核通信。如,独立进程可能负
25+ 责实现各种文件系统,内存管理等。
26+
27+ 宏内核:内核的全部代码,包括所有子系统(如内存管理,文件系统,设备驱动程序)都
28+ 打包到一个文件中。内核中的每个函数都可以访问内核中所有其他部分。linux便是采用
29+ 宏内核的方式,但在系统运行中,模块可以插入到内核代码中,也可以移除,这使得可以
30+ 向内核动态添加功能,弥补了宏内核的一些缺陷。
31+
32+
33+ 进程
34+ ----
35+
36+
37+ 由于Linux是多任务系统,它支持(看上去)并发执行的若干进程。系统中同时真正在运
38+ 行的进程数目最多不超过CPU数目,因此内核会按照短的时间间隔在不同的进程之间切换
39+ (用户是注意不到的)。内核借助于CPU的帮助,负责进程之间进行切换。内核还必须确
40+ 定如何在在现存进程之间共享CPU时间。重要进程得到的CPU时间多一点,次要进程得到的
41+ 少一点,确定那个进程运行多长时间的过程成为调度。
42+
43+ linu对进程采用了一种层次系统,每个进程都依赖于一个父进程。内核启动init程序作为
44+ 第一进程,该进程负责进一步的系统初始化操作,因此init是进程数的根,所有的进程都
45+ 直接或间接起源自该进程。
46+
47+
48+
49+
50+ ==============================================================================
51+ ==============================================================================
You can’t perform that action at this time.
0 commit comments