linux文章总结

431 阅读9分钟

计算机硬件

计算机硬件是指组成计算机系统的物理部件,包括控制器、运算器、存储器、输入设备和输出设备。以下是对每个部件的简要描述:

  1. 控制器:控制器是计算机系统的中央控制单元,它负责指挥计算机的各个部件协调工作。控制器通过一系列的指令控制计算机的操作,包括从存储器中读取数据、将数据发送到运算器进行处理等。

  2. 运算器:运算器是计算机系统中负责执行各种算术和逻辑运算的部件。它能够对数字、字符、图像等数据进行处理,从而实现计算机的各种功能。

  3. 存储器:存储器是计算机系统中用于存储数据和程序的部件。存储器根据需要将数据从硬盘等外部存储器中读取,并在需要时将数据发送到运算器进行处理。常见的存储器包括RAM、ROM、硬盘等。

  4. 输入设备:输入设备是计算机系统中用于输入数据和指令的部件。常见的输入设备包括键盘、鼠标、扫描仪、摄像头等。

  5. 输出设备:输出设备是计算机系统中用于输出处理结果和信息的部件。常见的输出设备包括显示器、打印机、喇叭、投影仪等。

image.png

控制器、运算器、存储器、输入设备和输出设备是计算机硬件的五个基本部件。它们通过协同工作实现计算机的各种功能。

计算机操作系统

计算机操作系统是一种系统软件,它管理和控制计算机系统中的硬件和软件资源,并在用户与系统硬件之间传递信息。操作系统提供了一种接口,使得应用程序能够与计算机硬件进行交互,从而实现了对计算机系统的有效管理和使用。


操作系统管理计算机资源的核心任务是为系统中的各个资源分配合适的时间和空间,以实现资源的最大化利用。这些资源包括存储器、设备和文件等。存储器管理是操作系统最基本的资源管理之一,它通过分配和管理内存空间,为应用程序提供所需的内存空间。设备管理则负责管理和控制各种输入输出设备,包括打印机、鼠标、键盘、磁盘和网络等。文件管理则负责管理系统中的文件,包括文件的创建、删除、复制、移动和保护等。

操作系统还提供了多种用户接口,使得用户能够与计算机系统进行交互。其中最常用的是命令接口,用户可以通过键盘输入命令,并得到计算机系统的相应输出。图形用户接口则提供了更为友好的用户界面,使得用户可以通过鼠标等输入设备来操作计算机系统。程序接口则提供了一种用于编写应用程序的接口,使得程序员能够利用操作系统提供的资源和服务来编写高效的应用程序。

image.png

操作系统启动过程

计算机系统启动过程中,操作系统也发挥着重要的作用。通常,当计算机启动时,BIOS会首先加载操作系统内核,并将控制权转移到内核代码。操作系统内核会负责初始化计算机硬件,并启动各个服务进程,如文件系统服务、网络服务等。同时,操作系统还会负责检测和处理各种硬件异常和错误,并为应用程序提供必要的安全保护。

image.png

Linux系统概览

Linux系统的发展历程

image.png

发行版本

内核版本

发行版本 = Linux内核 + 常用软件

image.png

要查看Linux系统的内核版本,可以使用以下命令之一:

  1. uname -a:这个命令会显示有关系统的详细信息,包括内核版本号、系统架构等。
  2. cat /proc/version:这个命令会显示内核的版本号和一些其他的信息。

image.png

查看Linux系统的版本号,可以使用以下命令:

cat /etc/os-release:这个命令会显示Linux系统的版本号、名称、ID等信息。

image.png

linux系统应用领域

  1. IT服务器:Linux操作系统非常适合用于IT服务器,因为它稳定、安全、可靠,而且可以自由地修改和定制。
  2. 嵌入式和智能设备:Linux操作系统也广泛应用于嵌入式和智能设备,如智能手机、路由器、电视等。
  3. 个人办公桌面:虽然Linux桌面应用程序的数量不如Windows或Mac OS,但它可以为个人用户提供高度的定制性和可配置性。
  4. 学术研究和软件研发:Linux操作系统被广泛用于学术研究和软件研发,因为它是开源的,可以自由地修改和调试。

Linux基本组成

Linux系统的基本组成:

