欢迎来到银盒子的世界~
(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)复制父进程的进程地址空间表到子进程,当一方需要修改某个物理页面内容时,触发写保护的缺页中断(当内核访问虚拟地址时,发现没有物理页与之对应,触发却也异常进入物理页面分配的异常函数)
然后复制共享页面内容,使父子进程拥有各自的副本