iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux基本结构是什么
  • 407
分享到

linux基本结构是什么

2023-06-30 13:06:45 407人浏览 八月长安
摘要

今天小编给大家分享一下linux基本结构是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。linux可分为4个部分:1、内

今天小编给大家分享一下linux基本结构是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

linux可分为4个部分:1、内核,控制着计算机系统上的所有硬件和软件,主要负责系统内存管理、软件程序管理、硬件设备管理、文件系统管理;2、GNU工具,除内核控制的硬件设备外的必须工具,例shell;3、桌面环境,例如KDE;4、应用软件。

教程操作环境:linux5.9.8系统、Dell G3电脑。

Linux 是一种自由和开放源码的类 UNIX 操作系统。它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。linux可划分为以下四部分:

  • Linux内核

  • GNU工具

  • 图形化桌面环境

  • 应用软件

下图是一个基本结构框图,展示各部分是如何协同构成一个完整的Linux系统。
linux基本结构是什么

1.Linux内核

Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件。内核主要负责以下四个功能:

  • 系统内存管理

  • 软件程序管理

  • 硬件设备管理

  • 文件系统管理

1.1系统内存管理

操作系统内核的主要功能之一就是内存管理。内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(即实际并不存在的内存)。内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间(swap space)。内核不断地在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。这使得系统以为它拥有比物理内存更多的可用内存。
linux基本结构是什么

内存存储单元按组划分成很多块,这些块称作页面(page)。内核将每个内存页面放在物理内存或交换空间。然后,内核会维护一个内存页面表,指明哪些页面位于物理内存内,哪些页面被换到了磁盘上。

内核会记录哪些内存页面正在使用中,并自动把一段时间未访问的内存页面复制到交换空间区域(称为换出,swapping out)——即使还有可用内存。当程序要访问一个已被换出的内存页面时,内核必须从物理内存换出另外一个内存页面给它让出空间,然后从交换空间换入请求的内存页面。显然,这个过程要花费时间,拖慢运行中的进程。只要Linux系统在运行,为运行中的程序换出内存页面的过程就不会停歇。

1.2软件程序管理
Linux操作系统将运行中的程序称为进程。内核创建了第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,它会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。
Linux操作系统的init系统采用了运行级。运行级决定了init进程运行/etc/inittab文件或
/etc/rcX.d目录中定义好的某些特定类型的进程。Linux操作系统有5个启动运行级。

运行级为1时,只启动基本的系统进程以及一个控制台终端进程。我们称之为单用户模式。单用户模式通常用来在系统有问题时进行紧急的文件系统维护。显然,在这种模式下,仅有一个人(通常是系统管理员)能登录到系统上操作数据。

标准的启动运行级是3。在这个运行级上,大多数应用软件,比如网络支持程序,都会启动。另一个Linux中常见的运行级是5。在这个运行级上系统会启动图形化的X Window系统,允许用户通过图形化桌面窗口登录系统。

Linux系统可以通过调整启动运行级来控制整个系统的功能。通过将运行级从3调整成5,系统就可以从基于控制台的系统变成更先进的图形化X Window系统。

1.3硬件设备管理
内核的另一职责是管理硬件设备。任何Linux系统需要与之通信的设备,都需要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之间交换数据。在Linux内核中有两种方法用于插入设备驱动代码:

  • 编译进内核的设备驱动代码

  • 可插入内核的设备驱动模块

Linux系统将硬件设备当成特殊的文件,称为设备文件。设备文件有3种分类:

  • 字符型设备文件:指处理数据时每次只能处理一个字符的设备。大多数类型的调制解调器和终端都是作为字符型设备文件创建的

  • 块设备文件:指处理数据时每次能处理大块数据的设备,比如硬盘。

  • 网络设备文件:指采用数据包发送和接收数据的设备,包括各种网卡和一个特殊的回环设备。

1.4 文件系统管理
Linux内核支持通过不同类型的文件系统从硬盘中读写数据。表1-1列出了Linux系统用来读写数据的标准文件系统。
linux基本结构是什么

2.GUN工具

除了由内核控制硬件设备外,操作系统还需要工具来执行一些标准功能,比如控制文件和程序。供Linux系统使用的这组核心工具被称为coreutils(core utilities)软件包。GNU coreutils软件包由三部分构成:

  • 用以处理文件的工具

  • 用以操作文本的工具

  • 用以管理进程的工具

