搜档网
当前位置:搜档网 › 操作系统课程论文

操作系统课程论文

操作系统课程论文
操作系统课程论文

梧州学院

课程论文

论文题目 Linux操作系统

系别计算机科学系

专业软件工程

班级 11软件班

组号第三组

组名 CHLQ 任课教师(签名)

摘要

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。存在着许多不同的Linux版本,但它们都使用了Linux内核。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯·托瓦兹。

Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。Linux 操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:UNIX操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络。

本论文主要介绍了Linux操作系统发展历程、Linux操作系统的安装、Linux 操作系统的一些特性、及使用Linux系统的一些基本命令,最后介绍了它与其他系统的区别、优缺点。

关键词:Linux 操作系统;特性;命令;应用

第一章Linux发展历程

1.1 Linux操作系统的诞生

Linux 是一种类UNIX计算机操作系统,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能。

Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络。

1981年IBM公司推出微型计算机IBM PC。

1981-1991 年间MS-DOS操作系统一直是微机上操作系统的主宰。此时计算机硬件价格虽逐年下降,但软件价格仍居高不下。当时Apple的MACos 操作系统可以说是性能最好的,但是其天价没人能够轻易靠近。

1991 年,GNU 计划已经开发出了许多工具软件。最受期盼的Gnu C 编译器已经出现,但还没有开发出免费的GNU 操作系统。即使是MINIX 也开始有了版权,需要购买才能得到源代码。而GNU 的操作系统HURD 一直在开发之中,但并不能在几年内完成。对于林纳斯·托瓦兹来说,已经不能等待了。

1991 年4 月,他开始酝酿并着手编制自己的操作系统。刚开始,他的目的很简单,只是为了学习Intel 386 体系结构保护模式运行方式下的编程技术。但后来Linux 的发展却完全改变了初衷。

1991 年初,林纳斯·托瓦兹开始在一台386sx 兼容微机上学习minix 操作系统。通过学习,他逐渐不能满足于minix 系统的现有性能,并开始酝酿开发一个新的免费操作系统。根据Linux 在comp.os.minix 新闻组上发布的消息,可以知道他逐步从学习minix 系统到开发自己的Linux 的过程。

1991 年的4 月份开始,林纳斯·托瓦兹几乎花了全部时间研究386-minix 系统(hack the kernel),并且尝试着移植GNU 的软件到该系统上(GNU gcc、bash、gdb 等)。

1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。

1991 年7 月3 日,第一个与Linux 有关的消息是在在comp.os.minix 上发布的(当然此时还不存在Linux 这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX ,FREAX 的英文含义是怪诞的、怪物、异想天开等)。其中透露了他正在进行Linux 系统的开发,并且在Linux 最初的时候已经想到要实现与POSIX(UNIX 的国际标准)的兼容问题了。

1991 年8 月25 日,在林纳斯·托瓦兹的下一发布的消息中,他向所有minix 用户询问"What would you like to see in minix?"("你最想在minix 中见到什么?"),在该消息中他首次透露出正在开发一个(免费的)386(486)操作系统,并且说只是兴趣而已,代码不会很大,也不会象GNU 的那样专业。开发免费操作系统这个想法从4 月份就开始酝酿了,希望大家反馈一些对于minix 系统中喜欢那些特色不喜欢什么等信息,由于实际的和其它一些原因,新开发的系统刚

开始与minix 很象(并且使用了minix 的文件系统),并且已经成功地将bash(1.08 版)和gcc(1.40 版)移植到了新系统上,而且再过几个月就可以使用了。[林纳斯·托瓦兹申明他开发的操作系统没有使用一行minix 的源代码;而且由于使用了386 的任务切换特性,所以该操作系统不好移植(没有可移植性),并且只能使用AT 硬盘。对于Linux 的移植性问题,林纳斯·托瓦兹当时并没有考虑。但是Linux 几乎可以运行在任何一种硬件体系结构上。

1991 年的10 月5 日,林纳斯·托瓦兹在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)。这段消息可以称为Linux 的诞生宣言,并且一直广为流传。因此10 月5 日对Linux 社区来说是一个特殊的日子,许多后来Linux 的新版本发布时都选择了这个日子。所以RedHat 公司选择这个日子发布它的新系统也不是偶然的。

