unix操作系统

合集下载

UNIX操作系统简介

UNIX操作系统简介

UNIXUNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、DennisRitchie和DouglasMcIlroy于1969年在AT&T的贝尔实验室开发。

目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。

1简介UNIX操作系统,是美国AT&T公司于1971年在PDP-11上运行的操作系统。

具有多用户、多任务的特点,支持多种处理器架构,最早由肯·汤普逊(Kenneth Lane Thompson)、丹尼斯·里奇(Dennis MacAlistair Ritchie)于1969年在AT&T的贝尔实验室开发。

UNIX的商标权由国际开放标准组织(The Open Group)所拥有。

2历史诞生1965年时,贝尔实验室(Bell Labs)加入一项由通用电气(General Electric)和麻省理工学院(MIT)合作图1-1PDP-7计算机图1-1PDP-7计算机的计划;该计划要建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操作系统。

直到1969年,因MUL TICS计划的工作进度太慢,该计划被停了下来。

当时,Ken Thompson(后被称为UNIX之父)已经有一个称为"星际旅行"的程序在GE-635的机器上跑,但是反应非常慢,正巧被他发现了一部被闲置的PDP-7(Digital 的主机),Ken Thompson和Dernis Ritchie就将"星际旅行"的程序移植到PDP-7上。

而这部PDP-7(如图1-1所示)就此在整个计算机历史上留下了芳名。

UNIX操作系统的特点

UNIX操作系统的特点

UNIX操作系统的特点
时间:2012-3-3
1.UNIX系统是一个可供多用户同时操作的会话式分时操作系统.不同的用户可以在不同的终端上,通过会话方式控制系统操作.
2.UNIX系统继承子以往操作系统的先进技术,又在总体设计思想上有所创新,在操作系统功能设计上力求简捷,高效.
3.UNIX系统在结构上分为内核和核外程序两部分.内核部分就是一般所说的UNIX操作系统.能够从内核中分享出来的部分,则以核外程序形式存在并在用户环境下运行,内核向核外程序提供了充分而强大的支持,而核外程序灵活地运用了内核的支持.
4.UNIX系统向用户提供了两种界面,一种是用户使用命令,通过终端与系统进行交互的界面,即用户界面;另一种是用于用户程序与系统的接口,即系统调用.
5.UNIX系统采用树型结构的文件系统,它由基本文件系统和可装下的若干个子文件系统组成,它既能扩大文件存储空间,又具有良好的安全性,保密性和可维护性.
6.UNIX系统提供了丰富的核外系统程序,其中包括丰富的语言处理程序,系统实用程序和开发软件的工具,这些程序为用户提供了相当完备的程序设计环境.
7.UNIX系统基本上是用C语言编写的,这使系统易于理解,修改和扩充,且使系统具有良好的可移植性.
8.UNIX系统是能在笔记本计算机,PC机,工作站,中小型机及至巨型机上运行的操作系统,因此,UNIX系统具有极强的可伸缩性.。

unix系统的发展历程

unix系统的发展历程

unix系统的发展历程
Unix系统的发展历程
一、Multics操作系统时期
20世纪60年代初,随着计算机技术的发展,人们开始尝试开发多用户、多任务、多层次的操作系统。

在这个背景下,1965年,贝尔实验室加入通用电气和麻省理工学院的计划,目的是创建一个多用户、多任务、多层次的MULTICS操作系统。

然而,由于开发进度缓慢,贝尔实验室在1969年退出了该计划。

二、Unix操作系统时期
在退出MULTICS计划后,1969年,肯·汤普逊提议,由多个Multics计划原成员参与,共同开发了第一版的Unix。

这一版Unix是基于Multics的某些设计思想,并且更加简洁和易于使用。

在接下来的几年里,Unix经历了多次改进和版本更新,逐渐发展成为一个稳定、可靠、高效的系统。

三、Unix的普及和发展
随着计算机技术的不断发展,Unix也逐渐成为了一个成熟、稳定、可靠的系统。

同时,由于其开放源代码和跨平台的特性,Unix也成为了许多企业和组织的首选操作系统。

随着互联网的普及和发展,Unix也成为了互联网和分布式计算的重要基础。

UNIX操作系统概述

