linux系统结构

本文介绍了Linux内核的学习,包括系统结构图,从用户应用程序、操作系统服务层到内核的层次结构。重点阐述了操作系统的工作方式,如通过陷阱从用户态切换到内核态进行系统调用,并讨论了高版本和低版本内核的区别,如算法改进和驱动管理的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

0.前言

1.系统结构图

 1.1.操作系统工作方式

1.2.高版本和低版本内核区别 


0.前言

本专栏,是记录内核学习的,参考b站linux内核源码分析,以及linux内核艺术图解。后面的文章将记录个人的学习,源码注释,源码理解。

1.系统结构图

                        用户应用程序

                                                三方库(标准库 ,SDK等)

                                                                                                       用户态

-------------------------------------------------------------------------------------------------

                        操作系统的服务层  sys_call(系统调用) 快递(接口层)

                                                                                                        用户态与内核态的过度层

--------------------------------------------------------------------------------------------------

                        操作系统内核  

                                        文件系统模块(虚拟文件系统VFS,【将硬件当成文件使用】)

                                        内存管理模块(虚拟内存)

                                        进程调度模块

                                        进程间通信模块

                                        驱动管理模块(管理驱动,但是不实现驱动)

                                                驱动:字符型驱动,块设备驱动,网络驱动

                        硬件系统,驱动实现

                                                                                                        内核态

--------------------------------------------------------------------------------------------------

                               硬件

                                                                                                         硬件层 

--------------------------------------------------------------------------------------------------- 

 

 

linux内核,也可以从管理层和实现层,分层实现,有强独立性,易于升级和维护,不断迭代,只需要修改某些模块,模块的独立性,让整个框架的模块解耦。

 1.1.操作系统工作方式

程序是不断运行在用户态的,只有需要用到一些底层的系统api(系统调用)支持,获取相应的数据时才会进入内核态。

1.把操作系统从用户态切换到内核态(用户应用程序到内核的流程)-----利用陷阱(trap)是同步异常,是执行一条指令的结果。陷阱最重要的用途是在用户程序和内核之间提供系统调用接口。陷阱总返回到当前指令的

2.实现操作系统的系统调用(操作系统服务层)-----syscall

3.应用操作系统提供的底层函数,根据操作系统的驱动,完成相应的任务。

4.退出后从内核态切换到用户态

1.2.高版本和低版本内核区别 

 linux整体框架基本不变,高版本的内核,主要是一些算法的改进(进程调度算法),驱动的种类;但是进程的管理方式基本不变,驱动管理模式几乎不变(管理模式:零散型 分层型 设备树[为了安卓操作系统更好的管理硬件]),所以,源码将以linux0.11版本去看源代码。

 

 

 

 

 

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值