我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统架构是怎么样的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux系统架构是怎么样的

这篇文章主要介绍了Linux系统架构是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

我以下图为基础,说明Linux的架构(architecture)。

Linux系统架构是怎么样的

最内层是硬件,最外层是用户常用的应用,比如说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”的时候,它将此字符串解释为

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

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

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

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


Linux系统架构是怎么样的

一个使用bash shell的终端

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

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

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

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

感谢你能够认真阅读完这篇文章,希望小编分享的“Linux系统架构是怎么样的”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统架构是怎么样的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统架构是怎么样的

这篇文章主要介绍了Linux系统架构是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我以下图为基础,说明Linux的架构(architecture)。最内层是硬件,最
2023-06-13

Linux系统目录架构是怎样的

本文小编为大家详细介绍“Linux系统目录架构是怎样的”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux系统目录架构是怎样的”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。文件系统为一个倒转的单根树状结构根
2023-06-06

Tomcat系统架构是怎样的

这篇文章主要介绍“Tomcat系统架构是怎样的”,在日常操作中,相信很多人在Tomcat系统架构是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Tomcat系统架构是怎样的”的疑惑有所帮助!接下来,请跟
2023-06-27

Prometheus系统的架构是怎样的

Prometheus系统的架构主要包括以下几个组件:Prometheus Server:Prometheus服务器是整个架构的核心组件,负责收集、存储和查询指标数据。它定期从各个目标服务中拉取指标数据,并将其存储在本地时间序列数据库中。同时
Prometheus系统的架构是怎样的
2024-03-04

linux系统目录结构是怎样的

小编给大家分享一下linux系统目录结构是怎样的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!当在使用Linux的时候,如果您通过ls –l / 就会
2023-06-13

MySQL架构体系是怎样的

本篇内容主要讲解“MySQL架构体系是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL架构体系是怎样的”吧!一 : 数据库和数据库实例 在MySQL的学习研究中,存在两个非常容易混
2023-06-05

Java架构体系是怎样的

这篇文章主要讲解了“Java架构体系是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java架构体系是怎样的”吧!一 。性能优化深入内核,直击故障,拒绝蒙圈二。应用框架 源码解读站在巨
2023-06-02

Linux系统目录结构是怎样的呢

今天就跟大家聊聊有关Linux系统目录结构是怎样的呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。登录系统后,在当前命令窗口下输入命令: ls /你会看到如下图所示:树状目录结构:以
2023-06-28

Kafka的体系架构是怎样的

这期内容当中小编将会给大家带来有关Kafka的体系架构是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、什么是Kafka?数据工程中最具挑战性的部分之一是如何从不同点收集和传输大量数据到分布式系统
2023-06-02

kubernetes架构是怎么样的

小编给大家分享一下kubernetes架构是怎么样的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:整体架构二:架构模块说明以上是“kubernetes架构是怎
2023-06-04

Linux下怎么查看系统架构

这篇文章给大家分享的是有关Linux下怎么查看系统架构的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。计算机的体系结构从指令集的复杂度上可以分两类,一是复杂指令集CISC,主要是X86架构。另一类是精简指令集RIS
2023-06-28

Linux中VirtualBox的经典架构是怎样的

这篇文章给大家介绍Linux中VirtualBox的经典架构是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  VirtualBox号称是目前开源界最强大的虚拟机产品,在Linux平台上,基本上都被大家选择为首选
2023-06-13

Android架构是怎样的

本篇内容介绍了“Android架构是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Android 图解Android 操作系统是一个软
2023-06-27

SDN架构是怎样的

这篇文章主要介绍了SDN架构是怎样的的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SDN架构是怎样的文章都会有所收获,下面我们一起来看看吧。SDN是一种将网络控制功能与转发功能分离、实现控制可编程的新兴网络架构
2023-06-27

Linux中文件系统的目录结构是怎样的

这篇文章主要介绍“Linux中文件系统的目录结构是怎样的”,在日常操作中,相信很多人在Linux中文件系统的目录结构是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中文件系统的目录结构是怎样的
2023-06-12

Teradata的架构是怎样的

Teradata的架构是一个多层次的结构,包括以下几个主要组件:Parsing Engine (PE):负责接收和解析SQL查询请求,进行查询优化和执行计划生成。PE还负责管理用户会话和权限控制。BYNET:是Teradata的通信层,用
Teradata的架构是怎样的
2024-03-11

DKhadoop框架结构是怎么样的

小编给大家分享一下DKhadoop框架结构是怎么样的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!近年,随着互联网的发展特别是移动互联网的发展,数据的增长呈现出一
2023-06-02

编程热搜

目录