1.9 Linux的基本管理
Linux作为一种操作系统,当然具有操作系统的所有功能,并通过以下管理模块来为用户提供友好的使用环境,实现对整个系统中硬件和软件资源的管理。
1.CPU管理
CPU是计算机最重要的资源,对CPU的管理是操作系统最核心的功能。Linux是多用户多任务操作系统,采用分时方式对CPU的运行时间进行管理。即Linux将CPU的运行时间划分为若干个很短的时间片,CPU依次轮流处理这些等待的任务,如果每项任务在分配给它的一个时间片内不能执行完成的话,就必须暂时中断,等待下一轮CPU对其进行处理,而此时CPU转向处理另一个任务,由于时间片的时间非常短,在不太长的时间内所有任务都能被CPU执行到,都有所进展。从人的角度来看,CPU在“同时”为多个用户服务,并“同时”处理多项任务。
2.存储管理
存储器分为内部存储器(简称内存)和外部存储器(简称外存)两种。内存用于存放当前正在执行的程序代码和正在使用的数据。外存包括硬盘、软盘、光盘、U盘等设备,主要用来保存数据。操作系统的存储管理主要是对内存的管理。
Linux采用虚拟存储技术,也就是以透明的方式提供给用户一个比实际内存大得多的作业地址空间,它是一个非常大的存储器逻辑模型。用处理机提供的逻辑地址访问虚拟存储器,用户可以在一个非常大的地址空间内放心地安排自己的程序和数据,就仿佛拥有这么大的内存空间一样。
Linux遵循页式存储管理机制,虚拟内存和物理内存均以页为单位加以分割,页的大小固定不变。当需要把虚拟内存中的程序段和数据调入或调出物理内存时,均以页为单位进行。虚拟内存中某一页与物理内存中某一页的对照关系保存在页表中。当物理内存已经全部被占据,而系统又需要将虚拟内存中的那部分程序段或数据调入内存时,Linux采用LRU算法Least Recently Used Algorithm,最近最少使用算法),淘汰最近没有访问的物理页,从而空出内存空间以调入必需的程序段或数据。
3.文件管理
文件系统是现代操作系统中不可缺少的组成部分。文件管理是针对计算机的软件资源而设计的,它包括各种系统程序、各种标准的子程序以及大量的应用程序。这些软件资源都是具有一定意义的相互关联的程序和数据的集合,从管理角度把它们看成文件,保存在存储介质上并对其进行管理。目前Linux主要采用ext3或ext2文件系统。
由于采用了虚拟文件系统技术,Linux可以支持多种文件系统,例如UMSDOS、MSDOS、vfat、光盘的iso9660、NTFS、高性能文件系统HPFT及实现网络共享的NFS文件系统。所谓虚拟文件系统是操作系统和真正的文件系统之间的接口。它将各种不同的文件系统的信息进行转化,形成统一的格式后交给Linux操作系统处理,并将结果还原为原来的文件系统格式对于Linux而言,它所处理的就是统一的虚拟文件系统,而不需要知道文件所采用的真实的文件系统。
Linux通常都将文件系统通过挂载操作放置于某个目录,从而让不同的文件系统结合成为一个整体,可以方便地与其他操作系统共享数据。
4.设备管理
设备管理是指对计算机系统中除了CPU和内存之外所有I/O设备的管理。现代计算机系统的外部设备除了显示器、键盘、打印机、磁带、磁盘外,又出现了光盘驱动器、激光打印机、绘图仪、扫描仪、鼠标、声音输入输出设备以及办公自动化设备等,种类繁多。
Linux操作系统把所有的外部设备按其数据交换的特性分成3类,如图1-9所示。
图1-9 Linux外部设备分类
(1)字符设备
字符设备是以字符为单位进行输入输出的设备,按照字符流的方式被有序访问,如打印机、显示终端等。字符设备大多连接在计算机的串行接口上。CPU可以直接对字符设备进行读写,而不需要经过缓冲区,但不能对其随机存取。
(2)块设备
系统中能够随机(不需要按顺序)访问固定大小数据块的设备称为块设备。块设备以数据块为单位进行输入输出,如磁盘、磁带、光盘等。数据块可以是硬盘或软盘上的一个扇区也可以是磁带上的一个数据段。数据块的大小可以是512B、1024B或者4096B。CPU不能直接对块设备进行读写,无论是从块设备读取还是向块设备写入数据,都必须首先将数据送到缓冲区,然后以块为单位进行数据交换。
(3)网络设备
网络设备是以数据包为单位进行数据交换的设备,如以太网卡。网络数据传送时必须按照一定的网络协议对数据进行处理,将其压缩后,再加上数据包头和数据包形成一个较为安全的传输数据包,才进行网络传输。
无论哪种类型的设备,Linux都统一把它当成文件来处理,只要安装了驱动程序,任何用户都可以像使用文件一样来使用这些设备,而不必知道它们的具体存在形式。