Linux内核的架构
GNU/Linux操作系统架构

备注:IPC进程间通。IPC(Inter-Process Communication)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,
通过提供可信任的用户名和口令,连接双方 可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问
下面简要的分析linux内核的各个组件
1.GNU系统库,即glibc库,它是一个实现标准C库函数的可移植的库,包括上半个系统的调用。应用程序与GNU C库连接来访问
Linux内核和一些常用函数。
GNU C和ANSI C函数库的区别:
libc是Linux下的ANSI C的函数库,而glibc是Linux下的GUN C的函数库。ANSI C和GNU C(Linux C)基本上没有什么区别。
一般意义上的普通C,是标准ANSI C,是任何C编译器都应该遵循的C语言标准。而Linux C其实特指的是Linux上的GCC编译器,
GCC编译器完全遵循ANSI C,并在此基础上又做了一些扩展,例如:
1)对ASM语法的支持
2)编译器支持内联函数
3)支持__attribute__机制glibc和libc都是Linux下的C函数库, 2.系统调用接口
应用程序调用例如fopen这样的函数时,实际上是发起一个由内核来实现的系统函数的调用。
3.初始化模块
在初始化模块中,init组件在Linux内核启动时运行,完成硬件和内核组件的初始化后,init组件打开初始化控制台
(/dev/console),启动init进程,因此,init进程是所有Linux进程的跟进程。
4.进程调度器是管理系统中运行的进程,而存储管理器提供由物理存储向虚拟存储的映射功能以及物理磁盘的分页和交换
功能。
5.虚拟文件系统给不同的文件系统,例如ext2,NFS,Minix等等提供一个统一的视图,在编程角度上来说,也就是提供
一个通用这些文件系统的函数,如open,close,read等等。因此,Linux支持很多种独立的文件系统。
6.Linux网络接口提供的架构与虚拟文件系统类似,它提供了一个与底层协议和物理媒介无关的通用接口。
7.进程间通信(IPC),它提供了标准的System V IPC服务,包括了System V消息队列,System V信号量,
System V共享内存区。
8. 架构依赖代码:让Linux能够坚持各种硬件平台,通过面向对应的架构族和处理器的相关程序来完成。
Linux内核的架构的更多相关文章
- 【转帖】Linux 内核系统架构
Linux 内核系统架构 描述Linux内核的文章已经有上亿字了 但是对于初学者,还是应该多学习多看,毕竟上亿字不能一下子就明白的. 即使看了所有的Linux 内核文章,估计也还不是很明白,这时候 ...
- Linux内核regulator架构和编写
电源种类介绍 (百度百科)LDO是low dropout regulator,意为低压差线性稳压器,是相对于传统的线性稳压器来说的.传统的线性稳压器,如78xx系列的芯片都要求输入电压要比输出电压高出 ...
- linux内核学习推荐书籍
<UNIX环境高级编程>,推荐指数:★★★★★ <UNIX环境高级编程>是 Unix/ Linux 程序员案头必备的一本书籍.可以说,Linux 程序员如果没有读过这本书,就好 ...
- 【Linux开发】Linux V4L2驱动架构解析与开发导引
Linux V4L2驱动架构解析与开发导引 Andrew按:众所周知,linux中可以采用灵活的多层次的驱动架构来对接口进行统一与抽象,最低层次的驱动总是直接面向硬件的,而最高层次的驱动在linux中 ...
- Linux内核的整体架构
Linux内核的整体架构 作者:蜗蜗 发布于:2014-2-21 13:23 分类:Linux内核分析 原文:http://www.wowotech.net/linux_kenrel/11.html ...
- Linux内核架构与底层--读书笔记
linux中管道符"|"的作用 命令格式:命令A|命令B,即命令1的正确输出作为命令B的操作对象(下图应用别人的图片) 1. 例如: ps aux | grep "tes ...
- Linux内核内存管理架构
内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射.页面分配.页面回收.页面交换.冷热页面.紧急页面.页面碎片管理.页面缓存.页面统计等,而且对性能也有很高的要 ...
- Linux内核的整体架构简介
1. 前言 本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统.之后,会介绍Linux内核源文件的目录结构,并和各个软 ...
- 搭建《深入Linux内核架构》的Linux环境
作者 彭东林 pengdonglin137@163.com 软件 Host: Ubuntu14.04 64 Qemu 2.8.0 Linux 2.6.24 busybox 1.24.2 gcc 4.4 ...
随机推荐
- SQL局部变量
声明局部变量 局部变量的声明需要使用declare 语句.并且必须以@开头 declare { @varaible_name datatype[,...n] } varaible_name :局部变量 ...
- 【EF】Entity Framework 6新特性:全局性地自定义Code First约定
应用场景 场景一:EF Code First默认使用类名作为表名,如果我们需要给表名加个前缀,例如将类名Category映射到表Shop_Category.将Product映射到Shop_Produc ...
- GSL介绍【转】
GSL(GNU Scientific Library)是一个C写成的用于科学计算的库,下面是一些相关的包 http://www.thebigdata.cn/JiShuBoKe/5612.html
- Go语言【第四篇】:Go运算符
Go语言运算符 运算符用于在程序运行时执行数据或逻辑运算,Go语言内置的运算符有: 算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 算数运算符 下表列出了所有Go语言的算数运算符 ...
- AD高级培训PPT总结
AD高级培训PPT总结 https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=44905&highlight= 说明: ...
- axios携带cookie配置详解(axios+koa) 原
话不多说,一个字,干! 前端配置如下: axios.defaults.withCredentials = true; //配置为tru openid: 'oJ0mVw4QrfS603gFa_uAFDA ...
- Hydra—密码爆破神器
公司邮箱系统密码复杂度规则:字母大小写.数字.特殊字符,四选三,长度8位以上.这种复杂度的密码看着是比较安全的,但因历史原因,邮箱系统开放了外网登陆权限,加之公司人数众多,必然会有少量员工把自己的密码 ...
- UVA.10305 Ordering Tasks (拓扑排序)
UVA.10305 Ordering Tasks 题意分析 详解请移步 算法学习 拓扑排序(TopSort) 拓扑排序的裸题 基本方法是,indegree表示入度表,vector存后继节点.在tops ...
- bzoj2216: [Poi2011]Lightning Conductor(分治决策单调性优化)
每个pi要求 这个只需要正反DP(?)一次就行了,可以发现这个是有决策单调性的,用分治优化 #include<iostream> #include<cstring> #incl ...
- 关于notepad++如何自动补全标签的问题
转自:https://blog.csdn.net/Panda_Eyes1/article/details/81486331 关于notepad++如何自动补全标签的问题 2018年08月07日 18: ...