1.2 Linux 名称的来由

Linux 操作系统刚开始时并没有被称作Linux,Linus 给他的操作系统取名为FREAX,其英文含义是怪诞的、怪物、异想天开等意思。在他将新的操作系统上载到ftp.funet.fi 服务器上时,管理员Ari Lemke 很不喜欢这个名称。他认为既然是Linus 的操作系统就取其谐音Linux 作为该操作系统的目录吧,于是Linux 这个名称就开始流传下来。

1.3 Linux 操作系统版本的变迁:

0.00 (1991.2-4?) 两个进程分别显示AAA BBB

0.01 (1991.9?) 第一个正式向外公布的Linux 内核版本。

0.02 (1991.10.5) 该版本以及0.03 版是内部版本,目前已经无法找到。

0.03 (1991.10.5)

0.10 (1991.10) 由Ted Ts'o 发布的Linux 内核版本。

0.11 (1991.12.8) 基本可以正常运行的内核版本。

0.12 (1992.1.15) 主要加入对数学协处理器的软件模拟程序。

0.95 (0.13) (1992.3.8) 开始加入虚拟文件系统思想的内核版本。

0.96 (1992.5.12) 开始加入网络支持和虚拟文件系统VFS。

0.97 (1992.8.1)

0.98 (1992.9.29)

0.99 (1992.12.13)

1.0 (1994.3.14)

1.20 (1995.3.7)

2.0 (1996.2.9)

2.20 (1999.1.26)

2.40 (2001.1.4)

2.60 (200

3.12.17)

1.4 Linux象征物

图1-1 Linux的象征物

Tux(一只企鹅,全称为tuxedo,NCIT 90916P40 Joeing Youthy的网络ID)是Linux的标志。将企鹅作为Linux标志(如图1-1所示)。是由林纳斯·托瓦兹提出的

大多数人相信,“Tux”这个名字来源于Torvalds UniX,而不是因为它看起来像是穿着一件黑色小礼服(tuxedo)。

这个企鹅图案在最佳Linux图标竞赛中被选中。其他一些图案可以在Linux 图标大赛网站中找到。Tux的设计者是Larry Ewing,他于1996年,利用GIMP 软件设计出了这个企鹅。

Tux已经成为Linux和开源社区的象征。

第二章 Linux的安装

在实地安装 Linux 之前,要先做些准备。因为Linux 对硬件配置要求较严格,所以你必须先了解Linux 所支持的CPU、RAM、显卡等的硬件配备,以免造成无法安装。此外,也需要考虑即将架设的Linux 主机的主要用途,如果是一般的桌面类型的主机,那么X-Window及KDE 是不可或缺的,但如果是一般的服务器主机,X-Windows 就可以免了。当然,如果刚刚开始学习LINUX,最好将所有套件都装上。

2.1硬盘分区

在Linux 下硬盘的代号如下(以IDE 硬盘为例):

IDE\Jumper Master Slave

IDE1(Primary) /dev/hda /dev/hdb

IDE2(Secondary) /dev/hdc /dev/hdd

对于 IBM-PC 来说,一块硬盘主要分为 2 个部分,一个区域是放置整个硬盘信息的区域,称之为Master Boot Recorder,MBR(主引导扇区),其它的地方是实际文件数据存放的地方。

MBR 里面记录了两种重要信息,分别是开机管理程序和磁盘分区表。开机管理程序就是操作系统引导程序。而分区表(partition table)主要记录第n 个磁盘块是从第x 磁柱到第y 个磁柱,所以实际上分区的过程就是重写MBR 中分区表的过程。