UNIX操作系统概述
返回
1、进入和退出UNIX系统 2、登入 3、改变口令 4、注销
返回
1、 UNIX 的体系结构 UNIX及其变种XENIX是一个多用户、多任务的操作系统, 其系统结构大致可分为3个层次
(1)最内层是UNIX内核(Kernel),运行UNIX后,内核长驻内存。 (2)中间一层是命令解释程序,称为外壳(Shell)。外壳只是在输 入命令时才调入内存,当执行完这条命令后就释放外壳所占的内存空间 。因此外壳是用户与内核的接口。用户可以根据需要编制一些功能程序 来扩充Shell命令。 (3)最外层是应用程序,它包括众多的应用软件和除UNIX系统以外 的其他系统软件。
硬盘:hd(1号盘hd0a,1分区hd00,2分区hd01,2号盘hd1a);
软盘:fd(a盘fd0,b盘fd1);
终端:tty(tty00,tty01,tty02);
主控台:console; 打印机;lp(lp,lp0,lp,lp2) 盘交换区:swap; 盘根分区:root; 盘用户分区:usr; 存储器:mem; 时钟:clock.
2、UNIX的文件 文件是UNIX文件系统的基本单位,共有三种不同类型的UNIX文件。 分别是:普通文件 就是我们通常所指的程序文件和文本文件
特殊文件 就是指磁带、磁盘等外部设备 目录文件。 文件与目录的命名规则 通配符
3.UNIX命令 UNIX命令是一些可执行的程序,在用户输入一条命令后,操作系统
这条命令中的-rl表示这条命令将以长列表的格式以及倒字母顺序 的排列列出目录中的全部文件。当然,在某些情况多个选择必须分开 表示,如:
copy –a –v source destination 在命令中还可以给出一些别的变量,例如: grep ”all right ”recorder.txt

Unix

Unix

重庆邮电大学
数理学院
CPU。在一个分时系统中,通常会有多个程序在同一时刻试图使用 CPU。 操作系统控制应用程序有序地使用 CPU ,就好象一个交通警察在一个复杂的十字路口指挥交通。十 字路口就象是 CPU;每一条在路口交汇的支路好比一个程序,在同一时间,只有一条路的车可以通过这个 路口,而交通警察的作用就是指挥让哪一条路的车通过路口,直到让所有路口的车辆都能通过路口。
重庆邮电大学
数理学院
的工具,而打字员会使用字处理,文档管理的工具。有趣的是:程序员用来修订程序的工具同时也被打字 员用来文档的修订。因此,他们的系统看上去十分相似,但是,每一个用户选择模块都与他或她的应用要 求密切相关。 UNIX 系统的流行很大程度可以归结与: � UNIX 系统的完整性与灵活性使其能适应许多的应用环境。 � 众多的集成的工具提高了用户的工作效率。 � 能够移植到不同的硬件平台。 SHELL Shell 是一个交互的命令解释器。命令是在 SHELL 提示符下键入,shell 会遵照执行键入的命令。用户 通过 shell 与计算机交互。shell 从键盘获得用户键入的命令,然后将命令翻译为内核能够理解的格式。然 后系统就会执行这个命令。 你会注意到 shell 与内核是分离的两部分。如果你不喜欢当前 shell 提供的特性,你能很容易地用另一 种 shell 代替当前的 shell。 一些 shell 是命令行方式,一些提供菜单界面。 UNIX 系统支持的普通的 shell 都包括一个命令解释器 和一个可编程的接口。 有四个最通用的 shell,分别是: Bourne shell --- 由 AT&T 提供的最原始的 shell,由贝尔实验室的 Stephen Bourne 开发。可提供命令的 解释,支持可编程接口,提供诸如变量定义,变量替代,变量与文件测试,分支执行与循环执行等功能。 C Shell (/usr/bin/csh)----C Shell 是在 California Berkeley 大学的 Bill Joy 开发,一般存 在于 BSD 系统 中,于是被称为 California shell,简写名称为 C Shell 。它被认为是 Bourne Shell 的一个改进版本。因为它 提供拉交互的特征例如命令堆栈(-允许简单地调用和编辑以前输入的命令, )别名(提供对已有命令取 个人的别名) Korn Shell(/usr/bin/ksh)---- 贝尔实验室最新的开发成果,由 David Korn 开发成功。它被认为是是一种 增强型的 Bourne Shell,因为它提供对简单可编程的 Bourne Shell 界面的支持,同时提供 C Shell 的简便交 互的特征。它的代码也被优化来提供一种更快,更高效的 shell。 POSIX Shell: POSIX 是一种命令解释器和命令编程语言,这种 shell 同 Korn Shell 在许多方面都很相 似,它提供历史机制,支持工作控制,还提供许多其他有用的特性 表 1-1 shell 特征的比较

Unix操作系统

Unix操作系统

