Unix/Linux OS Introduction

Unix/Linux OS Introduction

Linux 操作系统的简介

什么是 Linux 操作系统

Linux 是一套免费使用和自由传播的 Unix Like 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux 操作系统由 Linux 内核,LinuxShell,Linux 文件系统,Linux 应用程序四大主要部分组成。

  • 内核是操作系统的核心,提供了操作系统最基本的功能
  • Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口
  • 文件系统是文件存放在磁盘等存储设备上的组织方法
  • 标准的 Linux 系统一般都有一套称为应用程序的程序集,即 Linux 应用程序

Linux 操作系统的组成

Kernel

内核是操作系统的核心,提供了操作系统最基本的功能,如支持虚拟内存、多任务、共享库、需求加载、可执行程序和 TCP/IP 网络等

Linux 内核
1
2
3
uname –a 查看内核版本号
Linux Efterklang 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
ls –l /boot 查看内核文件

Shell

Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上 Shell 是一个命令解释器(command-language interpreter),它解释由用户输入的命令并且把它们送到内核。
Linux 系统的 Shell 是命令语言、命令解释程序及程序设计语言的统称。

  • Shell 是一个命令语言解释器
    它拥有自己内建的 Shell 命令集,Shell 也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由 Shell 先解释然后传给 Linux 核心。使用户不必关心一个命令是建立在 Shell 内部还是一个单独的程序。
  • Shell 是一个解释型的程序设计语言。
    shell 程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell 编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的 Shell 程序中。

执行过程
shell 首先检查命令是否是内部命令,不是的话再检查是否是一个应用程序,这里的应用程序可以是 Linux 本身的实用程序,比如 ls rm,
然后 shell 试着在搜索路径($PATH)里寻找这些应用程序。搜索路径是一个能找到可执行程序的目录列表。如果你键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。而如果命令被成功的找到的话,shell 的内部命令或应用程序将被分解为系统调用并传给 Linux 内核。

Linux Shell

File System

Linux 文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有 Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
每个实际文件系统都是从操作系统和系统服务中分离出来的,它们之间通过一个接口层——虚拟文件系统(VFS)通信。
文件类型主要包括:

  • 普通文件(regularfile)
  • 目录文件(directory)
  • 连接文件(link)
  • 设备与设备文件(device)
  • 套接字(sockets)
  • 管道(FIFO,pipe)

Linux 操作系统的功能特征

Linux 操作系统功能强大,与其他操作系统相比,其具有下述主要的功能特征。

Linux 功能特征
  1. 开放性:遵循开放系统互连(OSI)国际标准。
  2. 多用户:Linux 支持多用户,操作系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)具有特定的权限,这样可以保证每个用户之间互不影响。
  3. 多任务:Linux 可以使多个程序同时并独立地运行。**计算机同时执行多个程序,而同时各个程序的运行互相独立。
  4. 良好的用户界面:Linux 向用户提供了两种界面:字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。Linux 还为用户提供了图形用户界面,它类似于 Windows 图形界面的 X-Window 系统。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。在 X-Window 环境中就和在 Windows 中相似,可以说是一个 Linux 版的 Windows。
  5. 设备独立性:操作系统把所有外部设备统一当作文件来看待,只要安装驱动程序,任何用户都可以像使用文件一样,操纵和使用这些设备。Linux 是具有设备独立性的操作系统,内核具有高度适应能力。
  6. 提供了丰富的网络功能:完善的内置网络是 Linux 操作系统的一大特点。
  7. 可靠的安全系统:Linux 采取了许多安全技术措施,包括对读写控制,带保护的子系统,审计跟踪,核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
  8. 良好的可移植性:将 Linux 操作系统从一个平台转移到另一个平台使它仍然能够按照其自身的方式运行。Linux 是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。Linux 可以运行在多种硬件平台上,如具有 x86、ARM、SPARC、Alpha 等处理器的平台。此外 Linux 还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001 年 1 月份发布的 Linux 2.4 版内核已经能够完全支持 Intel 64 位芯片架构。同时 Linux 也支持多处理器技术。多个处理器同时工作,使系统性能大大提高

Linux 核心特征:多用户、多进程
Linux 核心特征—多用户、多进程管理的实现方式如下:
(1)账户管理
系统依据账户 ID 来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境(如用户的工作目录、Shell 版本以及 XWindow 环境的配置等),使每个用户的工作都能独立不受干扰地进行。
(2)权限管理
在 Linux 中,将使用系统资源的人员分为 4 类三组:超级用户、文件或目录的属主;属主的同组人;其他人员。对每组用户分别分配对文件和目录的不同的访问权限。
(3)进程管理
进程控制是 Shell 的一个特性,使用户能在多个独立进程间进行切换。
例如,用户可以挂起一个正在运行的进程,稍后再恢复其运行。bash 记录所有启动的进程并保持对所有已启动的进程的跟踪,在每一个正在运行的进程生命期内的任何时候,用户可以任意地挂起进程或重新启动进程恢复运行。

Linux 操作系统的主要版本

Linux 操作系统主要分为内核版本以及发行版本,其具体内容如下。
(1)Linux 的内核版本:
Linux 内核使用主要分为两种不同的版本编号方式。第一种方式用于 1.0 版本之前(包括 1.0)。第二种方式用于 1.0 之后到 2.6,数字由三部分“A.B.C”,A 代表主版本号,B 代表次主版本号,C 代表较小的末版本号。

(2)Linux 的发行版本
Linux 的发行版本实质在于 Linux 核心加上外围的实用程序组成的一个大软件包。
把 SUSE、RedHat(现在通常称为 Red Hat Enterprise Linux,简称 RHEL)、Ubuntu、Slackware 等直接称呼为 Linux 是不确切的,它们是 Linux 的发行版本。更确切地说,应该称为以 Linux 为核心的操作系统软件包

发行版主要可分为 Debian 系和 RedHat 系。Debian 系主要分为 Ubuntu、Debian、Linux Mint、Linux Lite 等。RedHat 系主要分为 CentOS、Fedora、RedHat Enterprise Linux、Oracle Linux 等。Debian 是一个非商业化的项目,完全由社区驱动。Red Hat 提供了一个免费的社区版本(Fedora),同时通过其企业版(RHEL)提供商业支持和服务。

Unix/Linux OS Introduction

https://vluv.space/Ch7-1LinuxUnix/

作者

GnixAij

发布于

2024-06-09

更新于

2025-06-27

许可协议

评论