桂林理工大学——操作系统实习指导书

合集下载

操作系统实验指导书3rd

操作系统实验指导书3rd

版本号:3.0撰写人:孙自广合作者:陈波(博士)欧阳浩日期:2011-09-08操作系统实验指导书(第3版)广西工学院计算机工程系2011年09月前言操作系统是计算机科学与技术专业(软件工程方向)的一门非常重要的专业课程,操作系统是应用软件与底层硬件的桥梁。

通俗的说“只有搞懂了操作系统,才能真正理解计算机”。

学好操作系统课程可以提升学生应用计算机解决问题的能力,并获得开发大型复杂软件的经验。

操作系统至关重要,但学好它并不容易。

虽然Windows界面友好,方便使用,但是底层运行机制被有效的隐藏,在很多人眼里计算机还是一个黑匣子。

在选择教学用操作系统上颇费苦心,目前可用于教学的操作系统有Minix, Nochos, Geekos, JOS,FreeBSD等,而Linux不仅是开源的,而且资料丰富并拥有大量的应用软件,所有我们选择了Linux作为实验的平台。

本实验指导书参阅了很多网上的优秀资源,在此对提供这些资源的作者,表示感谢。

目录前言 (1)实验1 Linux的安装与使用 (3)实验2 Linux的键盘命令 (4)实验3-1 Linux进程的创建与父子进程同步 (8)实验3-2 Linux子进程映像的重新加载 (10)实验4-1 Linux软中断通信 (11)实验4-2 Linux管道通信 (13)实验4-3 Linux信息缓冲通信 (14)实验4-4 Linux共享存储通信 (16)实验5 Linux 信号量与P、V操作函数的定义 (18)实验6 在Linux中增加一个新的系统调用函数 (20)实验7 动态申请内存 (21)实验8 Linux字符设备驱动 (22)实验9 Linux 文件系统调用 (23)1.实验目的在做本课程系列实验之前需要先安装Linux系统。

如果你的计算机上已经安装了Linux,则本实验可以不做。

熟悉Linux提供的图形用户界面。

2. 实验预备知识Linux系统的安装方法和图形界面基本操作请参考相关资料。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书实验概述本次操作系统实验是为了让学生通过实践了解操作系统的基本概念,原理和使用。

通过完成实验,学生将了解操作系统内核,进程调度,文件系统和输入输出等关键组成部分。

实验环境实验要求使用 Linux 操作系统,可以选择任意一种 Linux 发行版。

可以在物理机上安装 Linux,也可以使用虚拟机软件(如 VirtualBox)来运行 Linux 虚拟机。

实验准备在进行实验之前,需要完成以下准备工作:1.安装 Linux 操作系统(如 Ubuntu、Fedora 等)或虚拟机软件(如VirtualBox)。

2.熟悉 Linux 基本命令和操作,包括文件操作、进程管理等。

实验内容本次操作系统实验分为以下几个部分:1. 实验一:进程管理本部分实验要求学生了解进程管理的基本概念和原理,掌握进程创建、终止和状态转换等操作。

学生需要完成以下任务:•编写一个简单的 C 程序,实现进程的创建、终止和状态转换功能。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析进程的状态转换过程。

2. 实验二:进程调度本部分实验要求学生了解进程调度算法的原理和实现方法,掌握优先级调度、轮转调度和最短作业优先调度等算法。

学生需要完成以下任务:•编写一个简单的 C 程序,模拟进程调度算法的执行过程。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析不同调度算法对进程执行顺序的影响。

3. 实验三:文件系统本部分实验要求学生了解文件系统的基本概念和实现原理,掌握文件的创建、读写和删除等操作。

学生需要完成以下任务:•编写一个简单的 C 程序,实现文件的创建、读写和删除功能。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析文件系统的存储结构和操作过程。

4. 实验四:输入输出本部分实验要求学生了解操作系统的输入输出机制和设备驱动程序的原理和实现方法,掌握文件读写、设备驱动和错误处理等操作。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书一、实验说明1、实验目的实验是操作系统原理课程中不可缺少的重要教学环节,实验目的是使学生理论联系实际,使学生在实践探索中去发现问题、去解决问题,提高了学生获取知识和应用技术的能力,培养了学生分析和解决问题的能力。

《操作系统原理》要求理论与实践相结合,本门实验课程是对《操作系统原理》课堂教学的一个重要补充,与理论学习起着相辅相成的作用,是实施《操作系统原理》教学的一个重要组成部分。