2.1 shell

GNU/Linux shell是一种特殊的交互式工具。它为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径。shell的核心是命令行提示符。命令行提示符是shell负责交互的部分。它允许你输入文本命令,然后解释命令,并在内核中执行。你也可以将多个shell命令放入文件中作为程序执行。这些文件被称作shell脚本。

在Linux系统上,通常有好几种Linux shell可用。不同的shell有不同的特性,有些更利于创建脚本,有些则更利于管理进程。所有Linux发行版默认的shell都是bash shell。bash shell由GNU项目开发,被当作标准Unix shell.

2.1.1shell的类型

系统启动什么样的shell程序取决于你个人的用户ID配置。在/etc/passwd文件中,在用户ID记录的第7个字段中列出了默认的shell程序。只要用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器,默认的shell程序就会开始运行。例如:用户root使用/bin/bash(bash shell)作为自己的默认shell程序.

[root@node1 bin]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologiNLP:x:4:7:lp:/var/spool/lpd:/sbin/nologin

不过还有另外一个默认shell是/bin/sh,它作为默认的系统shell,用于那些需要在启动时使用的系统shell脚本。你经常会看到某些发行版使用软链接将默认的系统shell设置成bash shell,如Centos发行版:
$ ls -l /bin/sh

lrwxrwxrwx. 1 root root 4 Mar 18 15:05 /bin/sh -> bash

/bin/sh 相当于 /bin/bash --posix,使用 sh 调用执行脚本相当于打开了bash 的 POSIX 标准模式,它们之间的各种差异都是来自 POSIX 标准模式和bash的差异。

2.1.2shell的父子关系

用于登录某个虚拟控制器终端或在GUI中运行终端仿真器时所启动的默认的交互shell,是一个父shell。
在CLI提示符后输入/bin/bash命令或其他等效的bash命令时,会创建一个新的shell程序。这个shell程序被称为子shell(child shell)。子shell也拥有CLI提示符,同样会等待命令输入。
例如:使用ps -f

[root@node1 bin]# ps -fUID        PID  PPID  C STIME TTY          TIME CMDroot       727   711  0 11:01 pts/0    00:00:00 -bashroot      4385   727  0 12:06 pts/0    00:00:00 ps -f

使用ps -f的时候,显示出了两个进程。其中一个进程的进程ID是727,运行的是bash shell程序。另一个进程的进程ID为4385,对应的是命令ps -f。

[root@node1  bin]# bash[root@node1  bin]#  ps -fUID        PID  PPID  C STIME TTY          TIME CMDroot       727   711  0 11:01 pts/0    00:00:00 -bashroot      4492   727  0 12:08 pts/0    00:00:00 bashroot      4512  4492  0 12:08 pts/0    00:00:00 ps -f

输入命令bash之后,一个子shell就出现了。第二个ps -f是在子shell中执行的。可以从显示结果中看到有两个bash shell程序在运行。第一个bash shell程序,也就是父shell进程,其原始进程ID是727。第二个bash shell程序,即子shell进程,其PID是4492。注意,子shell的父进程ID(PPID) 是727,指明了这个父shell进程就是该子shell的父进程。在生成子shell进程时,只有部分父进程的环境被复制到子shell环境中。

3.Linux 桌面环境

1.KDE(K Desktop Environment,K桌面环境)最初于1996年作为开源项目发布。它会生成一个类似于Microsoft windows的图形化桌面环境。
linux基本结构是什么
KDE桌面允许你把应用程序图标和文件图标放置在桌面的特定位置上。单击应用程序图标,Linux系统就会运行该应用程序。单击文件图标,KDE桌面就会确定使用哪种应用程序来处理该文件。

2.GNOME(the GNU Network Object Model Environment,GNU网络对象模型环境)是另一个流行的Linux桌面环境。GNOME于1999年首次发布,现已成为许多Linux发行版默认的桌面环境。

linux基本结构是什么

3.Unity桌面

如果你用的是ubuntu Linux发行版,你会注意到它与KDE和GNOME桌面环境有些不一样。准确来说,这是因为负责开发Ubuntu的公司决定采用自己的一套叫作Unity的Linux桌面环境。

Unity桌面得名于该项目的目标——为工作站、平板电脑以及移动设备提供一致的桌面体验。不管你是在工作站还是在手机上使用Ubuntu,Unity桌面的使用方式都是一样的。

linux基本结构是什么

