Skip to content

Latest commit

 

History

History
66 lines (53 loc) · 5.31 KB

Linux系统组成.md

File metadata and controls

66 lines (53 loc) · 5.31 KB

一、Linux 系统主要分为四部分:

  • 1.Linux 内核
  • 2.GNU 工具组件
  • 3.图形化桌面
  • 4.应用软件
  • Linux 系统结构图:

1、Linux 内核

操作系统的通常含义指的就是系统内核,是指管理和分配计算机资源(CPU,内存和其他 硬件设备)的核心软件。 操作系统除管理和分配资源的核心软件外,还包括命令行解释器,图形桌面,文件操作 工具和文本编辑器等等其他工具软件。

  • Linux 内核的职责:
    • 1.进程调度:Linux 是多任务操作系统,也就是可以有多个进程同时驻留在内存,每个进程都可以获得 CPU 的使用权,哪个进程获得 CPU 的使用权和以及使用多长时间, 都有内核进程调度程序决定,而不是进程本身决定。

    • 2.内存管理:对于操作系统来说,内存是有限的资源,内核必须要高效的、公平的在进程之间共享内存资源。Linux 系统也采用了虚拟内存管理机制,使用虚拟内存有两 方面的好处:

      一是,进程和进程之间、进程和内核之间要彼此隔离,不能共享内存,一个进程不能读取或修改其他进程或内核在内存中的内容。

      二是,只将进程的一部分放在内存中,这样可以减少进程对内存的需求量,而且还可以在内存中加载更多的进程,使执行高效的 CPU 在任一时刻都有一个进程在执行, 可以更充分的使用CPU 资源。

    • 3.提供了文件系统:内核在磁盘之上提供了文件系统,允许用户创建、更新和删除文件的操作。

    • 4.创建和终止进程:内核可以将进程加载到内存,为其分配允许所需要的资源(CPU、内存和文件的访问等等)。把运行中的程序称作进程,一旦程序执行结束,内核还要 释放进程所占用的资源为其他进程使用。

    • 5.对设备的访问:计算机的外部设备,如键盘、鼠标和光驱等等,内核可以实现计算机与外部设备的通信,包括输入和输出。

    • 6.提供应用程序编程接口:用户可以通过程序请求内核执行各种任务

2、GNU 工具

Linux 内核更底层,实现了对硬件的管理,但还需要基于内核的上层工具软件来实现一些标准的功能,如控制文件和程序实现网络连接等等。

  • GNU 工具软件为 Linux 提供了一些工具软件包,主要由三部分组成:
    • 1.用于处理文件的工具,如:创建、拷贝、删除文件的命令。

    • 2.用于操作文本的工具,如:文本编辑器 vi。

    • 3.用于管理进程的工具,如:检测进程的命令 ps,top 命令等。

      Shell:是用户与 Linux 系统的交互工具,为用户提供了启动程序,管理文件系统上的文件和各种运行在系统上的进程。Shell 通过命令行提示符,允许输入文本命令,然后解释 并在内核中执行。Shell 包括了一组内置命令,可以通过这些命令来完成一些和系统的交互式操作,例如复制文件、删除和移动文件,启动或关闭某个运行的程序。也可以将这 些命令放入文件中作为程序执行,这些文件被称作 shell 脚本,通过 shell 脚本,我们可以一次执行一组命令,完成一个特定的任务。

3、Linux 桌面系统

早期的 Linux 系统只有一个文本界面,允许管理员运行程序、管理程序的执行和管理系统中的文件。随着 Windows 桌面系统的普及,Linux 系统也开发了属于自己的桌面系统, 如:X Window 系统,KDE 桌面系统等等。

4、Linux 版本

将完整的 Linux 系统包称作发行版本。

有各种不同的 Linux 发行版本来满足可能存在的各种需求。不同的版本针对不同的使用人群,如商业用户、软件开发和普通用户等等。 每个不同的发行版本包含特定的软件包,如为软件开发准备的编译器和集成开发环境,为普通用户准备的音频和视频软件等等。

  • 不同的 Linux 发行版本通常归为三类:
    • 1.完整的 Linux 发行版
    • 2.专业发行版
    • 3.LiveCD 测试发行版

二、命令解析器 Shell

Linux 系统重要的工具软件是 Shell,Shell 是为用户提供的操作平台软件(命令解析器)。它类似于 DOS 下的 cmd.exe。 它接收用户命令,然后调用相应的应用程序执行操作。

Shell 又是一种程序设计脚本语言。 作为命令语言,它交互式解释和执行用户输入的命令,也可以自动地解释和执行预先编好的一连串的命令集。 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 Shell是操作系统最外面的一层。Shell 管理用户与操作系统之间的交互,等待用户输入,向操作系统解释解释用户的输入,操作系统执行后并输出结果。