位置: 编程技术 - 正文

图解Linux系统的系统架构(linux系统的介绍)

编辑:rootadmin

推荐整理分享图解Linux系统的系统架构(linux系统的介绍),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux系统的组成及其作用,linux系统的基本概念,“linux系统”,linux系统的组成及其作用,linux系统结构图,linux系统详解,linux系统的基本概念,linux系统长啥样,内容如对您有帮助,希望把文章链接给更多的朋友!

我以下图为基础,说明Linux的架构(architecture)。(该图参考《Advanced Programming in Unix Environment》)

最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,evolution查看邮件,一个计算流体模型等等。硬件是物质基础,而应用提供服务。但在两者之间,还要经过一番周折。

还记得Linux启动。Linux首先启动内核 (kernel),内核是一段计算机程序,这个程序直接管理管理硬件,包括CPU、内存空间、硬盘接口、网络接口等等。所有的计算机操作都要通过内核传递给硬件。

为了方便调用内核,Linux将内核的功能接口制作成系统调用(system call)。系统调用看起来就像C语言的函数。你可以在程序中直接调用。Linux系统有两百多个这样的系统调用。用户不需要了解内核的复杂结构,就可以使用内核。系统调用是操作系统的最小功能单位。一个操作系统,以及基于操作系统的应用,都不可能实现超越系统调用的功能。一个系统调用函数就像是汉字的一个笔画。任何一个汉字都要由基本的笔画(点、横、撇等等)构成。我不能臆造笔画。

在命令行中输入$man 2 syscalls可以查看所有的系统调用。你也可以通过$man 2 read来查看系统调用read()的说明。在这两个命令中的2都表示我们要在2类(系统调用类)中查询 (具体各个类是什么可以通过$man man看到)。

系统调用提供的功能非常基础,所以使用起来很麻烦。一个简单的给变量分配内存空间的操作,就需要动用多个系统调用。Linux定义一些库函数(library routine)来将系统调用组合成某些常用的功能。上面的分配内存的操作,可以定义成一个库函数(像malloc()这样的函数)。再比如说,在读取文件的时候,系统调用要求我们设置好所需要的缓冲。我可以使用Standard IO库中的读取函数。这个读取函数既负责设置缓冲,又负责使用读取的系统调用函数。使用库函数对于机器来说并没有效率上的优势,但可以把程序员从细节中解救出来。库函数就像是汉字的偏旁部首,它由笔画组成,但使用偏旁部首更容易组成字,比如"铁"。当然,你也完全可以不使用库函数,而直接调用系统函数,就像“人”字一样,不用偏旁部首。

(实际上,一个操作系统要称得上是UNIX系统,必须要拥有一些库函数,比如ISO C标准库,POSIX标准等。)

shell是一个特殊的应用。很多用户将它称为命令行 。shell是一个命令解释器(interpreter),当我们输入“ls -l”的时候,它将此字符串解释为

1.在默认路径找到该文件(/bin/ls),2.执行该文件,并附带参数"-l"。

我之前用>表示重新定向,用|表示管道 ,也是通过shell解释&或者|的含义。Shell接着通过系统调,用指挥内核,实现具体的重定向或者管道。在没有图形界面之前,shell充当了用户的界面,当用户要运行某些应用时,通过shell输入命令,来运行程序。shell是可编程的,它可以执行符合shell语法的文本。这样的文本叫做shell脚本(script)。可以在架构图中看到,shell下通系统调用,上通各种应用,同时还有许多自身的小工具可以使用。Shell脚本可以在寥寥数行中,实现复杂的功能。

图解Linux系统的系统架构(linux系统的介绍)

UNIX的一条哲学是让每个程序尽量独立的做好一个小的功能。而shell充当了这些小功能之间的"胶水",让不同程序能够以一个清晰的接口(文本流)协同工作,从而增强各个程序的功能。这也是Linux老鸟鼓励新手多用shell,少用图形化界面的原因之一。

(shell也有很多种,最常见的是bash, 另外还有sh, csh, tcsh, ksh。它们出现的年代不同,所支持的功能也有差异。)

一个使用bash shell的终端

一个shell对应一个终端 (terminal)。曾经来说,终端是一个硬件设备,用来输入并显示输出。如今,由于图形化界面的普及,终端往往就像上图一样,是一个图形化的窗口。你可以通过这个窗口输入或者输出文本。这个文本直接传递给shell进行分析解释,然后执行。

最后,我们进入一般的应用。应用是一个程序,它可以

1.直接调用系统函数2.调用库函数3.运行shell脚本

