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内核的架构的更多相关文章

  1. 【转帖】Linux 内核系统架构

    Linux 内核系统架构   描述Linux内核的文章已经有上亿字了 但是对于初学者,还是应该多学习多看,毕竟上亿字不能一下子就明白的. 即使看了所有的Linux 内核文章,估计也还不是很明白,这时候 ...

  2. Linux内核regulator架构和编写

    电源种类介绍 (百度百科)LDO是low dropout regulator,意为低压差线性稳压器,是相对于传统的线性稳压器来说的.传统的线性稳压器,如78xx系列的芯片都要求输入电压要比输出电压高出 ...

  3. linux内核学习推荐书籍

    <UNIX环境高级编程>,推荐指数:★★★★★ <UNIX环境高级编程>是 Unix/ Linux 程序员案头必备的一本书籍.可以说,Linux 程序员如果没有读过这本书,就好 ...

  4. 【Linux开发】Linux V4L2驱动架构解析与开发导引

    Linux V4L2驱动架构解析与开发导引 Andrew按:众所周知,linux中可以采用灵活的多层次的驱动架构来对接口进行统一与抽象,最低层次的驱动总是直接面向硬件的,而最高层次的驱动在linux中 ...

  5. Linux内核的整体架构

    Linux内核的整体架构 作者:蜗蜗 发布于:2014-2-21 13:23 分类:Linux内核分析 原文:http://www.wowotech.net/linux_kenrel/11.html ...

  6. Linux内核架构与底层--读书笔记

    linux中管道符"|"的作用 命令格式:命令A|命令B,即命令1的正确输出作为命令B的操作对象(下图应用别人的图片) 1. 例如: ps aux | grep "tes ...

  7. Linux内核内存管理架构

    内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射.页面分配.页面回收.页面交换.冷热页面.紧急页面.页面碎片管理.页面缓存.页面统计等,而且对性能也有很高的要 ...

  8. Linux内核的整体架构简介

    1. 前言 本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统.之后,会介绍Linux内核源文件的目录结构,并和各个软 ...

  9. 搭建《深入Linux内核架构》的Linux环境

    作者 彭东林 pengdonglin137@163.com 软件 Host: Ubuntu14.04 64 Qemu 2.8.0 Linux 2.6.24 busybox 1.24.2 gcc 4.4 ...

随机推荐

  1. mysql向上递归&向下递归

    工作记录 向上递归函数test: BEGIN ); ); SET sTemp = '$'; SET sTempChd =cast(rid as CHAR); WHILE sTempChd is not ...

  2. 数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳

    数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳

  3. Xcode开发技巧之code snippets(代码片段)

    一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...

  4. 配置ssh

    1. 实现只允许特定用户ssh登录   1.1. 直接配置ssh来实现 编辑/etc/ssh/sshd_config,在末尾添加如下一行 AllowUsers user1 user2 user3 然后 ...

  5. CentOS ACL

    ACL:访问控制列表(Access Control List). 一般来说权限是针对某一类用户设置的.例如:一个文件只有拥有者.组.其他用户三种设置方式,如果希望对某个指定的用户进行单独的权限控制,就 ...

  6. Oracle数据库表被锁定以及去除方式

    select t2.username, t2.sid, t2.serial#, t3.object_name, t2.OSUSER, t2.MACHINE, t2.PROGRAM, t2.LOGON_ ...

  7. UOJ228:基础数据结构练习题——题解

    http://uoj.ac/problem/228 参考:https://www.cnblogs.com/ljh2000-jump/p/6357583.html 考虑当整个区间的最大值开方==最小值开 ...

  8. git生成ssh key和多账号支持

    git配置ssh 1.首先设置git的全局user name和email $ git config --global user.name "ygtzz"$ git config - ...

  9. [CQOI2017]小Q的表格——反演好题

    zhoutb2333的题解 难得一见的新颖反演题. 一眼看可能不是反演题. 修改影响别的,很恶心. 所以考虑化简f的联系式,发现和gcd有关 于是考虑用gcd来表示所有的gcd(a,b)=g的所有f( ...

  10. mybatis 根据id批量删除的两种方法

    原文:https://blog.csdn.net/qq_40010745/article/details/81032218 mybatis 根据id批量删除的两种方法   第一种,直接传递给mappe ...