unix是很强大的网络操作系统(nos)有三十多年的历史了,很稳定,功能很强大,一般大的公司都使用它做服务器系统. linux是91年由一个芬兰赫尔辛基大学的一个学生开发的,但是发展的很快,现在有很多版本,有名的有redhat,suse,slakeware,turbo,redflag等等,它最大的优点就是免费使用,而且开放源代码,功能强大自不用说,一般中小型企业都选择用它做服务器.UNIX操作系统的优势1、UNIX是最早出现的操作系统之一,发展到现在已趋于成熟;C语言因UNIX 系统而出现,UNIX系统具有强大的可移植性,适合多种硬件平台。

你甚至可以把UNIX操作系统的源代码写在纸上,然后设计一套你自己的硬件来编译和运行它2、UNIX具有良好的用户界面;程序接口提供了C语言和相关库函数及系统调用,命令接口是SHELL,UNIX有3种主流的SHELL,即sh,csh和ksh, 同时为用户提供了数千条系统命令,有助于系统操作和系统管理,其管道机制也是独有的特性; 系统的可操作性很强,你甚至可以不用显示器,取而代知的是非常简易的输出设备,如简易的,类似于计算器的液晶屏,甚至可以是打印机来完全操作计算机和完成复杂的系统开发和管理工作!!3、在UNIX中提供了完美而强大的文本处理工具,特别适合于字符流的处理,有很多强大的功能是WINDOWS无法比拟的,如grep,awk,sed, 正则表达式的应用等等,文本编辑器以vi最为普遍,其它还有pico,nano,emacs,ee等等4、为用户提供了良好的开发环境。

UNIX的默认安装一般都包括标准的C语言编译器cc,新版本的UNIX还包括GCC,程序员可以利用它们来开发C和C++应用程序,同时提供了make,sccs,rcs等版本控制程序,利于大型项目的开发;同时UNIX还支持数十种流行的程序开发语言5、好的文件系统。

UNIX的文件系统有很多种,如早期的s5,ufs,AFS,EAFS,HTFS,DTFS 日志型的jfs,xfs,vxfs等等,其跨平台的文件系统ufs,jfs,网络文件系统nfs极大的方便了用户;同时UNIX无文件类型,支持硬连接和符号连接,文件和路径名规范!(不像WINDOWS沿用早期的 3.8型的文件命名规则)6、强大的网络功能,集群和分布式计算,适合当今的INTERNET!其telnet 设计思想很适合用户进行远程管理7、完善的系统审计。

UNIX操作系统

UNIX操作系统

UNIX操作系统UNIX(Unix-like)是一种类Unix操作系统(Operating System)称为类Unix操作系统(Unix-like Operating System,又称为类Unix或类Unix系统)。

它是指基于Unix原始版本的设计思想或完全实现了Unix标准的操作系统。

Unix是由贝尔实验室(AT&T Bell Labs)的肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)在20世纪70年代早期开发的。

它是一种多用户、多任务操作系统,因其稳定性、安全性、灵活性和可移植性而受到广泛使用。

Unix操作系统具有许多优点。

首先,它具有很高的可移植性,可以轻松地在不同的硬件平台上运行。

其次,它稳定可靠,能够长时间运行而不会崩溃或出现错误。

此外,Unix还具有较高的安全性,采用了强大的访问控制机制来保护用户数据和系统资源。

它还支持多用户和多任务,允许多个用户同时使用系统,并在同一时间执行多个任务。

Unix操作系统在许多领域有着广泛的应用。

它是互联网的基石之一,许多服务器和网络设备都使用Unix操作系统。

此外,它还被广泛应用于科学研究、大型计算和数据存储。

由于Unix的模块化设计和可定制性,许多不同的Unix-like操作系统得以开发,如Linux、BSD、Solaris等。

Linux是一个开源的Unix-like操作系统,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)在1991年创建。

Linux具有和Unix相似的设计和功能,但是它是免费和开源的。

Linux经过了多年的发展,现在已成为最受欢迎的操作系统之一、它支持多种硬件平台,包括个人计算机、服务器、移动设备等。

它还拥有庞大的开源社区,为用户提供了丰富的软件和工具。

许多企业和组织选择使用Linux操作系统,因为它提供了高度的可定制性和安全性。

总之,UNIX操作系统是一种基于Unix原始版本设计思想或完全实现了Unix标准的操作系统。

第8章:unix操作系统

第8章:unix操作系统

