计算机组成原理与操作系统-实验指导书

发布时间 : 星期五 文章计算机组成原理与操作系统-实验指导书更新完毕开始阅读

《操作系统原理及应用》实验指导书

1、内核。作为OS的核心,它应具有二个方面的接口:一方面是核心与硬件的接口,它通常是由一组驱动程序和一些基本的例行程序组成;二是核心与Shell的接口,由二组系统调用以及命令解释程序等组成。核心本身又可分成二大部分:一部分是进程控制子系统;另一部分则是文件子系统。二组系统调用分别与这二大子系统交互。

2、Shell是用户与系统交互作用的界面。LINUX中,Shell作为解释程序出现:接收用户打入的命令,进行分析,创建子进程,由子进程实现命令所规定功能,等子进程终止工作后,发出提示符。这也是Shell最常见的使用方式。

Shell除了作为命令解释程序以外,还是一种高级程序设计语言,它有变量、关键字、各种控制语句,如if、case、while、for等,有自己的语法结构。利用Shell程序设计语言可以编写出功能强大、代码简单的程序,特别是它把相关的LINUX命令有机地组合在一起,可大大提高编程的效率。 Shell具有如下突出特点:

(1)把已有命令进行适当组合,构成新的命令,且组合方式简单;

(2)可以进行交互式处理,用户和LINUX系统之间通过Shell进行交互式会话,实现通信; (3)灵活地利用位置参数传递参数值;

(4)结构化的程序模块,提供了顺序流程控制、条件控制、循环控制等;

(5)提供通配符、I/O重定向、管道线等机制,方便了模式匹配、I/O处理和数据传输; (6)便于用户开发新的命令。利用Shell过程可把用户编写的可执行程序与LINUX命令结合在一起,当作新命令使用;

(7)提供后台处理方式,不打断前台工作。

LINUX通常提供三种不同的Shell,即Bourne Shell (简称bash),C-Shell (简称csh)和Korn Shell (简称ksh)。Bourne Shell是AT&T Bell实验室人员为LINUX开发的,它是其他Shell 开发的基础,也是各种LINUX/LINUX 系统上最常用、最基本的Shell。C-Shell 是加州伯利克大学的Bill Joy 为BSD LINUX开发的,它与bash不同,主要模拟C语言。ksh Shell是AT&T Bell实验室开发的,与bsh兼容,但功能更强大。

3、Shell 程序示例

使用Shell 最简单的方法是从键盘上直接打入命令行。例如: ls -l /usr/example

Shell 命令解释程序对打入的命令进行分析,并创建子进程,完成该命令所对应的功能。Shell 程序也可存放在文件上,下面是二个Shell 程序示例。

例如:由三条简单命令组成的Shell 程序(文件名为ex1) date pwd cd..

执行这个Shell 程序时,依次执行其中各条命令:显示日期、当前工作目录,返回上级目录。 四、什么是LINUX

由于LINUX庞大的支持基础和发行系统,它成为世界范围内最有影响的OS之一。但另一方面,由于商业版LINUX非常昂贵,且源代码有专利,所以很难在计算机爱好者中广泛使用。于是,出现了这样一群人,他们是一支由编程高手、业余计算机玩家、黑客们组成的奇怪队伍,完全独立地开发出在功能上毫不逊色于商业版LINUX OS的一个全新的免费LINUX OS——LINUX。

LINUX 是芬兰赫尔辛基大学的Linus Torvalds于1991年开始开发的。LINUX是一个遵循POSIX标准的免费OS,具有BSD和SYSV的扩展特性(其外表性能上同LINUX非常相象,但所有系统核心代码全部重新写过了)。

LINUX 可以运行在X86 PC、SUN Sparc、Digital Alpha、PowerPC、MIPS等平台上,可以说是目前运行硬件平台最多的OS。

LINUX 上可运行大多数LINUX程序:X-Windows系统、GNU C/C++编译器??。如今越来越多的商业公司采用LINUX 作为OS,例如,科学工作者使用LINUX 进行分布式计算,ISP使用LINUX配置Internet服务器、电话拨号服务器来提供网络服务;美国1998年1月最卖座的影片《泰坦尼克》中的计算机动画设计工作就是在LINUX平台上进行的。

LINUX与LINUX有着密不可分的关系。实际上LINUX就是LINUX的克隆,只不过LINUX 一般用于PC机,而大多数商业LINUX则主要用于工作站或大型机。

五、LINUX 的特点

20

