博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux系统简介
阅读量:4286 次
发布时间:2019-05-27

本文共 784 字,大约阅读时间需要 2 分钟。

Linux系统划分为用户空间和内核空间。

这里写图片描述

用户空间包含用户应用程序、C库;

内核空间包括系统调用接口、狭义内核、体系结构相关内核代码。

将Linux系统划分为用户空间和内核空间有助于保护操作系统。现代CPU通常实现了不同的工作模式,以ARM为例,实现了7种工作模式:用户模式(usr)、快速中断(fiq)、外部中断(irq)、管理模式(svc)、数据访问中止(abt)、系统式(sys)、未定义指令异常(und);X86也实现了4个不同的级别:Ring0-Ring3。Ring0下,可以执行特权指令,可以访问IO设备等,在Ring3则有很多限制。Linux系统利用了CPU的这一特性,使用了其中的两级来分别运行Linux内核与应用程序,这样使操作系统本身得到充分的保护。例如:如果使用X86,用户代码运行在Ring3,内核代码运行在Ring0。

内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。


Linux内核架构图:

这里写图片描述

系统调用接口(SCI):SCI层为用户空间提供了一套标准的系统调用函数来访问Linux内核;

进程管理(PM):进程管理的重点是创建进程(fork、exec),停止进程(kill、exit),并控制它们之间的通信(signal或者 POSIX机制)。进程管理还包括控制活动进程如何共享CPU, 即进程调度;

内存管理(MM):控制多个进程安全地共享内存区域;

网络协议栈:Linux的网络协议栈很丰富并且稳定,即Linux支持的网络协议多并且稳定;

虚拟文件系统(VFS):隐藏各种文件系统的具体细节,为文件操作提供统一的接口;

这里写图片描述

设备驱动(DD):Linux系统中设备驱动大概占了Linux内核的70%;

ARCH:体系结构相关内核代码,即与cpu密切相关的代码,将这些代码集中一起有助于移植。

你可能感兴趣的文章
当老实人遇到世态炎凉
查看>>
程序猿,你们这么拼是找不到妹纸的!
查看>>
问题与对策:CSS的margin塌陷(collapse)
查看>>
识别“百度权重”作弊的方法
查看>>
干货|程序员常去的14个顶级开发社区
查看>>
如何添加网站for Linux(绑定域名)
查看>>
一些常被你忽略的CSS小知识
查看>>
简易博客编辑器:玩转document.execCommand命令
查看>>
你知道C/S和B/S两种架构有什么区别吗?
查看>>
【学习干货】给coder的10个读书建议
查看>>
浏览器的CSS Hacks
查看>>
PHP基本语法的小结
查看>>
建站小记
查看>>
问题:贴友关于CSS效果的实现
查看>>
问题:关于坛友的一个js轮播效果的实现
查看>>
问题:关于贴友的一个书本页面简单布局(html+css)的实现
查看>>
问题:关于坛友一个获取text内容并改变样式的实现
查看>>
由一位坛友的布局想到的定位问题:absolute和relative
查看>>
php数组使用小结
查看>>
《互联网时代》告诉我的互联网简史(一)
查看>>