计算机系统由硬件和软件组成,软硬件互相依赖,不可分割。 计算机硬件由cpu、内存、硬盘以及各种外围设备组成,只有硬件是无法正常工作的,还需要软件系统的控制。
操作系统是一种软件,用来管理计算机的软硬件资源。操作系统是和硬件打交道并为用户应用程序提供有限服务(api)的底层系统软件。
Linux就是一套操作系统,各组成部分如下图所示,: 操作系统的角色 严格意义上来讲,Linux是指内核与系统调用这两层。linux实际指的是linux内核,应用程序不属于内核部分,内核和其上运行的应用程序共同组成了linux操作系统!
linux操作系统由bootloader、kernel内核、init进程(守护进程)、daemons守护进程、graphical server(守护进程)、桌面环境、应用软件等组成。
按照linux操作系统的启动流程,linux操作系统包括下面的几个部分:
1.bootloader
管理计算机的启动过程,bootloader用于引导和加载操作系统内核.在pc领域常见的有grub;在嵌入式领域常见的有uboot;
2.kernel内核
我们平时所说的linux就是指linux内核,内核管理着cpu、内存以及各种外设;
Linux内核主要由以下几个模块(组件)组成:存储管理、CPU和进程管理、文件系统、设备驱动管理、网络通信,系统调用以及系统的引导初始化等。
3.init系统
用于引导用户空间应用程序的启动,在linux中表现为init进程,是系统中启动的第一个用户空间进程,主要用来启动各种守护进程,将linux引导到合适的用户环境。 目前应用最广泛的init系统就是systemd了。
4.daemons守护进程
系统守护进程,也就是linux的各种后台服务,包括打印、声音、调度等,一般在系统引导启动期间,由init进程启动,也可在登录系统后手动启动;
5.graphical server
图形服务,在监视器上显示图形的子系统,属于daemon守护进程,通常是指X服务;
6.桌面环境
用户通过桌面环境和linux打交道,目前有很多种桌面环境可供用户选择,比较流行的有GNOME, Cinnamon, Mate, Pantheon, Enlightenment, KDE,Xfce等。每种桌面环境都包含不同的内置应用软件,包括文件管理器、配置工具、web浏览器和一些游戏。 桌面环境和应用软件的不同组合,形成了各种不同的linux发行版。
7.应用软件
就像windows和macOS一样,linux桌面环境也不提供所有的应用软件。需要我们下载并安装需要的应用软件。linux为用户提供了成千上万的高质量软件, 这些软件可以很容易找到并安装。大部分现代linux发行版都提供了类似app store的工具,用于集中和简化应用程序的安装。 例如在Ubuntu中我们可以通过Ubuntu Software Center轻松找到需要的应用程序并下载安装。
我们平时所说的linux即是专指linux内核,linux内核外各组成部分的不同,形成了各种不同的linux发行版。 基于linux内核而构建的各种linux发行版,统称linux操作系统。

扩展阅读

操作系统(Operation System)负责管理与驱动硬件,至少要具备以下功能: (1)input/output control, (2)device control, (3)process management, (4)file management!
硬件是由内核来控制的,每种操作系统都有自己的内核。内核与硬件的关系非常紧密,Torvalds在1991年写出Linux内核的时候,内核仅支持386硬件, 内核也仅仅只是让386计算机开始运作,并且等待用户指令输入而已,当时能够在Linux上面运行的软件还很少! 很多工程师在安装了Linux内核之后,还需要再安装所需的软件,甚至许多软件都需要自己开发。
Linux提供了一个完整操作系统最底层的硬件控制与资源管理的完整架构, 这个架构继承了Unix稳定而强大的优良传统! 很多的软件开发者渐渐的将他们的工作重心移转到这个架构上,可运行在linux操作系统上的应用软件也就越来越多!
不同的cpu硬件平台接口都不一样,例如IBM的Power CPU与Intel的x86架构并不一样,同一套linux操作系统无法在不同的硬件平台上运作! 如果想让x86上面运行的操作系统也能够在Power CPU上运行, 就需要根据不同的硬件接口平台,修改linux内核的程序代码,才能将内核移植到相应的硬件平台!
由于Linux内核的开源特性, 内核代码可以顺利的被修改移植到各种硬件平台上运行!
微软的windows操作系统和苹果的MAC操作系统就没有这种灵活的可移植性! 2006年以前,苹果公司的硬件是由IBM开发的Power CPU,最早的苹果操作系统MAC也只能支持Power CPU。 Windows操作系统则是针对个人计算机x86架构开发设计的操作系统, 所以理论上Windows是没有办法安装运行到苹果计算机上的。
2006年以后,苹果计算机才将硬件平台转到x86系统,所以理论上在安装windows操作系统的电脑上也可以安装苹果操作系统MAC。

initroot编辑整理,转载请注明www.initroot.com技术交流群:59909790