《操作系统原理及应用》实验指导书

1、支持多种硬件平台。它支持几乎所有的兼容芯片; 2、支持多种文件系统。

如FAT、FAT32、EXT2、NFS等,LINUX 可以将这些文件系统直接装载为系统的一个目录。LINUX 自己的文件系统EXT2非常先进,最多可支持到2TB的空间,文件名长度可达到255个字符。LINUX 可直接读写DOS/WINDOWS9X的FAT及FAT32文件系统,新的内核还支持直接读写Windows NT 的NTFS文件系统。同时在DOS和Windows95/NT下也都有工具来直接读取LINUX 文件系统上的文件;

3、多任务、多用户;

4、使用分页技术的虚拟内存。在LINUX 下,系统核心并不把整个进程交换到硬盘上,而是按照内存页面来交换。虚拟内存的载体不仅可以是一个单独的分区,也可以是一个文件(如果用户在同时使用Windows,LINUX还可以同它们共享同一个交换文件,这是对硬盘紧张的用户的一个非正式的解决办法)。LINUX 还可以在系统运行时临时增减交换内存;

5、具有优秀的磁盘缓冲调度功能;

LINUX 最突出的一个优点就是它的磁盘I/O速度,因为它将系统没有用到的剩余物理内存全部用来作硬盘的高速缓冲,当有对内存要求比较大的应用程序运行时,它将会自动地将这部分内存释放出来给应用程序使用;

6、动态链接共享库。

同Windows的DDL一样,LINUX 也使用动态链接共享库(同时也提供静态链接库)。这个特性可以大大减小LINUX 应用程序的大小。例如,一个普通的应用程序如果使用动态库,其程序大小只有50KB左右,但一旦在编译时改成静态链接,则该应用程序的大小将急增到2MB。动态链接共享库是在程序运行时才动态链接的,并且被很多程序同时调用的一段代码只被加载一次,由众多程序共享;

7、丰富的软件;

8、软件移植性好(与其他LINUX系统的兼容性好); 9、强大的网络功能。

LINUX 本身就是在Internet上成长起来的,所以它提供了全面的网络支持,如基本的TCP/IP网络、HTTP、FTP、NFS、E-Mail、UUCP等;

10、提供全部源代码。

LINUX 最后也是最大的优点就是它的全部源代码都是公开的,这包括整个系统核心、所有的驱动程序、开发工具以及所有的应用程序。任何人只要有兴趣都可以将整个LINUX 重新编译一遍。用户可以在LINUX 的源代码中观察系统核心的运转,查看Telnet、FTP是如何实现的。整个LINUX 对于用户就象是一个透明的发动机。

21

《操作系统原理及应用》实验指导书

附录二:Linux 命令速查

LINUX命令格式

命令 [选项] [处理对象]

例:ls -la mydir 注意:(1)命令一般是小写字串。注意大小写有别

(2)选项通常以减号(-)再加上一个或数个字符表示,用来选择一个命令的不同操作 (3)同一行可有数个命令,命令间应以分号隔开

(4)命令后加上&可使该命令后台(background)执行

一. 启动,关机,登入,登出相关命令 登录 登出 登出

停止系统 停止系统 重启动

切断电源

把内存里的内容写入磁盘 安装lilo启动管理程序 安装lilo启动管理程序

二. Shell相关命令 切换Shell

显示命令履历 设置命令别名 取消命令别名 显示命令所在位置 查询命令种类

显示字符串或者变量内容 设置/显示Shell变量 显示环境变量 设置环境变量 设置临时环境变量 释放环境变量 设置环境变量 释放环境变量

执行文件当中的命令 查询命令手册

查询超文本命令手册 显示命令简介

通过关键字查询手册

三. 用户管理相关命令 切换到其他用户 追加用户 追加用户 删除用户

修改用户设置 修改用户私人信息 追加组

22

《操作系统原理及应用》实验指导书

删除组

修改组设置 更改密码 显示用户名

显示登录用户帐号 显示所有登录用户信息 查询登录用户信息 查询登录用户信息

显示指定用户的ID信息 显示指定用户的所属组 显示指定用户的个人信息 开关与他人收发消息 给其他用户发消息 给所有用户发消息 和其他用户聊天

四. 系统消息相关命令 显示/设置当前时间 显示系统运行时间

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

显示登录/登出在履历 显示非法登录信息

显示当前键盘配置 变更键盘配置 查询磁盘使用信息 查询磁盘使用信息 显示系统启动消息