第八章一. 单项选择题1. UNIX是当今世界上广为使用的_________.A. 小型计算机操作系统B. 多用户多任务操作系统C. 大型计算机操作系统D. 实时多任务操作系统2. UNIX是____操作系统.A. 分时B. 批处理C. 单道D. 实时3. UNIX操作系统的SHELL是负责_____的模块.A. 解释并执行来自终端的命令B. 解释并执行来自终端的内部命令C. 解释并执行来自终端的外部命令D. 进行功能调用4. 在UNIX系统中,用户通过____读取磁盘文件中的数据.A. 作业申请表B. 原语C. 系统调用D. 软中断5. UNIX System V的调度原理其于_____.A. 先来先服务B. 短作业优先C. 时间片轮转D. 时间片+优先级6. UNIX System V的存储管理策略基于_____.A. 单一连续分配B. 固定式分区分配C. 可变式分区分配D. 请求分页7. 在UNIX System V中,系统向用户提供的用于创建新进程的系统调用是____.A. readB. forkC. pipeD. exit8. 当进行中断处理和系统调用时,都将涉及到进程上下文的保存和恢复,此时系统所保存和恢复的是_____的上下文.A. 系统进程B. 同一个进程C. 不同的进程D. 其他进程9. 所谓管道是指能连接某些读进程和写进程的、专门用于进程通信的共享文件.它允许读/写进程按____的方式传送数据.A. 后进先出B. 先进先出C. 任意10. UNLX操作系统的文件系统是_____.A. 一级目录结构B. 二级目录结构C. 分级树形结构D. 链表结构11. 下列4个操作系统中,是分时系统的是_____.A. CP/MB. MS-DOSC. UNLXD. UCDOS12. 下列4个操作系统中,_______没有多道程序设计的特点.A. OS/2B. MS-DOSC. UNLXD. Windows NT13. 下列4个操作系统中,_____具有多道程序设计的特点,但不是分时系统.A. OS/2B. Windows 3.1C. UNLXD. Windows NT14. UNIX操作系统中使用全屏幕编辑的命令是______.A. viB. editC. edlinD. ed15. UNIX把外部设备当作特殊的文件,它们都放在一级目录______中.A. /includeB. /binC. /libD. /dev16. 用ls命令以长格式列目录信息时,若某一文件的特征在文件列表中按如下顺序显示在屏幕上:8234 drwxrw-r- 2user gk 3564 COT 1999 /user/asd.h则同组人的访问权限是____.A. 读和执行B. 读或执行C. 写和执行D. 读和写17. UNIX系统中,把输入/输出设备看作是_____.A. 普通文件B. 特殊文件C. 索引文件D. 目录文件18. UNIX系统中,_____用于把一个进程的输出连接到另一进程的输入.A. 普通文件B. 特殊文件C. 目录文件D. 管道文件19. 在UNIX中文件可分为三类:_____、______和_______.A. 系统文件B. 普通文件C. 数据文件D. 目录文件E. 特殊文件F. 临时文件20. 在UNIX系统的多用户环境下,各个用户都是通过口令在各自的注册账号下行使自己的系统权限.系统对每个文件实行了____三级保护和______三种权限,从而大大加强了文件的保密性和安全性.A. 文件的系统、隐含及私有B. 文件的所有者、同组用户及其他人C. 读、写及执行D. 读、写、执行及拷贝21. UNIX中显示文件内容用_____命令.A. typeB. catC. dirD. more22. 指出下列左边的命令与右边所列的哪个功能相匹配.(1)who (______)(2)passwd (______)(3)date (______)(4)cal (_______)(5)su (_______)A. 显示日期B. 显示日历C. 使自己成为特权用户D. 显示哪些用户在使用系统E. 修改口令23. 下列命令执行的结果是(以字母形式):(1)chmod 755 file1 (____)(2)chmod 664 file2 (_____)(3)chmod 700 file3 (_____)(4)chmod 644 file4 (_____)A. rwxr-xr-xB. rw-rw-r-C. rwx-----D. rw-r-r-24. 下列功能和右边哪个命令相匹配.(1)改变工作目录(______)(2)建立目录(______)(3)删除目录(______)(4)列目录(______)(5)复制(______)(6)显于当前的工作目录(______)(7)目录改名或移动目录(______)A. pwdB. mvC. cpD. cdE. mkdirF. rmdirG. ls25. 假设当前目录为HOME目录,选择命令完成下列操作.(1)列出该目录中所有文件和目录(______)(2)读名为file2的文件(_____)(3)建立file2的一个副本,名为file5 (______)](4)建立一个子目录D2 (____________)(5)转到子目录D2 (______)(6)把file2移到D2 (_____)(7)列出HOME中的所有文件夹(_______)(8)建立与D2同级的子目录D3 (______)(9)在D3中为file2建立一个链接,名为file4 (_______)(10)删除子目录D3 (_____)A. rm*;cd..;rmdir D3B. cd D3;ln;;/D2/file2 file4C. cd..;mkdir D3D. ls-la;;/*E. mv../file2F. cd D2G. mkdir D2H. cp file2 file5I. cat file2或more file2J. ls-la26. 下列关于UNIX的叙述中,______是不正确的.A. UNIX是一个多道的分时操作系统B. PIPE机制是UNIX贡献之一C. 提供可动态装卸的文件卷是UNIX的特色之一D. 路径名是UNIX独有的实现文件共享的机制单项选择题答案******************************************一. 单项选择题1. B2. A3. A4. C5. D6. D7. B8. B9. B10. C11. C12. B13. B14. A15. D16. D17. B18. D19. B D E20. B C21. B22. E F A B C23. A B C D24. D E F G C A B25. J I H G F E D C B A26. D填空题1.UNIX系统为用户提供了面向操作的接口___和面向___的接口____.2.在UNIX System V中,将PCB分成进程表项和U区.除进程表项和U区外,管理进程的数据结构还有_____和___.3.UNIX把执行状态分为两种:一种是_____执行;另一种是核心态执行.4.软中断信号是一种实现______的实施,用于同志对方发生了异常事件.5.在UNIX系统中,为实现请求调页,核心配置了四种数据结构:_____、______、_______和_______.6.在UNIX系统中有两种读方式:一般读方式和______方式. 7.UNIX系统中的每个目录项由______及其相应的_____组成.8.用户在第一次访问任何文件之前,都必须先使用系统调用______来打开指定文件,然后才能对该文件执行读,写和修改等操作.9.在UNIX系统中,键盘,中断,打印机等以_____为单位组织和处理信息的设备称为_____;而磁盘,磁带等以_____为单位组织和处理信息的设备称为________10.. .通往一个文件的路径数目称为此文件的_____.11.用户当前目录下有一子目录temp,在该子目录下有文件test.c 和clock,给出完成以下操作的命令_____,______,_______,______.(1).用MV命令将test.c文件更名为同一目录下的para.c(2). 用MV命令将test.c文件更名为当前目录下的para.c(3).用cp命令完成(1)的操作(4).用cp命令完成(2)的操作12.一个UNIX系统中文件目录如图8.24所示,设当前目录是根目录,给出删除liu的manu子目录的两个命令______,_______.图8.24 一个UNIX系统中文件目录13.一个UNIX系统中文件目录如图8.25所示,设工作目录是u1,给出实现以下功能的UNIX命令________,_________,_______.(1) 显示test.txt文件的内容(2) 在当前目录中查找名为test.txt的文件(3) 将test.txt文件拷贝到temp子目录下,命名为temp1图8.25 一个UNIX系统中文件目录14.缓冲区可分为_____,______,______和______.15.一个进程只有在获得_____,_____和所需设备三者之后,才具备进行______的物质条件.填空题答案****************************1.Shell 程序系统调用2.本进程区表系统区表3.用户态4.进程间简单通信5.页表磁盘块描述表页面数据表对换使用表6.提前读7.文件名索引接点号8.open9.字符字符设备块块设备10.联结计数11. 1)$cd temp$mv test.c para.c2)$cd..$mv temp/test.c para.c3) $cd temp$cp test.c para.c$rm test.c4) $cd.$cp temp/test.c para.c$rm temp/test.c12.1)$cd/usr/liu/manu$rm chap1 chap2$cd..$rmdir manu2) $rm-r manu13.1)$cd text$cat test.txt2)$ find -name test.txt3)$cp test.txt/usr/u1/temp/temp114.单缓冲区双缓冲区多缓冲区缓冲池15.通道控制块I/O操作解析题8 *****************************************1 试利用UNIX 的进程状态说明一个进程在其生命周期内的变化过程.解一个进程从被创建开始到被释放为止的整个生命周期内的变化过程.状态之间的转化有些是通过系统原语或核心函数完成(如唤醒或调度等),有些则由外部事件的发生而导致状态转换(如陷入或中断).下面我们参照图8.2讨论一个进程可能的状态变迁过程,其中的事件说明了各种可能的转换原因,但进程不一定总是要经历这些事件.首先,当父进程执行调用FORK时,被创建进程进入创建状态(图中状态1).当被创建进程处于该状态时,核心为该进程分配U 区以及必要的内存工作集.内存管理分配程序如果能为该进程分配足够的内存,则进程状态发生,由创建状态变为内存中的就绪状态(图中状态2) .此时,由于该进程一分得存放U 区.各种页表和堆栈以及部分正文段和数据段等的内存空间,因此,该进程可以经调度选中后占有CPU.如果内存分配程序不能为该进程分配足够的内存,则该进程的进程上下文被存放到外存交换区中,进程由创建状态变为就绪且换出状态(图中状态3).如果进程处于就绪且换出状态,则只有在交换程序将进程上下文换入内存成为状态2(内存中就绪)之后,才有可能被调度执行.当进程进入内存中就绪状态后,进程调度程序将会在适当时机选择该进程去执行.折实,该进程在核心态下执行(图中状态4) ,以装配该进程的进程上下文.在这个状态下,该进程完成它的FORK 部分的工作.当进程完成FORK 系统调用后,它可能返回用户态下执行用户程序,这时该进程进入状态5, 即用户态下执行状态.另外,UNIX System V 调度策略规定,在进程完成系统调用后返回用户态之前,若此时有优先级高于当前进程的进程存在,则系统将调度优先级高的进程去占据处理机,从而使当前运行进程进入状态8(被剥夺状态).进程进入被剥夺状态后,所出的状态与内存中就绪状态相同,几要等到再一次进程调度时才能返回用户态执行.当进程处于用户态执行时,拥护程序中由于使用系统调用或输入/输出数据等而发生陷入或中断.这样,进程又进入状态4而变为在核心态执行.进程在核心态执行时,因为等待谋事件发生,如等待输入/输出完成等,调用SLEEP原语进入内存中睡眠状态(图中状态6).处于内存中睡眠状态的进程因为内存的限制,将在睡眠一段时间后被交换程序换出内存而进入睡眠且换出状态(图中状态7),知道时间发生后被唤醒原语唤醒而进入状态3,即就绪且换出状态.当进程完成时,将士用系统调用EXIT,从而似的进程进入僵死状态.2.(中国科学技术大学1996年试题)在UNIX System V 中,当一贯进程所访问的一页既不在内存又不在文件系统中时,该页面可能在什么地方?存储管理模块是如何把它调入内存的?解:在UNIX System V 中,一个进程所访问的页面或者正在内存中,或者在文件系统中,或者在对换设备上.因此,当一个进程所访问的一页既不在内存又不在文件系统中时,改页面可能在对换设备上.此时有核心调用有效性错误处理程序加以处理.当所缺页面在对换设备上但不在内存时,则说明该页曾一度在内存中,但已被偷页进程换出.为从对换设备上调入该页面,核心从磁盘块描述项中找到存放该页面的对换设备和块号,然后为缺页分配一内存页,修改此进程的相应页表项,使之指向该内存页,并将页面数据表放入相应散列队列中,再把该页从对换设备上调入内存.3.(中国科学技术大学1998年试题)在UNIX System V K ,如果一个盘块的大小为 1 KB,每个盘块号4个字节,那么,一个进程要访部偏移量为263168字节处的数据时,需要经过几次间接?解:偏移量度263168的逻辑性块号为:363168/1024=257块内偏移量为:263168-1024 *257=0因为10 <257 <266,所以偏听偏信移地址263168的块号在一次间接块内,故一个进程要访问偏移量为263168 字节处的数据时,只需要经过一次间接.4.在UNIX 系统中运行下面程序,最多可产生多少个进程?画出进程家族树.MAIN(){fork();fork();fork();}分析:系统调用fork的功能是一个创建新进程,新进程运行与其创建者一样的程序,新创建的进程称为子进程,调用fork的进程成为父进程,父子进程都从fork调用后的那条语句开始执行.当程序执行时,若所有进程都能成功地执行系统调用fork ,则会产生最多数目的进程.为了描述方便,将开始执行的进程称为 A 进程,此时程序PC 指向第一个fork 调用.main(){fork();fork(); /* PC, 进程A*/fork();}main(){fork();fork(); /* PC, 进程B*/fork();}当进程 A. B 成功地执行完第二个fork 调用时,它们分别创建了一个子进程,将这些子进程分别成为进程C .D .此时,进程A . B .C .D 的程序计数器PC指向第三个fork 调用,进程A 派生了3个子孙进程. main(){fork();fork(); /* PC, 进程A*/fork();}main(){fork();fork(); /* PC, 进程B*/fork();}main(){fork();fork(); /* PC, 进程C*/fork();}main(){fork();fork();}当进程A . B .C .D 成功地执行完第三个fork 调用时,它们分别创建了一个子进程,将这些子进程分别称为进程E.F.G.H .此时,进程A . B .C .D.E.F.G.H 的程序计数器PC 指向程序结束处,进程A 派生了7个子孙进程.main(){fork();fork(); /* PC, 进程A*/fork();}main(){fork();fork(); /* PC, 进程B*/fork();}main(){fork();fork();}main(){fork();fork(); /* PC, 进程D*/fork();}main(){fork();fork(); /* PC, 进程E*/fork();}main(){fork();fork(); /* PC, 进程F*/fork();}main(){fork();fork(); /* PC, 进程G*/fork();}main(){fork();fork(); /* PC, 进程H*/fork();}进程家族树是一棵有向树,有向树的节点代表进程,由进程P 指向Q 的边表示由进程P创建了进程Q .我们称进程P是进程Q的父进程,进程Q 是进程P的子进程,这样便形成了进程树.解:从上面的分析过程可以看出,执行第一个fork 调用时,进程 A 创建了进程B;执行第二个fork 调用时,进程A 创建了进程C,进程B 创建了进程D;执行第一个fork 调用时,进程A 创建了进程E,进程B 创建了进程F,进程C 创建了进程G,进程D 创建了进程H.因此,在UNIX 系统中运行题目中的程序,最多可产生7 个进程,其进程家族树如图8.26 所示.5.UNIX 采用一般写.异步写和延迟写三种方式将缓冲中的内容写回磁盘。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Unix操作系统浅析摘要:本文较详细的介绍了什么是UNIX操作系统,以及UNIX操作系统的发展历史,UNIX系统的基本结构,UNIX操作系统的优势,UNIX操作系统和LINUX操作系统的区别和联系。

