Linux操作系统采用单内核模式,内核代码紧凑,执行速度快。Linux的分层设计有四层:
用户应用程序,包括字处理应用程序、多媒体处理应用程序、网络应用程序。
操作系统服务(系统程序),为应用程序提供系统内核调用接口。包括X窗口系统、Shell命令解释系统、内核编程接口。
Linux内核,实现对硬件资源的抽象和访问调度。保证各进程对临界资源的安全使用。系统程序与用户程序在用户模式下运行,内核之外的程序需要经过系统调用才能进入操作系统内核。
硬件,包括CPU、内存、硬盘、网络设备等。
Linux版本有内核版本和发行版本。内核版本是指内核小组开发维护的系统内核的版本号。将内核、源码及相关应用软件集成成为一个完整操作系统,便于用户安装与使用就形成了发行版本。内核版本格式:主版本.次版本.修订版本-附版本(次版本偶数稳定产品版本,奇数开发中的实验版本)uname -r可以查看内核版本号.
Linux磁盘分区:Linux使用单一目录树结构,整个系统一个根目录,各个分区挂载到某个目录的形式成为根目录一部分。用于引导的主分区存放引导整个系统所需的程序文件,有的会单独划分引导分区(/boot)。Ubuntu需要创建两个分区,根分区(/)存储大部分系统文件和用户文件,Swap(交换)分区提供虚拟内存空间,大小为物理内存两倍。
Linux使用设备名称加分区编号来标明分区。SCSI 磁盘、SATA磁盘(串口硬盘)均可表示为“sd", 在“sd”之后使用小写字母表示磁盘编号,磁盘编号之后是分区编号,使用阿拉伯数字表示(主分区或扩展分区的分区编号为1~4,逻辑分区的分区编号从5开始)。例如,第一块SCSI或SATA磁盘被命名为sda,第二块为sdb,第一块磁盘的第一个 主分区表示为sda1,第二主分区表示为sda2。IDE磁盘使用“hd”表示,表示方法同SCSI磁盘。Linux操作系统采用了模块化的结构设计方法,主要包括以下几个部分:
1. 内核(kernel):作为操作系统的核心,负责管理系统资源,提供不同程序间的通信机制,控制进程的运行和实现外部设备的驱动。
2. 文件系统(file system):存储和管理系统中的文件和数据,支持不同格式的文件系统,包括常见的ext4、FAT32、NTFS等。
3. 库(library):提供常用的函数和工具,程序可以调用库里面的函数来完成相应的功能,减少了代码的冗余。
4. Shell:一种命令行交互界面,用户可以通过Shell输入命令来完成复杂的操作。
5. 应用程序(application):运行在操作系统之上的程序,包括图形界面程序、文本编辑器、浏览器等。
6. 服务程序(daemon):后台运行的程序,比如Web服务器、邮件服务器等,提供服务功能。
上述不同的组件通过系统调用接口来进行通信和协同工作。模块化的设计使每个组件分工明确,开发和维护更加容易,同时也确保了操作系统的稳定性和安全性。