通过本实验课的实践学习,可以增强本专业的学生对系统实现的认识。

对加深理解和掌握操作系统相关原理有重要帮助。

2、实验要求进一步了解和掌握操作系统原理,提高系统设计的能力。

对每一实验题目,应独立完成,并要求:·上机前,学生必须做好充分的实验准备工作,掌握与实验相关的背景知识,用任一种高级语言编写程序。

·上机时,认真调试,并观察、记录程序运行过程中出现的现象和问题。

·上机后,分析实验结果并写出实验报告。

3、实验报告要求每个实验(包括选做的)均应编写实验报告,学生实验后要写出严谨的、实事求是的、文字通顺的、字迹公整的实验报告。

实验报告应包括以下内容:(1)实验题目(2)实验目的(3)实验内容●程序中使用的数据结构及符号说明●流程图●源程序清单并附上注释(4)实验结果及分析●运行结果(必须是上面程序清单所对应输出的结果)●对运行情况所作的分析以及本次调试程序所取得的经验。

如果程序未能通过,应分析其原因。

二、实验内容实验一熟悉使用计算机系统一、实验名称:熟悉使用计算机系统二、实验目的与要求通过对Windows操作系统的使用,熟悉Windows操作系统中的基本概念,如单用户、多任务、进程和文件等,熟悉Windows中命令行方式下常用命令的使用方法;进一步熟悉TC语言与开发环境,为以后的实验打好基础。

三、实验内容1.开机后,熟悉Windows的界面(桌面、任务栏、开始按钮<点击后出现“开始”菜单>、我的电脑图标、回收站、我的文档)。

操作系统实验指导书

操作系统实验指导书

实验1 Linux常用命令的应用一、实验目的1、了解Linux的命令及使用格式。

2、熟悉Linux的常用基本命令。

二、实验准备预习课本2.3节和附录B《Linux常用命令》。

三、实验内容1.使用教师分配的账号,通过WINDOWS操作系统中的远程登录程序telnet.exe,登录到IP地址为172.16.71.198的Linux系统。

2.显示当前的用户主目录。

3.显示/bin目录的所有文件。

4.显示/bin目录中以m开头的文件。

5.以长格式方式,显示/etc目录中p开头的文件。

6.分屏显示/usr/bin目录的文件(包括隐藏文件)。

7.在自己的用户主目录中建立一个以本人学号为目录名的目录,然后进入本人学号为名的目录。

8.在本人学号为名的目录下建立一个子目录dir1,然后在dir1目录下再建立子目录dir11。

9.进入dir1目录。

10.显示当前目录。

当前目录是什么?11.进入dir11目录。

12.显示当前目录,其显示结果与第10题相同吗?13.返回上一级目录。

此时,当前目录是什么?14.删除dir11目录,然后显示当前目录。

15.在当前目录下建立子目录dir12。

16.返回上一级目录,此时,当前目录是什么?17.查看/etc目录下passwd文件的内容。

18.查看/etc目录下group文件的内容。

19.分屏查看/etc目录下mime.types文件和hosts文件的内容。

20.将/bin目录中以c开头的文件复制到本人学号为名的目录中。

然后针对本人学号为名的目录进行如下操作:(1)进入该目录。

(2)查看该目录的文件。

(3)删除该目录中的cat文件。

(4)将该目录中的文件名cp改名为copy。

(5)将该目录中的的more文件的属性改为:本用户可读、可写、可执行,同组用户和其他用户不可读、不可写,可执行。

(6)将该目录中的chgrp文件的所有者改为xu。

21.删除/bin目录中的文件ed。

可以删除吗?为什么?22.查看当前系统中的所有用户。

linux操作系统实训指导书

linux操作系统实训指导书

桂林理工大学高等职业技术学院实训指导书(2013—2014 学年度第2 学期)课程名称: Linux操作系统授课班级: 计应12-1、2、3、4任课教师: 曹英忠教研组长:系部主任:编写时间: 2014 年 6 月5日《Linux操作系统》课程实训指导书一、总体目的为了加强和巩固理论课内容,理论联系实际,培养学生的动手能力和实践能力。

并使学生通过实训熟悉Linux命令,真正学会使用Linux。

二、实训要求为了确保实训顺利进行,培养同学们良好的习惯,增强修养,提高个人素质,特制定以下实训要求:1. 实训室内禁止饮食,禁止吐痰。

禁止在实训室内喧哗、嬉戏、争斗,保持安静,轻声讨论。

2. 不准恶意破坏仪器设备,设备若有损坏及时向实训指导教师报告。

