骑士注册 登录
Linux 中国◆开源社区 返回首页

夜域诡士 https://linux.cn/space/15563 [收藏] [复制] [分享] [RSS]

日志

Linux-Kernel八大知识点

已有 1775 次阅读2015-08-28 18:35 |个人分类:Linux内核


本文所有内容只限于linux kernel 范围。

一,地址

         为了更好的跨平台性,Linux kernel采用物理的地址和虚拟地址形式,Linux kernel 所使用的地址是虚拟地址,CPU使用的是物理地址,那么这个就涉及一个地址转换、也必须要有一个地址转换过程。在地址转换过程中涉及到对应的表。页表(用于物理地址与虚拟地址转换的地址对应表)的大小一般为4k。页表存放在内存中的。

二,内存管理

         页表是存放物理地址与虚拟地址的对应表,且大小为4k,内存管理是管理内存地址,而页表是存放地址的,内存管理即管理以页表为单位的进行内存管理。

三,系统调用

         Linux 系统中有很多API,大方向上被分为用户态API和系统态API, 系统态API就是内核中的API。在做应用层程序时,会调用用户态API,而隔离系统态API。用户态API通过系统调用系统态API。系统调用是用来隔离用户态API和系统态API

四,线程调度

         Linux kernel只共享一份代码空间,因此只有线程,并没有进程。多线程系统需要管理如何何时互相调用、切换等操作,便引入线程调度概念,线程调度方式有三种方式:1,时间段轮询,2,实时线程优先,3,线程优先等级

五,同步与线程通讯

         同步主要是原子操作,即不能够打断的基本操作。同步线程通讯即一个线程要求另一个线程完成某些任务,并且等待这个线程完成任务后,才继续执行。而异步线程通讯不要求另一个线程完成某些任务,也不会等待。

六,中断

         学过硬件的朋友都知道中断,其实就是外部电路的电平信号。在Linux kernel处理中分成中断的前半部分和后半部分

七,时钟与定时器管理

         时钟专用于系统时间,从硬件角度看,时钟是一种中断电路。定时器从硬件角度看,是一种计数器。实际上时钟在多数情况下称作系统心跳,程序的处理速度或程序执行时间,就体现在此。(当然不能超过硬件的条件)

八,文件系统

         Linux kernel中为了更好的跨平台性,使用了虚拟文件系统,屏蔽了物理文件系统的差异,产生这么一个文件系统中间层。主要的物理文件系统有ext4(拥有完善的日志系统)yaffs2(适合nand flash的文件系统)ubifs(操作速度最快的)btfs(主要解决碎片问题)

 

从以上几点中,可以看出Linux kernel中为跨平台,做了大量的封装。

跨平台:跨硬件体系架构等硬件方面的

作者:夜域诡士       

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。