浅析Linux系统

时间:2022-09-18 07:17:57

浅析Linux系统

摘 要:操作系统提供了使用计算机的工作环境,它是控制应用程序执行的核心系统软件,它是计算机系统的管理者和仲裁者,负责控制和管理整个计算机系统,使之协调的工作。近年来,许多新的设计思想和技术引入到现代操作系统的新版本中,使操作系统产生了本质的变化。本文研究和剖析了当前流行的Linux操作系统。

Linux是一套免费使用和自由传播的类UNIX操作系统,极佳的性能价格比使Linux快速发展。Linux是Internet的产物,代表一种开放、平等、自由和梦想,体现了人类互助的天性。在Linux Torvalds的主持开发下,一个来自世界各地的许多使用者合作开发的新型操作系统问世了,这就是闻名于世的Linux操作系统。

关键词: Linux系统 体系结构 进程管理 存储管理 设备管理 文件系统

一、Linux的发展

1991年5月,Linux Torvalds在新闻组comp.os.minix了大约一万行代码的Linuxv0.01版本。它不具有网络功能,只能在Intel80386系列PC上运行。唯一支持文件系统的是Minix文件系统。内核能通过保护地址空间来执行正确的UNIX进程。

1994年3月,Linux1.0,具有里程碑的意义。代码量17万行,当时是按照完全自由免费的协议,随后正式采用GPL协议。至此,Linux的代码开发进入良性循环。

2001年12月Red Hat为IBM s/390大型计算机提供了Linux解决方案,从此结束了AIX孤单独行的历史。

2002年是Linux企业化的一年。2月,微软公司宣布扩大公开代码行动。3月,内核开发者宣布新的Linux系统支持64位的计算机。

2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux成功进军手机领域。

2004年9月IBM准备退出OpenPower服务器,仅运行Linux系统。

由此可见,Linux的灵活性、厂商的支持及各国政府的关注是Linux快速发展的主要原因。

二、Linux的体系结构

1、Linux的特点

Linux操作系统支持几乎所有在其他UNIX操作系统的实现上所能找到的功能,另外还包括一些UNIX系统的其他实现版本上没有的功能。Linux的特点有:(1)开放性。Linux遵循开放系统互连国际标准,可以和其他硬件和软件互连。(2)多用户、多任务。(3)良好的用户界面。(4)可靠的系统安全。(5)良好的可移植性。(6)Linux支持UNIX的全部功能,而价格比UNIX系统更为便宜。(7)Linux提供了TCP/IP网络协议,同时也支持完备的TCP/IP客户与服务器功能。(8)Linux可以支持各种类型的文件系统,支持广泛的硬件。

2、Linux内核组成

Linux内核主要由进程调度子系统(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、

输入/输出子系统、进程通信(IPC)机制、网络子系统等子系统组成。

3、Linux的体系结构Linux系统结构由三部分代码组成,即内核、系统库和系统实用程序,Linux系统保留了传统的UNIX操作系统的模式。

三、Linux中的进程管理

1、Linux的进程

Linux是一个多任务的操作系统,每一个进程都有一定功能和权限,运行在自己的虚拟地址空间中。Linux通过进程调度程序在多个进程之间实现合理的调度,在Linux系统中,进程与任务是相同的概念。

在Linux中,当用户打入shell命令,要求执行一个命令文件或运行各种应用程序时,操作系统就为每个进程建立一个运行环境,从而形成进程的动态实体,此即创建了进程。

2、Linux的进程状态

在进程的生命期内,进程所处的状态经常在变化着。通过这些状态的变化刻画了进程从创建、活动到消亡的过程。在每个进程的task-strut结构中,Linux定义了state域来描述进程的调度状态。Linux的进程共有五种调度状态,即TASK-RUNNING状态、TASK-INTERRUPTIBLE状态、TASK-UNINTERRUPTIBLE状态、TASK-STOPPED状态和TASK-ZOMBIE状态。

3、Linux的进程调度

通常认为调度就是执行新进程或中断老进程,但是对于Linux来说调度还有另一个任务,那就是运行多种内核任务。Linux的进程调度操作由scheduler()函数完成。Linux有两个独立的进程调度算法。一个是多进程中的公平抢占调度的分时算法,另一个是为实时任务设计的绝对优先权比公平更为重要的算法。Linux的实时调度是软实时。调度程序严格保证实时进程之间相对的优先级。

4、Linux中的进程控制

Linux中使用系统调用来实现进程控制。如进程的建立和fork()系统调用;程序执行和系统调用exec();等待子进程结束系统调用wait();结束子进程系统调用exit();shell进程工作过程。

四、Linux的存储管理

Linux中的存储管理分为两部分,第一部分处理分配和回收物理内存,包括分页、分页组和小内存块。第二部分处理虚拟内存,就是内存被映射到正在运行的进程的地址空间上。

Linux内核的内存分配以静态分配和动态分配并存。物理页面管理程序与内存缓冲高速缓存、页面高速缓存和虚拟内存系统三个子系统密切相关。

Linux中的虚拟内存采用了分页机制。Linux虚拟内存系统根据需要创建虚拟内存的页面,并管理从磁盘装入页面,或者是按照要求将页面交换到磁盘上。在Linux系统下,虚拟内存管理程序对进程地址空间有两种不同的观点:作为一组独立的区域,或作为一组页面。地址空间一种是逻辑视图,一种是物理视图。

虚拟地址空间被分为四部分:页目录索引、页间目录索引、页表索引和偏移量。

五、Linux设备管理

Linux把所有的设备分为三类:块设备、字符设备和网络设备。

块设备支持与文件相同的存取机制,为已打开的块设备文件提供文件操作和字符设备大致相同。块设备为系统的所有磁盘设备提供了一个主要接口。对磁盘来说,性能显得尤为重要,块设备系统必须提供确保尽可能快速的访问磁盘的功能。这种功能通过块缓冲和请求管理程序这两个系统部件实现。

字符设备是Linux中最简单的设备,可以作为文件访问,应用程序可用标准的系统对字符设备进行打开、关闭、读、写等操作。字符设备驱动程序可以是任何不能对固定数据块进行随机访问的设备。任何字符设备驱动程序注册Linux内核的同时必须也要注册一组函数,这些函数执行驱动程序能处理的文件I/O操作。 (下转9页)

(上接18页)

网络是Linux的关键功能,Linux既支持标准的互联网协议,也能实现本系统到其他非UNIX操作系统的许多协议。Linux最初主要运行在个人计算机上,而不是大型工作站或是服务器系统,它支持多种用于个人计算机网络的协议,如AppleTalk和IPX。

六、Linux的文件系统

Linux保留了UNIX的标准文件系统模型。

Linux系统内核包括一个虚拟文件系统层,可以间接地控制文件系统调用,以达到控制物理I/O的目的。

Linux使用的标准磁盘文件系统为EXT2,。EXT2文件系统支持基本UNIX文件类型:一般文件、目录文件、设备特别文件和符号连接文件。EXT2文件系统还支持UNIX操作系统不支持的其他高级功能。

由此可见,不论Linux操作系统的管理还是文件系统都有它的独到之处。Linux是一个基于UNIX标准的现代开放式操作系统。他能高效而稳定地运行在普通计算机硬件上,也能运行于其他各种平台上。

参考文献:

[1]汤子瀛,哲凤屏,汤小丹。计算机操作系统(修订版)。西安:西安电子科技大学,2001

[2]孟静。操作系统原理教程。北京:清华大学出版社,2000

上一篇:日夜兼程奔赴一个梦境 下一篇:浅谈新课程改革下高中英语教学存在问题与对策