3. 不准无故旷课、迟到、早退;若有特殊情况,需事先请假,征求许可。

4. 旷课3节,实训成绩不及格,2次迟到算旷课1节。

5. 实训时间内,请勿离开实训室10分钟以上,否则以旷课论,若确有急事,需征得实训指导教师同意后方可离开。

6. 按规定时间(最后两次课开始提交)、规定格式(每人一份模板)上交实训报告。

三、实训报告格式要求要求写出实训项目的步骤,格式必须包括实训目的、实训内容、实施方案、实训结果、实训心得和鉴定表等。

四、实训考核办法本实训共九个题目,其中实训编号为一至六号为每个同学必做项,七到九为选做,只需选择其中任何一题即可。

最终根据题目难易程度、完成比例、答辩情况、实训表现和态度、实训报告的内容及其表达给以量分。

本着对大部分同学公正平等的原则,对实训成绩考核办法如下:实训成绩考核内容有实训表现与态度(10%)、实训操作过程和实训内容掌握程度(60%)、实训报告的内容与文字表达(30%)三部分组成。

具体细则如下表:五、时间分配实训目录实验一、Linux的基本操作和常用命令的使用实验二、Linux网络参数的配置实验三、Linux的用户管理实验四、Linux的进程管理实验五、Linux的文件管理实验六、利用Samba实现Windows和Linux的资源共享实验七、Linux Web服务器的配置实验八、Linux的FTP服务试验九、shell编程实验一、Linux的基本操作和常用命令的使用一、实验目的1.学会不同Linux用户登录的方法。

[工学]操作系统实验指导

[工学]操作系统实验指导

前言操作系统是计算机科学与技术专业的一门非常重要的专业课程,操作系统课程的学习能使学生在操作系统层面上提升自己的应用计算机解决问题的能力;使学生系统的理解和应用计算机本科阶段学习的各种知识;使学生获得开发复杂的大型软件系统的直接经验;使学生体会多目标下的折衷技术……可以概括的说:“理解了操作系统就真正的理解了计算机”。

所以,操作系统课程对于计算机科学与技术专业的本科学习非常重要,但要真正的学好这门课并不容易。

完全掌握一个客观事物首先必须充分认识这个事物的内在规律,操作系统课程具有鲜明的自身特点:概念多、技术杂、抽象性强、涉及的东西非常广泛,但同时也是一个实实在在的东西。

所以许多学生在学完操作系统课程后都有一个感觉:操作系统不难,考试成绩还不错,但要在一个实际的操作系统上作一些深层次的实际应用,虽然脑子里一大堆进程、页表、LRU、目录等概念,却根本无从下手。

这样的话,操作系统课程就成了完全的纸上谈兵,成为了枯燥的理论,具有讽刺意义的是,操作系统是实实在在的软件,我们天天在上面做各种各样的事。

所以实践对于操作系统课程是至关重要的,而且这种实践决不应该仅仅停留在某些算法的模拟实现上:就算在编程实现了一个完整的“文件系统”,但如果没有和磁盘驱动、高速缓存、内存管理等模块联系在一起,即使编写了大量的代码,也只是实现了某些概念(更象是一个数据结构课程设计),仍然不能控制可实际运行的操作系统。

所以操作系统课程的实践应该强调可实际运行的操作系统上的实践。

在这里,可实际运行的完整的操作系统很重要,因此本操作系统实验指导书上要求的实验以实际操作系统为基础,考虑到第一次接触课程时所需要的简单性、参考资料应该容易获取、以及将来可进行进一步的挖掘,本指导书选取在Linux 0.11上进行操作系统的课程实验。

本实验指导书给出了8个验证型实验和2个设计型实验,使学生深入了解操作系统的各个方面;锻炼学生控制操作系统的能力;帮助学生建立能自己开发完整操作系统的信心和能力。

计算机操作系统实验指导书_windows

计算机操作系统实验指导书_windows

《操作系统原理》实验指导书计算机科学与技术系2010年9月目录《操作系统原理》实验教学大纲(修订) (1)实验考核方式与基本要求 (3)实验一进程控制描述与控制 (12)实验二并发与调度 (24)实验三存储管理 (31)实验四设备管理 (40)实验五文件管理与系统安全 (44)附录实验报告参考规范 (64)《操作系统原理》实验教学大纲(修订)课程编号:0433314课程名称:操作系统原理实验学时:14一、本实验课的性质、任务与目的操作系统作为计算机专业的一门专业基础课,是计算机专业的核心课程之一,学好与否直接关系到学生是否能更好地学习后续课程。

