Linux内核:基础知识

参考

linux下的系统调用流程
linux内核精讲
深度解读:一文看懂Linux内核
《Linux内核设计与实现》
《鸟哥的Linux私房菜》

操作系统层次结构

在这里插入图片描述
最外层是应用程序及shell,然后是操作系统的服务层即所谓SystemCall,第三层是操作系统的内核,最内层是硬件及驱动。

系统调用流程

  1. 应用程序在用户态下调用系统提供的API。
  2. API将对应的系统调用号保存到eax中,保存后使用int 0x80触发中断。
  3. 进入中断处理函数,在其中进行系统调用,此时处于内核态。
  4. 返回中断处理函数,将返回值保存在eax中,并从内核态切换到用户态。
  5. API函数从eax中取出值并进行判断、处理。

内核下的五个模块

进程调度模块
功能:使用各种调度策略控制进程对CPU资源的使用。

内存管理模块
确保所有进程安全地共享机器的内存,并提供虚拟内存机制的支持。

文件系统模块
用于支持对外部设备(如磁盘)的驱动和存储。

进程间通信模块
控制不同进程在用户空间的同步、数据共享及交换。

网络接口模块
提供对各种网络标准的实现和各种网络硬件的支持。

BIOS

存放于ROM中,主要功能是用于计算机开机时执行系统各部分的自检,建立OS需要使用的各种配置表(如中断向量表、硬盘参数表等)初始化处理器和系统其它部分。

计算机系统上电或复位时,CPU代码指针指向0xFFFFFFF0的位置,即系统ROM BIOS存放的始址。

内核编程语言及环境

as86汇编器

产生16位代码,使用配套的ld86链接器。

用于创建16位的启动引导扇区程序boot/bootsect.s和实模式下的初始设置程序boot/setup.s的二进制执行代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值