Linux操作系统包含以下几个基本组成部分:

  1. 内核:Linux内核是操作系统的核心,它负责管理系统资源和处理系统请求。
  2. shell:shell是用户与操作系统交互的界面,它可以解释用户的命令并执行相应的操作。
  3. 文件系统:文件系统是Linux操作系统用来管理文件和目录的组织结构。
  4. 应用程序:应用程序是用户用来完成特定任务的软件,例如文本编辑器、Web浏览器等。

image.png

Linux系统的体系结构:

Linux系统的体系结构可以分为用户空间和内核空间两部分。

用户空间包括应用程序和GNU工具(GNU是GNU's Not Unix的缩写)。应用程序通过GNU工具与内核进行交互,以实现系统调用和资源管理等功能。

内核空间包括系统调用、内核和平台相关代码。系统调用是应用程序通过GNU工具向内核发出请求的接口。内核是操作系统的核心部分,它管理系统的资源,如内存、CPU、磁盘等,并处理系统调用请求。平台相关代码包括与硬件相关的代码,例如设备驱动程序等。

在Linux系统中,当应用程序需要系统资源时,它会通过GNU工具向内核发送请求。内核会处理请求并执行相应的操作,例如分配内存、读写磁盘等。系统调用是应用程序与内核之间的接口,它提供了一组标准的函数,用于实现与内核的通信。

image.png

Linux系统结构

Linux系统结构可以总结为三个主要组成部分:进程管理、文件系统和用户权限。

进程管理是Linux系统的核心部分之一,它负责管理所有正在运行的进程。进程是正在执行的一个程序或命令,每个进程有自己的地址空间,占用一定的系统资源。一个CPU核同一时间只能运行一个进程,进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一标识。PID0是创世进程。Linux系统提供了许多命令和工具来查看和管理进程,例如ps、top、kill等。此外,进程调度也是进程管理的重要部分,它是指操作系统按照某种策略或规则选择进程占用CPU进行运行的过程。Linux系统的进程调度原则包括一个CPU核同一时间只能运行一个进程,每个进程有近乎相等的执行时间等。

文件系统负责持久化数据的子系统,它负责把用户的文件存到磁盘硬件中。Linux系统的文件系统采用一种树状结构,树的根节点是/,也称为根目录。常见的文件系统包括Ext4、NTFS、FAT32等。Linux系统中常用的目录包括bin、boot、dev、etc、home、lib、mnt、opt、proc、root、sbin、usr等。虚拟文件系统是Linux系统的一个特殊文件系统,它包含了Linux系统运行时所需的各种虚拟文件和虚拟目录。查看文件类型、挂载文件系统等操作可以通过df -T、mount等命令来实现。文件的基本操作包括创建、删除、移动、复制、重命名等。

用户权限是Linux系统的重要组成部分之一,它控制了用户对系统的访问权限。Linux系统中的用户账户包括普通用户和超级用户,用户账户组可以容纳多个用户,而私有组则只允许用户自己访问。文件权限是指控制用户对文件和目录的访问权限,包括读、写、执行等。Linux系统中的文件权限包括用户权限、用户组权限和其他用户权限,可以使用chmod命令来修改文件权限。

Linux系统软件包管理器

Linux系统的软件包管理器是指一种用于管理安装、更新、卸载软件包的软件工具,常见的有DPKG、RPM、APT、YUM、DNF等。软件包是指一个应用程序或软件库等可以安装到系统中的软件。软件包管理器包括底层工具和上层工具两部分。底层工具主要用于处理软件包文件的安装和输出等任务,如DPKG和RPM。上层工具主要用于处理数据搜索和依赖解析等任务,如APT、YUM和DNF。

Nginx是一个常用的Web服务器,也可以作为反向代理服务器、负载均衡器等。在Linux系统中,可以通过软件包管理器安装、更新和卸载Nginx。例如,在Debian或Ubuntu系统中,可以使用APT软件包管理器进行安装:sudo apt-get install nginx。在Red Hat或CentOS系统中,则可以使用YUM或DNF软件包管理器进行安装:sudo yum install nginx或sudo dnf install nginx。通过软件包管理器安装Nginx可以方便地管理软件包和依赖项,并且可以自动处理更新和升级等任务,使得软件管理更加便捷和高效。