Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30146
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-29 09:23
个人简介

路漫漫其修远兮,我将上下而求索

文章分类

全部博文(9)

文章存档

2015年(9)

我的朋友

分类: 其他平台

2015-08-28 21:11:44

转载原文连接:https://linux.cn/blog-15563-5964.html

本文所有内容只限于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中为跨平台,做了大量的封装。

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

作者:夜域诡士       
阅读(1301) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~