关键字:UNIX,LINUX一、引言UNIX ,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。

UNIX操作系统最早由Ken Thompson、D ennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。

经过长期的发展和完善,目前已成长为一种主流的操作系统技术和基于这种技术的产品大家族。

由于UNIX具有技术成熟、结构简练、可靠性高、可移植性好、可操作性强、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。

它主要安装在巨型计算机、大型机上作为网络操作系统使用,也可用于个人计算机和嵌入式系统。

曾经是服务器操作系统的首选,占据最大市场份额,但最近在跟WINDOWS SERVER以及Linux的竞争中有所失利。

二、UNIX历史初创期Unix的诞生和Multics(Multiplexed Information and Computi ng System)是有一定渊源的。

Multics是由麻省理工学院,AT&T贝尔实验室和通用电气合作进行的操作系统项目,被设计运行在GE-645大型主机上,但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,最终以失败而告终。

AT&T最终撤出了投入Multics项目的资源,其中一个开发者,Ken Thompson则继续为GE-645开发软件,并最终编写了一个太空旅行游戏。

经过实际运行后,他发现游戏速度很慢而且耗费昂贵——每次运行会花费75美元。

在Dennis Ritchie的帮助下,Thompson用PDP-7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。

这次经历加上Multics 项目的经验,促使Thompson开始了一个DEC PDP-7上的新操作系统项目。