通过本实验课程的学习,使学生理解与掌握操作系统设计所遵循的基本原理,基本方法,建立多道程序设计环境下的并行程序设计的思维方式。

此外,操作系统用到的各种算法也是学生加强算法锻炼的好机会,对日后从事系统开发方面的工作有直接的借鉴作用。

本实验课程在操作系统原理课程教学中占有重要地位,目的是让学生及时掌握和巩固所学的基本原理和基础理论,加深理解。

提高学生自适应能力,为将来使用和设计各类新的操作系统打下良好的基础。

二、本实验课所依据的课程基本理论计算机操作系统,操作系统中所介绍的重要算法。

三、实验类型与要求序号实验内容内容提要实验要求实验时数实验类型每组人数所在实验室名称备注一进程控制描述与控制操作系统界面、进程管理必修 2 验证 2 系机房二并发与调度进程并发、进程状态转换必修 2 验证 2 系机房三存储管理内存空间分配及虚拟存储器必修 2 验证 2 系机房四设备管理设备分配与回收必修 2 验证 2 系机房五文件管理与系统安全文件系统目录结构,文件操作及操作系统安全任选 2 验证 2 系机房六操作系统功能模拟设计实验操作系统功能模拟设计并实现必修 4 设计3-4 系机房四、每组人数与实验学时数序号实验内容实验时数每组人数一进程控制描述与控制 2 2二并发与调度 2 2三存储管理 2 2四设备管理 2 2五文件管理与系统安全 2 2六操作系统功能模拟设计实验 4 3-4五、考核方式与评分办法考核方式:在规定时间内,按要求设计相应的模拟系统并上机调试运行,写出详细的实验报告,在机上向教师演示自己设计的模拟系统。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书《操作系统原理》实验指导书适用专业:课程代码: 8400220 学时: 10 学分:编写单位:编写人:审核人:审批人:年月《操作系统原理》实验指导书适用于计算科学与技术专业、信息科学专业前言操作系统原理是一门理论性与实践性较强的学科,开设本实验课程的目的在于培养学生的实践能力,促使理论与实践的结合。

实现操作系统功能和高级程序设计语言编程的应用,已成为我校计算机学科教学的主要内容。

本实验指导书介绍了实验环境、上机实验步骤、各实验项目的目的要求及内容,最后附有实验报告的格式,作为我校操作系统课程上机实验指导的主要依据。

根据实验大纲要求,包含两个实验及其相关实验作业。

要完成上述内容,单纯依靠课内上机是不够的,希望同学们课外多多花时间练习,熟能生巧。

对不同年级或专业的学生可根据学生具体情况调整实验内容。

目录前言 (1)一、实验环境 (3)二、上机实验步骤 (3)1.启动V ISUAL C++6.0开发环境 (3)2.创建一个项目 (3)3.关闭工作空间 (7)三、实验项目 (8)实验一进程的调度(5学时) (8)实验二存储管理(5学时) (10)四. 参考文献 (11)西华大学计算机系上机实践报告 (12)一、实验环境操作系统原理课程的实验环境如下:1. 硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境Windows98/2000/XP操作系统VC++6.0或其它的开发工具。

二、上机实验步骤下面以Visual C++ 6.0为例简单介绍开发Windows应用程序的步骤。

Visual C++ 6.0中的MFC AppWizard(应用程序向导)可以使用户自动生成一些常用的标准程序结构和编程风格。

例如一般的Windows 应用程序结构、DLL应用程序结构、单文档(SDI)应用程序结构、多文档(MDI)应用程序结构等。

下面详细介绍利用MFC AppWizard创建一个Windows应用程序的步骤:1.启动Visual C++ 6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0,显示Visual C++ 6.0开发环境主窗口。

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

网络工程专业《操作系统实习》指导书桂林理工大学信息科学与工程学院2013年11月《操作系统》实习指导书一、实习目的操作系统对计算机系统资源实施管理,是所有其它软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。

通过本次实习,使学生掌握操作系统的基本概念、设计原理及实施技术,理解操作系统的组成和主要功能的实现。

二、实习性质培养网络工程专业学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。

《操作系统实习》是《操作系统》理论课的必要补充,是复习和检验前期所学课程的重要手段,也是为毕业设计做必要的准备。

通过操作系统实习,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。

使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。

根据实际情况,本次实习中的开发环境为:基于Linux或windows操作系统,可使用VC、VB、java或C等编程语言解决一个实际应用问题。

