linux操作系统
Linux操作系统底层的学习
一.简述
1.内核
定义:在纯技术层面上,内核是硬件与软件之间的一个中间层。作用是将应用程序的请求传递给硬件,冰充当底层驱动程序,对系统中的各种设备和组件进行寻址。
实现策略上,有两种主要的范型:
(1) 微内核:只实现最基本的功能,其他功能委托给一些独立进程,这些进程通过明确定义的通信接口与中心内核通信。
(2) 宏内核:与微内核相反,所有代码和子系统都打包到一个文件中,每个函数都可以访问内核中所有其他部分。
内核的组成部分:
2.进程与线程
定义:UNIX系统中运行的应用程序,服务器以及其他程序都成为进程
在linux中,用fork创建进程(进程和父进程一样,但是却是一个个独立的个体,各自的地址空间是独立的,资源相同,开销较大),用clone创建线程(线程则是相当于一个个小分身,但是却共享同一个资源,开销较少)
3.地址空间
一般用页表来为物理地址分配虚拟地址,虚拟地址关系到进程的用户空间和内核空间,而物理地址则用来寻址实际可用的内存。
这两个进程的虚拟地址空间,都被内核分成很多等长的部分,这些部分被称为页,物理内存也划分为同样大小的页
物理内存页经常称作页帧,页则指虚拟地址空间的页
页表:用来将虚拟地址空间映射到物理地址空间的数据结构称为页表
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SUの小站!
评论