Thom pson和Ritchie领导一组开发者,开发了一个新的多任务操作系统。

这个系统包括命令解释器和一些实用程序,这个项目被称为UNICS(Uniplexed Informat ion and Computing System),因为它可以支持同时的多用户操作。

后来这个名字被改为UNIX。

发展期最初的Unix是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。

B语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,并与1971年共同发明了C语言。

1973 年Thompson和Ritchie用C语言重写了Unix。

在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以Thompson和 Ritchie此举是极具大胆创新和革命意义的。

用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。

1974年,Thompson和Ritchie合作在ACM通信上发表了一篇关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。

此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。

1975年,UNIX发布了4、5、6三个版本。

1978年,已经有大约600台计算机在运行UNIX。

1979年,版本7发布,这是最后一个广泛发布的研究型UNIX版本。

20世纪80年代相继发布的8、9、10版本只授权给了少数大学。

此后这个方向上的研究导致了Plan 9的出现,这是一个新的分布式操作系统。

1982年,AT&T 基于版本7开发了UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。

为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1。

这个新的UNIX商业发布版本不再包含源代码,所以加州大学Berkeley分校继续开发BSD UNIX,作为UNIX System III 和V的替代选择。

BSD对UNIX最重要的贡献之一是TCP/IP。

BSD 有8个主要的发行版中包含了TCP/IP:4.1c、4.2、4.3、4.3-Tahoe、4.3-Reno、Net2、4.4以及 4.4-lite。

