2022年操作系统实验指导书33807 .pdf
1 / 25 操作系统实验指导2018/2018 学年第 2 学期班级: 09 软件 1 班组号:组长:实验地点: N6-111 指导教师:计算机科学与工程学院2009年 10月精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 25 页实验目录实验一、认识常见的操作系统1 实验二安装 Linux 操作系统 3 实验三、操作系统的命令接口和图形接口5 实验四、观察 Linux 进程的异步并发执行7 实验五、 Windows系统的多线程同步9 实验六、进程管理11 实验七、进程调度13 实验八、银行家算法15 实验九、存储管理17 实验十、文件系统设计19 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 25 页1 / 25 实验一、认识常见的操作系统实验目的通过 Internet和/ 或图书馆馆藏资源,让学生从课堂以外,从感性上认识操作系统这种系统软件的功能,了预习1. 2. www.wikipedia.org 3. 实验内容及要求搜索并归纳如下信息:1. 什么是操作系统?你买回一台新计算机后,要装的第一个软件是什么?为什么必须在计算机上安装操作系2. 目前市场上常见的操作系统有哪些类型?3. 请尽可能多地罗列出目前市场上已有的操作系统产品,分别给出这些操作系统所取得的成就,采用的新技实验结果 是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的操作系统是一个庞大的管理控制程序,大致包括5 个方面的管理功能:进程与处理机管理、作业管理、存储管理。.2. DOS、OS/2、UNIX 、XENIX 、LINUX 、Windows 、 Netware 。3.windows xp:Windowsxp 中文全称为视窗操作系统体验版。是微软公司发布的一款视窗操作系统代码的产品,拥有新的用户图形界面,它包括了一些细微的修改,其中有些看起来是从Linux 的桌面环境特的视窗标志也改为较清晰亮丽的四色视窗标志。Windows XP XP还引入了一个“ 选择任务 ” 的用户界面,使得工具条可以访问任务的具体细节。然而,批评家认为这个基于Windows 7:Windows 7 是由微软公司开发的,具有革命性变化的操作系统。该系统旨在让人本电脑的特有设计;基于应用服务的设计;用户的个性化;视听娱乐的优化;用户易用性的新更易用: Windows 7 做了许多方便用户的设计,如快速最大化,窗口半屏显示,跳转列表Jump List),系统更快速: Windows 7 大幅缩减了Windows 的启动时间,据实测,在2008 年的中低端配置下运行,系统加载时间更简单: Windows 7 将会让搜索和使用信息更加简单, 包括本地、网络和互联网搜索功能, 直观的用户体验将更加更安全精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 25 页2 / 25 Windows 7包括了改进了的安全和功能合法性, 还会把数据保护和管理扩展到外围设备。Windows 7改进了节约成本:Windows7可以帮助企业优化它们的桌面基础设施,具有无缝操作系统、应用程序和数据移植功能,更好的连接:Windows7 进一步增强了移动工作能力, 无论何时、何地、任何设备都能访问数据和应用程序, 开启能。最后 ,Windows7 会带来灵活计算基础设施,包括胖、瘦、网络中心模型。更人性化的UAC 的形成和发展。早期的操作系统最初的电脑并没有操作系统,人们通过各种操作按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入电脑进行编译。这些将语言内置的电脑只能由操作人员自己编写程序来运行,不利于设备、程序的共用。为了解决这种问题,就出现了操作系统,这样就很好实现了程序的共用,以及对计算机硬件资源的管理。随着计算技术和大规模集成电路的发展,微型计算机迅速发展起来。从20 世纪 70 年代中期开始出现了计算机操作系统。1976年,美国 DIGITAL RESEARCH软件公司研制出 8 位的 CP/M操作系统。这个系统允许用户通过控制台的键盘对系统进行控制和管理,其主要功能是对文件信息进行管理,以实现硬盘文件或其他设备文件的自动存取。此后出现的一些8 位操作系统多采用 CP/M结构。 DOS操作系统计算机操作系统的发展经历了两个阶段。第一个阶段为单用户、单任务的操作系统,继 CP/M操作系统之后,还出现了C-DOS 、M-DOS 、TRS-DOS 、S-DOS 和MS-DOS 等磁盘操作系统。其中值得一提的是MS-DOS ,它是在 IBM-PC及其兼容机上运行的操作系统,它起源于 SCP86-DOS,是 1980年基于 8086微处理器而设计的单用户操作系统。后来,微软公司获得了该操作系统的专利权,配备在IBM-PC机上,并命名为 PC-DOS 。1981 年,微软的 MS-DOS 1.0版与 IBM的 PC面世,这是第一个实际应用的 16 位操作系统。微型计算机进入一个新的纪元。1987年,微软发布 MS-DOS 3.3版本,是非常成熟可靠的DOS 版本,微软取得个人操作系统的霸主地位。从 1981 年问世至今, DOS 经历了 7 次大的版本升级,从1.0 版到现在的 7.0版,不断地改进和完善。但是,DOS 系统的单用户、单任务、字符界面和16 位的大格局没有变化,因此它对于内存的管理也局限在640KB的范围内。操作系统新时代计算机操作系统发展的第二个阶段是多用户多道作业和分时系统。其典型代表有 UNIX 、XENIX 、OS/2以及 Windows操作系统。分时的多用户、多任务、树形结构的文件系统以及重定向和管道是UNIX的三大特点。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 25 页4 / 25 OS/2 采用图形界面,它本身是一个32位系统,不仅可以处理32位 OS/2系统的应用软件,也可以运行16 位 DOS 和 Windows软件。它将多任务管理、图形窗口管理、通信管理和数据库管理融为一体。 Windows是 Microsoft公司在 1985年 11 月发布的第一代窗口式多任务系统,它使 PC机开始进入了所谓的图形用户界面时代。Windows 1.x 版是一个具有多窗口及多任务功能的版本,但由于当时的硬件平台为PC/XT ,速度很慢,所以 Windows 1.x 版本并未十分流行。 1987年底,Microsoft公司又推出了MS-Windows 2.x 版,它具有窗口重叠功能,窗口大小也可以调整,并可把扩展内存和扩充内存作为磁盘高速缓存,从而提高了整台计算机的性能,此外它还提供了众多的应用程序。 1990 年,Microsoft公司推出了 Windows 3.0,它的功能进一步加强,具有强大的内存管理,且提供了数量相当多的Windows应用软件,因此成为386、486 微机新的操作系统标准。随后,Windows发表 3.1 版,而且推出了相应的中文版。 3.1 版较之 3.0 版增加了一些新的功能,受到了用户欢迎,是当时最流行的 Windows版本。 1995年,Microsoft公司推出了 Windows 95。在此之前的Windows都是由 DOS 引导的,也就是说它们还不是一个完全独立的系统,而Windows 95是一个完全独立的系统,并在很多方面做了进一步的改进,还集成了网络功能和即插即用功能,是一个全新的32 位操作系统。 1998年,Microsoft公司推出了 Windows 95的改进版 Windows 98,Windows 98的一个最大特点就是把微软的Internet浏览器技术整合到了Windows 95 里面,使得访问 Internet资源就像访问本地硬盘一样方便,从而更好地满足了人们越来越多的访问 Internet资源的需要。 Windows 98已经成为目前实际使用的主流操作系统。从微软 1985 年推出 Windows 1.0 以来, Windows系统从最初运行在DOS 下的 Windows 3.x ,到现在风靡全球的Windows 9x/Me/2000/NT/XP,几乎成为了操作系统的代名词。操作系统 Linux Linux 是目前全球最大的一个自由软件,它是一个可与UNIX和 Windows相媲美的操作系统,具有完备的网络功能。Linux 最初由芬兰人 Linus Torvalds开发,其源程序在Internet网上公布以后,引起了全球电脑爱好者的开发热情,许多人下载该源程序并按自己的意愿完善某一方面的功能,再发回到网上,Linux 也因此被雕琢成为一个全球最稳定的、最有发展前景的操作系统。从发展前景上看, Linux 取代 UNIX和 Windows还为时过早,但一个稳定性、灵活性和易用性都非常好的软件,肯定会得到越来越广泛的应用。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 25 页5 / 25 实验二安装 Linux操作系统实验目的了解 Linux 系统安装的硬件资源要求;学会安装Linux 系统、启动 Linux 系统;了解 Linux 多引导器的配置。预习 实验内容及要求把Linux 安装到本地硬盘1)如果 BIOS 支持光盘启动,则插入Linux 安装光盘,重新启动计算机。如果从 DOS环境启动,则在DOS提示符下执行批处理命令,如autoboot 。2)对硬盘分区,留出交换空间和文件系统的空间。3)按提示分阶段装入系统。4)配置系统。实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 25 页6 / 25 续前页)后记1Linux 与 Windows系统的主要区别是什么?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 25 页7 / 25 实验三、操作系统的命令接口和图形接口实验目的熟悉使用 Linux 字符界面、窗口系统的常用命令。熟悉运用Linux 常用的编程工具和在线求助系统。掌握在过程。预习 实验内容及要求1熟悉开机后登录Linux 系统和退出系统的过程;2熟悉 Linux 字符界面 虚拟终端窗口)和shell ,以及图形界面 ):练习并掌cd、 more、cp、rm、kill、at 、vi 、cc、man 、help 、control+d/c、等;熟悉常用shell的提示符;熟悉字符窗3学习使用Linux 的在线求助系统,如man和 help 命令等。4掌握一种Linux 的编辑器,特别是字符界面的vi 工具的使用。5用 vi编辑一个打印 “ Hello,I am a C program”字串的 C语言程序,然后编译并运行它,记下整个过程。熟悉实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 25 页8 / 25 系统调用的返回值,掌握用fork(创建进程的方法;熟悉wait 、exit等系统调用。预习1实验指导书;实验内容及要求1编写一C 语言程序,实现在程序运行时通过系统调用fork( 创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“ I am son ”,女儿进程执行时屏幕显示“I am daughter”。2多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。记下这种情况,试简单分析其原因。3修改程序,利用nice ( 改变各进程的优先级,观察不同情况下进程调度效果的区别。4修改程序,在父、子进程中分别使用wait 、exit等系统调用“实现”其同步推进,多次反复运行改进后的程序,观察并记录运行结果。实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 25 页10 / 25 续前页)后记1如何让子进程的执行代码有别于父进程?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 25 页11 / 25 实验五、 Windows系统的多线程同步实验目的在掌握给予消息的Windows 程序结构和多线程程序设计方法的基础上,设计一个多线程的程序。使学生能机制。预习1实验指导书2http:/ 实验内容及要求利用 Windows提供的 MFC 类编程实现读者/写者的同步互斥问题,保证:1)一个人在写时,其他人不允许写;2)一个人在写时,其他人不允许读;3)一个人在读时,其他人不允许写;4)一个人在读时,其他人允许读。实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 25 页12 / 25 续前页)后记1Windows 下的多线程同步问题设计的主要步骤有哪些?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 25 页13 / 25 实验六、进程管理实验目的进一步加深对进程概念的理解,掌握进程PCB 的基本结构,进程控制原语的基本功能。预习1实验指导书2www.wikipedia.org 实验内容及要求用高级语言模拟实现至少三项内容:1创建新的进程;2查看运行进程;3换出某个进程;4杀死运行进程;5进程之间通信等功能。实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 25 页14 / 25 续前页)后记1如何保证模拟算法中的进程控制原语的原子性?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 25 页15 / 25 实验七、进程调度实验目的通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数和时间片轮转调度算法的具体实施办法。预习1实验指导书实验内容及要求用高级语言模拟实现进程调度,完成下列指标:设计进程控制块PCB 表结构,分别适用于优先数调度算法和循环轮转调度算法。建立进程就绪队列。对两种不同算法编制入链子程序。编制两种进程调度算法:1)优先数调度;2)循环轮转调度实验提示本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态为就绪状态。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。在优先数算法中,优先数可以先取值为98,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。在轮转算法中,采用固定时间片即:每执行一次进程,该进程的执行时间片数为已执行了2 个单位),这时,CPU时间片数加2,进程还需要的时间片数减2,并排列到就绪队列的尾上。对于遇到优先数一致的情况,采用FIFO策略解决。实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 25 页16 / 25 续前页)后记精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 25 页17 / 25 实验八、银行家算法实验目的本实验的目的是通过银行家算法模拟设计,了解死锁避免的基本原理,掌握安全状态和银行家算法算法。预习1实验指导书;2参考实验五和实验六。实验内容及要求用高级语言模拟实现银行家算法,完成下列指标:系统中随机生成多个活跃进程。检查系统的安全状态。实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 25 页18 / 25 续前页)后记精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 25 页19 / 25 实验九、存储管理实验目的本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。预习1实验指导书;2参考实验五和实验六。实验内容及要求1通过随机数产生一个指令序列,共320 条指令。其地址按下述原则生成:50% 的指令是顺序执行的;25% 的指令是均匀分布在前地址部分;25% 的指令是均匀分布在后地址部分;具体的实施方法是:A.在 0 ,319 的指令地址之间随机选区一起点M 。B.顺序执行一条指令,即执行地址为M+1的指令;C.在前地址 0 ,M+1中随机选取一条指令并执行,该指令的地址为M ;D.顺序执行一条指令,其地址为M +1;E.在后地址 M+2, 319 中随机选取一条指令并执行;F. 重复 A E,直到执行320 次指令。2指令序列变换成页地址流设: 1)页面大小为1K;用户内存容量为4 页到 32 页;用户虚存容量为32K。在用户虚存中,按每K存放 10 条指令排列虚存地址,即320 条指令在虚存中的存放方式为:第 0 条第 9 条指令为第0 页对应虚存地址为0 ,9 );第 10 条第 19 条指令为第1 页对应虚存地址为10 ,19 );第 310 条第 319 条指令为第31 页对应虚存地址为310 ,319 );按以上方式,用户指令可组成32 页。3. 计算并输出下述各种算法在不同内存容量下的命中率。FIFO 先进先出的算法LRR最近最少使用算法LFR最少访问页面算法实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 25 页20 / 25 续前页)后记精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 25 页21 / 25 实验十、文件系统设计实验目的本实验的目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和内部实现。预习1实验指导书;2参考实验五和实验六。实验内容及要求为 DOS系统设计一个简单的二级文件系统。要求做到以下几点:可以实现下列几条命令LOGIN 用户登陆DIR 列文件目录CREATE 创建文件DELETE 删除文件OPEN 打开文件CLOSE 关闭文件READ 读文件WRITE 写文件列目录时要列出文件名,物理地址,保护码和文件长度。源文件可以进行读写保护。实验结果可续页)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 25 页22 / 25 续前页)后记精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 25 页23 / 25 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 25 页