由于 MBR 的容量有限,所以当初设计的时候,MBR 最多只能存放分区记录,这些分区记录称为Primary(主分区)和Extended(扩展分区),也就是说,一颗硬盘最多可以有4 个(Primary+Extended) 的扇区,其中Extended 只能有一个,因此,你如果把硬盘分成四个分区,

最多就可以分成:

P+P+P+P

P+P+P+E

而且第二种分法只有三个可用的分区,因为扩展分区不能直接使用,还要继续分区成Logical(逻辑分区)才能使用。如果硬盘要分五个分区以上,那么肯定必须使用扩展分区。

一般情况下,我们都将一个硬盘分为一个主分区加上一个扩展分区,再将扩展分区分为许多个逻辑分区。

现在我们来考虑一种通常使用到的情况:硬盘安装在 IDE1 的Master,并且要分成6 个可以使用的分区,那么每个分区在Linux

下的代号如何?由于硬盘在Primary+Extended 最多可以有四个,因此,在Linux 底下,已经将分区表1-4 预留下来,如果只用了2 个P+E 的话(也就是整个硬盘只有一个主分区和一个扩展分区),那么将会空出两个分区号。假设我将四个P+E 都用完了,那么硬盘的分区会如下:

M

B

R

Primary

/dev/hda1

Primary

/dev/hda2

Primary

/dev/hda3

Logical

/dev/hda5

Logical

/dev/hda6

Logical

/dev/hda7

扩展分区/dev/hda4

如果是分成一个主分区和一个扩展分区,那么硬盘的分区如下:

M

B

R

Primary

/dev/hda1

Logical

/dev/hda5

Logical

/dev/hda6

Logical

/dev/hda7

Logical

/dev/hda8

Logical

/dev/hda9

扩展分区/dev/hda4

在这种情况下,因为 1-4 的分区号始终被保留,逻辑分区号从5 开始。

2.2安装

我们一般先安装Windows,在Windows 环境中分一个区出来安装Linux,另一个分区用作Linux 系统的swap 分区(类似于Windows 的硬盘页面文件,一般是物理内存的2 倍大小),再安装Linux.

安装Linux 用光盘安装是最简单的,插入安装光盘就可以像安装Windows 一样安装。

如果没有Linux 光盘或者没有刻录机将Linux 发行版镜像文件刻录到光盘上,那么可以选择在硬盘上安装。这里简单说一下硬盘安装Linux 的步骤(以Fedora Core 为例,其它发行版基本一致):

a. 下载发行版镜像文件 ISO 文件,最好下载DVD 版,这样所有的操作系统文件都在其中,安装之后马上能用。再下载grub for dos.

b. 将镜像文件中 isolinux 目录下的两个文件initrd.img 和vmlinuz 解压到一个FAT32 分区的根目录下。注意,这两个文件的文件名对于不同的发行版不完

全一样。

c. 将 grub for dos 解压到C 盘根目录下,并且打开boot.ini,在其中加入一行Linux=c:\grldr

d. 重启计算机,在准备启动 Windows 时会出现Linux 菜单,进入,就会启动grub for dos,选择进入command line

e. 输入:root (hd0,8)

kernel /vmlinuz

initrd /initrd.img

第三章Linux主要特点

3.1 基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

3.2 发展领域

职业领域:系统应用类(网管\系统管理和维护人员\安全管理人员中低端行业领域)待遇属于中下。

系统开发类行业(JAVA软件开发\C语言软件开发\WEB开发\嵌入式软件开发)其中嵌入式软件开发是linux应用最广的领域待遇属于中等发展方向:UNIX往高端领域和产业发展,例如:AIX、HP-UX、Solaris 等等。

3.3 具体特性

Linux的核心具有Windows无法比拟的稳定性和高效率,在不使用X Windows 的情况下,它占用系统资源较少,可以使一台Intel486摇身一变成为高效工作站。对于想要学习UNIX的用户来说,使他们熟悉UNIX操作环境,通往"骨灰级"高手境界的一大捷径。最重要的是,Linux上有公认的C语言世界最好的编译器gcc,如果你想得到一个效率更高的开发环境(并不一定是最友好的,但一定是最强大的)。