这些发布版中的TCP/IP代码几乎是现在所有系统中TCP/IP实现的前辈,包括AT&T System V UNIX 和Microsoft Windows。

其他一些公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统,有些选择System V作为基础版本,有些则选择了BSD。

BSD的一名主要开发者,Bill Joy,在B SD基础上开发了SunOS,并最终创办了Sun Microsystems。

1991年,一群BS D开发者(Donn Seeley、Mike Karels、Bill Jolitz 和 Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。

BSDI是第一家在便宜常见的Intel平台上提供全功能商业BSD UNIX的厂商。

后来Bill Jolitz 离开了BSDI,开始了386BSD的工作。

386BSD被认为是FreeBSD、OpenBSD 和 N etBSD的先辈。

AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。

1987到1989年,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。

这个新发布版将多种特性融为一体,结束了混乱的竞争局面。

199 3年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。

现况UNIX System V Release 4发布后不久,AT&T就将其所有UNIX权利出售给了Novell。

Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,最终Novell将SVR4的权利出售给了X/OPEN Consortium,后者是定义U NIX标准的产业团体。

最后X/OPEN和OSF/1合并,创建了Open Group。

Open G roup定义的多个标准定义着什么是以及什么不是UNIX。

实际的UNIX代码则辗转到了Santa Cruz Operation,这家公司后来出售给了Caldera Systems。

Cal dera原来也出售Linux系统,交易完成后,新公司又被重命名为SCO Group。

1127部门的解散根据一项报导指出,当年负责研发UNIX与后续维护工作的贝尔实验室1127部门已于2005年8月正式宣告解散。

Ken Thompson已退休,现居加州;Dennis Ritchie调到别的部门;Douglas McIlroy在达特茅斯学院担任教授等等。

三、UNIX系统基本结构UNIX系统的基本结构如图所示。

整个UNIX系统可分为五层:最底层是裸机,即硬件部分;第二层是UNIX的核心,它直接建立在裸机的上面,实现了操作系统重要的功能,如进程管理、存储管理、设备管理、文件管理、网络管理等,用户不能直接执行UNIX内核中的程序,而只能通过一种称为"系统调用"的指令,以规定的方法访问核心,以获得系统服务;第三层系统调用构成了第四层应用程序层和第二层核心层之间的接口界面;应用层主要是UNIX系统的核外支持程序,如文本编辑处理程序、编译程序、系统命令程序、通信软件包和窗口图形软件包、各种库函数及用户自编程序;UNIX系统的最外层是Shell解释程序,它作为用户与操作系统交互的接口,分析用户键入的命令和解释并执行命令,Shell中的一些内部命令可不经过应用层,直接通过系统调用访问核心层。

四、UNIX操作系统的优势1、UNIX是最早出现的操作系统之一,发展到现在已趋于成熟;C语言因UNIX系统而出现,UNIX系统具有强大的可移植性,适合多种硬件平台。

你甚至可以把UNIX操作系统的源代码写在纸上,然后设计一套你自己的硬件来编译和运行它。

2、UNIX具有良好的用户界面;程序接口提供了C语言和相关库函数及系统调用,命令接口是SHELL,UNIX有3种主流的SHELL,即sh,csh和 ksh,同时为用户提供了数千条系统命令,有助于系统操作和系统管理,其管道机制也是独有的特性;系统的可操作性很强,你甚至可以不用显示器,取而代知的是非常简易的输出设备,如简易的,类似于计算器的液晶屏,甚至可以是打印机来完全操作计算机和完成复杂的系统开发和管理工作!3、在UNIX中提供了完美而强大的文本处理工具,特别适合于字符流的处理,有很多强大的功能是WINDOWS无法比拟的,如 grep,awk,sed,正则表达式的应用等等,文本编辑器以vi最为普遍,其它还有pico,nano,emacs,ee等等。

4、为用户提供了良好的开发环境。

UNIX的默认安装一般都包括标准的C语言编译器cc,新版本的UNIX还包括GCC,程序员可以利用它们来开发C和C ++应用程序,同时提供了make,sccs,rcs等版本控制程序,利于大型项目的开发;同时UNIX还支持数十种流行的程序开发语言5、好的文件系统。

UNIX的文件系统有很多种,如早期的s5,ufs,AFS,EAFS,HTFS,DTFS日志型的jfs,xfs,vxfs等等,其跨平台的文件系统ufs,jfs,网络文件系统nfs极大的方便了用户;同时UNIX无文件类型,支持硬连接和符号连接,文件和路径名规范。

6、强大的网络功能,集群和分布式计算,适合当今的 INTERNET。

其telnet设计思想很适合用户进行远程管理。

7、完善的系统审计。

除了提供syslog系统审记,还提供sulog,lastlog,wtm plog等,同时用户还可以自定义记录LOG,由于UNIX非常擅长处理文本,用户可以方便的对这些LOG进行查看、分类和再加工。

8、增强的系统安全机制。

系统大多满足C2级系统安全规范,部分专用系统已经达到了B1级;经典而完善的按属主和组进行3种权限管理的机制仍然是当今最完善的用户权限解决方案。

9、系统备份功能完善。

系统本身提供了dd,tar,cpio,dump等传统的归档备份程序,用户同时可采用第3方的备份工具。

相关文档
最新文档