三、实习内容(选题范围及要求):1、操作系统基本操作。

要求:熟练掌握LINUX下常用命令、使用编辑器vi 编辑文件、添加新用户、修改文件属性。

2、源代码分析要求:通过LINUX有关源代码的分析,进一步了解操作系统的设计思想。

3、操作系统功能模拟程序的开发。

要求:利用所学的编程知识,在理解操作系统设计的相关原理基础上,设计一个模拟其功能的小程序,可以让其他人清楚地看到演示的过程和结果。

四、进度安排实习时间:二周。

地点:信息学院计算机机房。

具体安排:1.实习动员、开发系统介绍、开发技术介绍。

(一天)2.Linux操作系统的使用。

(时间安排为半天)3.Linux操作系统源代码分析.(一天半)4.根据所选系统要求,提出系统设计方案和测试程序设计方案。

(一天)5.完成系统设计(时间安排为四天)6.教师考评程序。

(时间安排为一天半)7.提交设计报告(时间安排为半天)五、报告书写要求:1、分析设计要求,给出解决方案(要说明设计实现所用的原理,采用的数据结构)2、画出程序的基本结构框图和流程图3、对程序的每一部分要有详细的设计分析说明,4、程序执行的每个步骤要有具体的提示内容或输出5、源代码格式规范,注释不少于三分之一6、设计合适的测试用例,对得到的运行结果要有分析,7、设计中遇到的问题,设计的心得体会8、提交完整程序代码、课程设计报告及相关文档9、参考资料六、成绩评定标准根据学生设计的方案、最终程序结果的演示、实习报告、实习出勤情况等来评定成绩,考核成绩分为优、良、中、及格和不及格五个等级。

评分原则如下:1 问题描述10% 没有有,但不完整基本正确描述正确描述准确2 解决方案10% 没有有,但不完整基本可行方案良好很有说服力3 解决方案的流程图、主要算法的描述与具体实现的说明20% 没有有,但不完整基本正确,但不够清晰正确,清晰正确,清晰,且让人感觉良好4 具体的解决实例40% 没有有,但不完整基本完整完整让人感觉有价值,并可以实际演示。

5 程序界面15% 很差一般的命令行界面很好的命令行界面一般的图形界面很好的图形界面非常友好的图形界面6 其他5% 包括是否按时完成,报告格式,字迹、语言等等第一部分操作系统上机指导Linux操作系统环境:一、登录到系统二、常用命令练习:用root账号(超级用户)注册,口令为*****(注意大小写)。

注册成功出现#号(超级用户系统提示符,普通用户的系统提示符为$)。

1.注销(退出)系统:logout 或exit2.练习使用命令ls(注意Linux命令区分大小写。

)使用ls 查看当前目录内容;使用ls 查看指定目录内容,如/目录,/etc目录使用ls –all 查看当前目录内容;使用dir 查看当前目录内容3.使用cd改变当前目录: cd ..回到上层目录;cd / 回到根目录4.pwd 显示当前路径5.建立目录: mkdir 目录名;mkdir /home/s2001/newdir6.删除目录:rmdir;7.复制文件cp:如cp 文件名1 文件名28.移动文件或目录: mv 驼9.删除文件rm10. 显示文件内容:more 文件(分页显示);11. 显示文件:cat 文件名建立文件:cat >文件名,ctrl+d结束输入三、使用编辑器vi 编辑文件1.进入linux的文本模式之后,在命令行键入vi filename.c 然后回车。

下面作一些简单的解释:首先vi命令是打开vi编辑器。

后面的filename.c是用户即将编辑的c文件名字,注意扩展名字是.c;当然,vi编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也可以直接用vi打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。

2.最基本的命令I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的I键(insert),插入的意思,就可以进入编辑模式了。

如下图所示:3.a与i是相同的用法4.当文件编辑完后,需要保存退出,这时需要经过以下几个步骤:1)按一下键盘上的Esc 键;2)键入冒号(:),紧跟在冒号后面是wq(意思是保存并退出)。

如果不想保存退出,则在第二步键入冒号之后,键入!q。

如下图所示:5. 退出vi 编辑器的编辑模式之后,要对刚才编写的程序进行编译。

编译的命令是:gcc filename.c [-o outputfilename],其中gcc 是c 的编译器。

参数:filename.c 是刚才编辑的c 文件(当然也可以是以前编写好的c 文件);后面中括号里面的参数是可选的,它是一个输出文件。