(1)完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

(2)完全兼容POSIX 1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

(3)多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

(4)良好的界面(如下图3-1所示)

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

图3-1 Linux操作系统界面

(5)丰富的网络功能

Unix是在互联网的基础上繁荣起来的,Linux的网络功能当然不会逊色。它的网络功能和其内核紧密相连,在这方面Linux要优于其他操作系统。在Linux 中,用户可以轻松实现网页浏览、文件传输、远程登陆等网络工作。并且可以作为服务器提供WWW、FTP、E-Mail等服务。

(6)可靠的安全、稳定性能

Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。Linux由于需要应用到网络服务器,这对稳定性也有比较高的要求,实际上Linux在这方面也十分出色。

(7)支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

(8)相关用户

普通用户可以在其权限许可的范围内使用系统资源,而超级用户(用户名为root)不仅可以使用系统中的所有资源而且可以管理系统资源。

(9)工作方式

Linux的工作方式分为字符工作方式和图形工作方式。

(10)内核

Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言和汇编语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客林纳斯.托瓦兹(Linus B. Torvalds)为尝试在英特尔x86架构上提供自由免费的类Unix 操作系统而开发的。该计划开始于1991年,林纳斯·托瓦兹当时在Usenet新闻组 comp.os.minix登载帖子,这份著名的帖子标示Linux计划的正式开始。

在计划的早期有一些Minix黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。

技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的软件系统。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。

Linux内核有三个不同的命名方案:

早期版本:第一个版本的内核是0.01。其次是0.02,0.03,0.10,0.11,0.12(第一GPL版本),0.95,0.96,0.97,0.98,0.99及1.0。从0.95版有许多的补丁发布于主要版本之间。

旧计划(1.0和2.6版之间),版本的格式为A.B.C,其中A,B,C代表:

A大幅度转变的内核。这是很少发生变化,只有当发生重大变化的代码和核心发生才会发生。在历史上曾改变两次的内核:1994年的1.0及1996年的2.0。

B是指一些重大修改的内核。内核使用了传统的奇数次要版本号码的软件号码系统(用偶数的次要版本号码来表示稳定版本)。

C是指轻微修订的内核。这个数字当有安全补丁,bug修复,新的功能或驱动程序,内核便会有变化。

第三次,自2.6.0(2003年12月)发布后,人们认识到,更短的发布周期将是有益的。自那时起,版本的格式为A.B.C.D,其中A,B,C,D代表:A和B是无关紧要的,C是内核的版本,D是安全补丁。

第四章Linux使用的命令 4.1 启动,关机,登入,登出相关命令

登录

登出

登出

停止系统

停止系统

重启动

切断电源

把内存里的内容写入磁盘

安装lilo启动管理程序

安装lilo启动管理程序

4.2 Shell相关命令

切换Shell

显示命令履历

设置命令别名

取消命令别名

显示命令所在位置

查询命令种类

显示字符串或者变量内容

设置/显示Shell变量

显示环境变量

设置环境变量

设置临时环境变量

释放环境变量

设置环境变量

释放环境变量

执行文件当中的命令

查询命令手册

查询超文本命令手册

显示命令简介

通过关键字查询手册

4.3 用户管理相关命令

切换到其他用户

追加用户

追加用户

删除用户

修改用户设置

修改用户私人信息

追加组

删除组

修改组设置

更改密码

显示用户名

显示登录用户帐号

显示所有登录用户信息

查询登录用户信息

查询登录用户信息

显示指定用户的ID信息

显示指定用户的所属组

显示指定用户的个人信息

开关与他人收发消息

给其他用户发消息

给所有用户发消息

和其他用户聊天

4.4 系统消息相关命令

显示/设置当前时间

显示系统运行时间

显示机器的核心构架(如i386) 显示操作系统信息

显示终端名

显示登录/登出在履历

显示非法登录信息

显示当前键盘配置

变更键盘配置

查询磁盘使用信息

查询磁盘使用信息

显示系统启动消息