当前位置:首页 > 计算机组成原理与操作系统-实验指导书
《操作系统原理及应用》实验指导书
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)执行
一. 启动,关机,登入,登出相关命令
二. Shell相关命令
三. 用户管理相关命令
22
《操作系统原理及应用》实验指导书
四. 系统消息相关命令