以上就是“linux基本结构是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网操作系统频道。

--结束END--

本文标题: linux基本结构是什么

本文链接: https://www.lsjlt.com/news/329319.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • linux基本结构是什么
    今天小编给大家分享一下linux基本结构是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。linux可分为4个部分:1、内...
    99+
    2023-06-30
  • SSA/ASS的基本结构是什么
    本文小编为大家详细介绍“SSA/ASS的基本结构是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“SSA/ASS的基本结构是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ass是字幕文件的格式。ASS全称...
    99+
    2023-07-05
  • Redis基本数据结构是什么
    这篇文章给大家分享的是有关Redis基本数据结构是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。Redis基础数据结构Redis有5种基本数据结构:String(字符串)、l...
    99+
    2024-04-02
  • javascript中的基本结构是什么
    本篇内容主要讲解“javascript中的基本结构是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript中的基本结构是什么”吧! ...
    99+
    2024-04-02
  • html文档基本结构是什么
    这篇文章主要讲解了“html文档基本结构是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“html文档基本结构是什么”吧!html概述HTML是 Hype...
    99+
    2024-04-02
  • 最基本的HTML结构是什么
    这篇文章主要介绍了最基本的HTML结构是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇最基本的HTML结构是什么文章都会有所收获,下面我们一起来看看吧。最基本的HTML结构...
    99+
    2024-04-02
  • Dockerfile文件的基本结构是什么
    本篇内容介绍了“Dockerfile文件的基本结构是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是dockerfileDocker...
    99+
    2023-07-02
  • HTML基本结构的概念是什么
    这篇文章主要介绍了HTML基本结构的概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HTML基本结构的概念是什么文章都会有所收获,下面我们一起来看看吧。 <!-...
    99+
    2024-04-02
  • Html结构和基本格式是什么
    这篇文章主要介绍“Html结构和基本格式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Html结构和基本格式是什么”文章能帮助大家解决问题。1、HTML基本文...
    99+
    2024-04-02
  • HTML中Table标签的基本结构是什么
    这篇文章主要介绍了HTML中Table标签的基本结构是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HTML中Table标签的基本结构是什么文章都会有所收获,下面我们一起来...
    99+
    2024-04-02
  • zookeeper数据结构及基本命令是什么
    Zookeeper是一个开源的分布式协调服务,它可以用于构建和管理分布式应用程序的配置信息,命名服务、分布式锁、分布式队列等。Zoo...
    99+
    2023-10-22
    zookeeper
  • HTML基本结构是怎么样的
    这篇文章将为大家详细讲解有关HTML基本结构是怎么样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 关于“HTML基本结构是怎么样的”这篇...
    99+
    2024-04-02
  • 数据库数据结构的基本概念是什么
    这篇文章主要介绍“数据库数据结构的基本概念是什么”,在日常操作中,相信很多人在数据库数据结构的基本概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库数据结构的基本概念是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-19
  • 以太网采用的基本拓扑结构是什么
    本篇内容主要讲解“以太网采用的基本拓扑结构是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“以太网采用的基本拓扑结构是什么”吧!以太网的拓扑结构是“总线型”;以太网采用的拓扑结构基本是总线型,...
    99+
    2023-07-05
  • linux文件系统结构是什么
    这篇文章主要介绍“linux文件系统结构是什么”,在日常操作中,相信很多人在linux文件系统结构是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux文件系统结构是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • html的基本结构怎么写
    本篇内容介绍了“html的基本结构怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! < !DO...
    99+
    2024-04-02
  • nGrinder中groovy的脚本结构是什么
    这篇文章跟大家分析一下“nGrinder中groovy的脚本结构是什么”。内容详细易懂,对“nGrinder中groovy的脚本结构是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入...
    99+
    2023-06-05
  • Go基础编程之什么是结构体
    本篇内容主要讲解“Go基础编程之什么是结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go基础编程之什么是结构体”吧!结构体(struct)是自定义方式形成...
    99+
    2024-04-02
  • 关系数据库中基本的数据结构指的是什么
    关系数据库中基本的数据结构指的是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在关系数据库中,基本的数据结构是“二维表”,表之间的联系通过不同表中的公共字段来体现。关系数据...
    99+
    2023-06-29
  • Linux目录结构的意义是什么
    本篇内容介绍了“Linux目录结构的意义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!/root --- 启动linux时使用的一些核...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作