这些应用可以由多种语言开发。最常见的是C语言。总结

Linux利用内核实现软硬件的对话。

通过系统调用的这个接口,Linux将上层的应用与下层的内核分离,隐藏了底层的复杂性,也提高了上层应用的可移植性。

库函数利用系统调用创造出模块化的功能,

Shell则提供了一个用户界面,并让我们可以利用shell的语法编写脚本,以整合程序。

Linux信号机制基础知识介绍 Linux进程基础一文中已经提到,Linux以进程为单位来执行程序。我们可以将计算机看作一个大楼,内核(kernel)是大楼的管理员,进程是大楼的房客。每个

Linux硬盘分区注意事项 Partition与档案系统管理 本篇文章主要描述了Linux硬盘分区的过程,及其为何这样分区的原理。文件系统重点:inode(索引节点),block(逻辑区块),superblock(每个档案系统开

Linux进程间的关系详解 Linux的进程相互之间有一定的关系。比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构。我

标签: linux系统的介绍

本文链接地址:https://www.jiuchutong.com/biancheng/353493.html 转载请保留说明!

上一篇:Linux命令和命令行详解(linux命令和命令之间用)

下一篇:Linux信号机制基础知识介绍(linux信号机制的原理)

  • 交城市维护建设税填什么凭证
  • 印花税和契税是什么意思?什么时候交?
  • 应收账款逾期未收回账务处理
  • 固定资产登记在三栏式吗
  • 分派现金股利需要缴税吗
  • 企业回购股票会使所有者权益
  • 发票确认平台勾选步骤
  • 企业所得税纳税人包括哪些类型
  • 企业应交所得税怎么算
  • 租金收入需要缴增值税吗
  • 长期股权投资属于金融资产吗
  • 公司代垫个税会计分录
  • 服务业小规模纳税人税率是多少
  • 延迟交款收息做什么科目?
  • 非税收入一般缴款书可以抵扣吗
  • 开了专票不报销犯法吗
  • 单位员工去外地上班
  • 混营纳税人有什么影响
  • 福利费专票进项转出怎么做账
  • 给客户的回扣做账时怎么写情况说明
  • 企业购买自行车记账什么科目
  • 大额保险缴费
  • 销售使用过的固定资产3%减按2%
  • 收到负数购入发票怎么办
  • 减少子公司合并的风险
  • 如何预防计算机病毒的方法
  • 广告公司物料报价清单
  • 交易性金融资产的交易费用计入哪里
  • 解决打呼噜只需一杯水
  • gcasSWUpdater.exe是什么进程 有什么作用 gcasSWUpdater进程查询
  • PHP:imagescale()的用法_GD库图像处理函数
  • 土地增值税清算管理规程
  • 城市基础设施配套费计入什么科目
  • 企业所得税季度预缴是什么意思
  • vue.js mvvm
  • 简单的随机乱码怎么解决
  • php常用设计模式有哪些
  • 计算模型的层次划分
  • 2022年微信小程序游戏
  • php防止用户重度登录
  • 所得税预缴申报表怎么填
  • 所有者权益类的借贷方向是什么
  • 股本及溢价
  • strippped
  • mysql复制表结构及数据
  • 个人所得的账务处理分录
  • 缓交社保个税怎么报?
  • 沙石料进项发票
  • 普通发票应怎么开具
  • 收到社保稳岗补贴转入营业外收入要交企业所得税吧
  • 固定资产提前报废当月计提折旧吗
  • 退货回去需要把原包装保留吗
  • 运输合理损耗会计科目
  • 什么是盈余公积和资本公积
  • 装修公司开劳务费怎么选择税控编码
  • 没报税可以先清卡吗
  • 报关单填制的运费怎么算
  • 会计上有哪些
  • 小微企业建账
  • sql Set IDENTITY_INSERT的用法
  • linux系统中的脚本文件一般以什么开头
  • window msconfig
  • Win10 Mobile 10572预览版上手体验视频
  • 电脑xp系统改装win7系统可以吗
  • 联想电脑的样子
  • windows7文件夹选项在哪里
  • linux远程操作常用命令
  • win1020h2正式版
  • win8系统怎么重新安装系统
  • windowsxp的主要特点
  • 方便存储 Win8系统的SkyDrive功能大体验
  • 放一个命令
  • 返回场景和音乐的区别
  • ie11滚动条样式
  • jquery 随机函数
  • shell脚本语句
  • js点击div改变css样式
  • 党建服务中心属于哪个区
  • 四川省国家税务局官网
  • 郑州市国家税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设