Linux 内核相关知识

 ZR_yst     2023-10-11     356     0   

欢迎来到银盒子的世界~

(1)内核功能

进程管理(task_struck,调度scheduler,分配CPU及内存等资源)

内存管理(需要虚拟化)

I/O管理(设备注册I/O,完成中断及处理)

文件系统

驱动程序

安全相关(selinux,MD5,sha1)

(2)内核分类

单内核(linux)微内核(windows)

(3)CPU用户态与内核模式

以访问其他硬件资源举例,应用程序直接工作在硬件上,但是接受内核管理,基于系统调用的程序,如果需要访问硬件资源时,就向CPU发起特权请求,CPU唤醒内核,执行内核某段代码,返回结果,而后代码退出,这个时候就是用户态转换为内核态,即可执行某种特权的模式

(3)CPU在内核级别已虚拟化,以时间提供其计算能力,内存是在空间上进行数据容纳

(4)init管理用户空间的所有进程,PID为1,由父进程(内核空间中专门引导用户空间进程)fork()而来,init是一个应用程序,在/sbin/init下,是一个可执行文件

(5)linux内核内存管理

写时复制(cow)复制父进程的进程地址空间表到子进程,当一方需要修改某个物理页面内容时,触发写保护的缺页中断(当内核访问虚拟地址时,发现没有物理页与之对应,触发却也异常进入物理页面分配的异常函数)

然后复制共享页面内容,使父子进程拥有各自的副本

发表评论