如果不选,默认的输出文件是a.out ,选了之后输出文件就是outputfilename.out .6. 最后一步是运行程序,方法如下:./outputfilename.out四、添加新用户、修改文件属性1. 添加新用户(在root 下,按默认值回答)adduser 用户名;如adduser s2001 ; 以新用户登录到系统2.修改用户口令 passwd3.控制文件属性使用ls –l 查看文件属性Unix如:-rw-rw-rw-5 19:43 dir14.改变用户的所有权:chown 用户名 文件名5.改变文件权限:chmod g+w 文件名;chmod o-r 文件名或使用数字方式修改:如chmod 644文件名;chmod 755文件名三种权限: owner group others. u (user 用户),g ( group 组),o (other 其他); w 写访问权限,r 读访问权限, x 执行权限6.查看相关命令的帮助:man 命令名7.显示当前系统中已注册的用户信息:who 8.显示当前注册的用户信息:whoami第二部分操作系统源代码分析(Linux进程管理程序分析)一.目的1.了解Linux源代码的分布;2.了解阅读Linux源代码的一般方法;3.熟悉Linux管理进程用的主要数据结构;4.通过阅读Linux进程调度有关函数的源代码,理解Linux的进程调度算法及其实现所用的主要数据结构。

5.通过查阅参考书或者上网找资料,熟悉/usr/src/linux(注意:这里最后一级目录名可能是个含具体内核版本号和“linux”字符串的名字)下各子目录的内容,即所含Linux源代码的情况。

二.内容(三个选一个)1.阅读Linux的fork.c源文件,分析进程的创建过程。

2.在概览Linux启动和初始化部分源代码基础上,分析Linux进程调度有关函数的源代码,主要是schedule()函数和goodness()函数,并且要对它们引用的头文件等一并分析。

3. 阅读Linux系统的msg.c、sem.c和shm.c等源码文件,熟悉Linux三种进程通信机制。

第三部分操作系统原理演示系统的开发(任选一个)要求:编程模拟实现操作系统某些功能模块。

设计一:进程调度设计目的:进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用CPU的方法。

在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。

本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。

设计题目:设计一个按先来先服务,算法时间片轮转法,优先数调度算法实现处理器调度的程序。

设计一个有N个进程处于就绪队列时,单处理机情况下的调度程序采取“优先数调度”算法。

进程的就绪队列中是按优先数的大小从大到小排列,调度算法总是选取队列中优先数高的队列投入运行,采取动态地改变优先数的办法,进程每运行一次优先数相应的减2,从而避免一个作业长期占据处理机,当调度时机出现时,调度算法适时再调度,首先判断此进程是否运行完,未运行完再判断此进程的优先权是否大于等于队列的首进程的优先数,若成立,就继续执行。

这样重复,直到就绪队列为空。

设计二:进程同步设计目的:理解临界区和进程互斥的概念,掌握用信号量和PV操作实现进程互斥的方法。

设计题目:在windows或者linux环境下编写应用程序,该程序运行时能创建N个线程,其中既有读者线程又有写者线程,它们按照事先设计好的测试数据进行读写操作。

用信号量和PV操作实现读者/写者问题。

设计三:死锁设计目的:死锁是进程并发执行过程中可能出现的现象,哲学家就餐问题是描述死锁的经典例子。

为了防止死锁,可以采用资源预分配法或者资源按序分配法。

资源预分配法是指进程在运行前一次性地向系统申请它所需要的全部资源,如果系统当前不能够满足进程的全部资源请求,则不分配资源, 此进程暂不投入运行,如果系统当前能够满足进程的全部资源请求, 则一次性地将所申请的资源全部分配给申请进程。

资源按序分配法是指事先将所有资源类全排序, 即赋予每一个资源类一个唯一的整数,规定进程必需按照资源编号由小到大的次序申请资源。

设计题目:模拟有五个哲学家的哲学家进餐问题。

设计四:页面置换设计目的:加深对请求页式存储管理实现原理的理解,掌握页面置换算法。

设计要求:1.用户可以为程序指定内存块数2.用户可以自由设置程序的页面访问顺序3.用户可在OPT、FIFO和LRU算法选择一个,并能观看到页面置换过程。

设计五:磁盘调度管理设计目的:加深对请求磁盘调度管理实现原理的理解,掌握磁盘调度算法。

设计要求:1.用户可以为程序指定初始需要访问序列;2.实现最短寻道和电梯调度两种调度算法;3.根据用户的选择输出实际的访问序列;设计六:文件系统模拟设计设计目的:通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。

相关文档
最新文档