搜档网
当前位置:搜档网 › 操作系统主干课程建设侯

操作系统主干课程建设侯

昌吉学院计算机工程系

操作系统课程建设

一、课程介绍

操作系统是计算机工程系各专业必修的专业基础课之一,是一门涉及较多硬件知识的计算机系统软件课程。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。在计算机及其相关各个专业的课程设置上,本门课程起着承上启下的作用。其特点是概念多、抽象和涉及面广,而从整体实现上看,其思想和技术又往往难于理解。因此本课程的目的与任务是使学生理解操作系统的基本概念和主要功能,掌握常用操作系统的使用和一般管理方法,了解它是如何组织和运作的,从而为学生以后的学习和工作打下基础。

通过本课程的学习,使学生全面、系统地掌握计算机操作系统的基本概念、基本技术和基本方法;掌握计算机操作系统的组成和各部分的功能;了解计算机操作系统的发展特点、设计的基本原理和方法;对常用操作系统(Dos.Windows.Unix)会进行基本的操作使用。具备一定的系统软件开发技能。为以后从事的研究、开发工作(如设计、分析或改进各种系统软件和应用软件)提供必要的软件基础和基本技能,为进一步学习数据库系统、计算机网络、分布式系统等课程打下基础。

课时分配

三、教学计划

教学进度计划表

2004 -2005 学年第 2 学期

课程名称:操作系统总学时: 82 班级:计算机系 B03 班专业:计算机应用 (本科)

教学进度计划表

主讲教师签名: 侯端正教研室主任签名: 主管教学系(院)主任签

名: .

年月日年月日年月日

四、昌吉学院实验课程教学大纲

计算机工程系计算机教学实习中心实验室撰写人:马志欣

实验项目与内容提要

五、计算机系《操作系统》课程教案

教案1

课题:第一章操作系统概述 1.1操作系统的的概念1.2 历史 1.3操作系统的特征

教学目的:掌握操作系统的定义,操作系统的特征和主要性能。

教学重点、难点:深入理解、牢固掌握操作系统的概念、功能操作系统的概念、功能。

教学方法:板书、讲解并存

教学过程

一、回顾与引入

一个完整的计算机系统是由硬件和软件两大部分组成的。硬件是指计算机物理装置本身,如处理器、内存及各种设备等;而软件是相对硬件而言,它是与数据处理系统的操作有关的计算机程序、过程、规则以及相关的文档资料的总称,如Windows98、Windows2000、WindowsNT、UNIX以及WORD等。简单地说,软件是计算机执行的程序。

二、新授内容

1.1 操作系统的形成与发展

计算机系统是由硬件和软件两部分构成的. 软件又分成系统软件与应用软件两类, 操作系统是一个最基本也是最重要的系统软件

在所有软件中,操作系统占有特殊的重要地位,它是配置在计算机硬件之上的一层软件。它控制硬件的工作,管理计算机系统的各种资源,并为系统中各个程序的运行提供服务。

1.1.1 什么是操作系统

?板书:操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。

理解操作系统的定义需注意以下几点:

a)操作系统是软件,而且是系统软件,也就是说,它由一套程序组成。如:UNIX系统就是一个

很大的程序,它由上千个模块组成。

b)它的基本职能是控制管理系统内各种资源,有效地组织多道程序的运行。

c)它提供众多服务,方便用户使用,扩充硬件功能。如:用户使用其提供的命令完成对文件、输

入/输入、程序运行等许多方面的控制、管理工作等。

1.1.2 操作系统的作用

1. 管理系统中的各种资源

2. 为用户提供良好的界面

1.1.3 操作系统的定义

定义:操作系统是位于硬件层之上,所有其它软件层之下的一个系统软件, 是管理系统中各种软件和硬件资源使其得以充分利用, 方便用户使用计算机系统的程序集合.

1.1.2 操作系统的主要功能

1.存储器管理功能

?板书主要包括:内存分配、地址映射、内存保护和内存扩充。

?内存分配,其主要任务是为每道程序分配一定的内存空间。为此,操作系统必须记录整个内存的使用情况,处理用户提出的申请,按照某种策略实施分配,接收系统或用户释放的内存空间。

?地址映射:在多道程序环境中,用户程序中涉及的相对地址与装入内存后实际占用的物理地址不一样。CPU执行用户程序时,要从内存中取出指令或数据,为此就必须把所用的相对地址(或称逻辑地址)转换成内存的物理地址。这就是操作系统的地址映射功能。(也即地址换算、指向功能)?内存保护:不同用户的程序都放在一个内存中,但必须保证它们在各自的内存空间中活动,不能相互干扰,更不能侵犯操作系统的空间。为此,需建立内存保护机制,即设置两个界限寄存器,分别存放正在执行的程序在内存中的上界地址值和下界地址值。当程序运行时,要对所产生的访问内存的地址进行合法性检查,就是说该地址必须大于或等于下界寄存器的值,并且小于上界寄存器的值。否则,

属于地址越界,将发生中断并进行相应处理。

?内存扩充,“虚拟存储技术”。

2.处理机管理功能

?板书其功能包括:作业和进程调度,进程控制和进程通信。

3.设备管理功能

?板书主要包括:缓冲区管理、设备分配、设备驱动和设备无关性。

4.文件管理功能

?板书其功能包括:文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理和存取控制。

5、用户接口

?板书现代操作系统,通常向用户提供三种类型的界面。

1.1.3 操作系统的地位

硬件是软件建立与活动的基础,而软件是对硬件功能的扩充。没有硬件,就失去了计算机系统的物理基础,软件也就无法存在了。反之,若只有硬件而没有软件,则硬件就像一堆废物。

通常将软件分为三类:应用软件、支撑软件和系统软件。

1. 1.4 操作系统的发展历程

1.手工操作阶段?板书

从第一台计算机诞生起到50年代末,计算机没有操作系统,是为第一代。其特点是需要‘人工干预’,其缺点是浪费资源、使用不便。

2. 早期批处理阶段?板书

早期的批处理分为联机处理和脱机批处理两种类型

(1)早期联机批处理

(2)早期脱机批处理

3. 多道批处理系统?板书

多道程序设计的基本思想是:在内存中同时存放多道程序,在管理程序的控制下交替的执行,这些作业共享CPU和系统中的其他资源。

4. 操作系统的发展?板书

多道批处理系统缺少人机交互能力,因此用户使用不便。为解决这一问题人们开发出分时系统。

1.2 操作系统的特征和体系结构

1.2.1 操作系统的特征

操作系统作为一类系统软件有其基本特征:并存、共享和异常性。

1.并发

2.共享

3.异步性

三、小结:掌握OS的定义,OS的发展历史

四、作业、思考题、讨论题、阅读材料

教材P34 自测题 1,6,7,8,9,10。

五、课后记(包括学生课堂纪律、教学内容完成情况及教学体会)

教案2

课题:1.4 OS分类1.5操作系统硬件环境1.6操作系统界面形式

教学目的:掌握操作系统的各种分类及特点。

教学重点、难点:

教学重点

深入理解、牢固掌握操作系统的主要类型;与其它软件相比,操作系统有什么基本特征等。

教学难点

进行基本操作系统之间的比较,操作系统结构设计的特点。

教学方法:板书、讲解并存

教学过程:

一、通过上节内容我们了解了OS的基本概念,OS的历史和OS的一些基本特性,这节我们将探讨一下OS的分类及OS的硬件环境

二、教学内容(包括章/节题目和内容)

1.3 操作系统的类型和主要产品

根据操作系统的功能、使用环境、配置规模等,一般可分为以下几种类型:多道批处理系统、分时系统、实时系统、个人机系统、网络操作系统和分布式操作系统。

1. 3.1 多道批处理系统

在这种系统中,把用户的计算任务按“作业”(JOB)进行管理。

所谓作业(本课程最重要的概念之一),是用户定义的,由计算机完成的工作单位。它通常包括一组计算机程序、文件和对操作系统的控制语句。

其主要优点:1. 系统资源利用率高;2. 系统吞吐量大。也存在明显的缺点:1. 用户作业的等待时间长; 2.没有交互能力,用户无法干预作业运行。

1.3.2 分时系统

1.分时概念和分时系统的实现方法。

所谓分时,就是对时间的共享。

共享的时间单位称为时间片。它往往是很短的,如几十毫秒,因不同系统针对不同档次的机型而有所不同。

2.分时系统的特征和优点

(1)同时性:若干用户同时上机使用计算机系统;(2)交互性:用户能方便地与系统进行人—机对话;(3)独立性:系统中各用户可以彼此独立地操作,互不干扰或破坏;(4)及时性:用户能在很短时间内得到系统的响应。

优点:(1)为用户提供了友好的接口;(2)促进了计算机普遍使用,为多个终端服务;(3)便于资源共享和交换信息。

1 .3 .3 实时系统

1.实时系统的引入

在计算机的某些应用领域内,要求对实时采样数据进行及时(立即)处理并做出相应的反映,如果超出限定的时间就可能丢失信息或影响到下一批信息的处理。这种信息是专用的,它对实时响应的要求是批处理系统和分时系统无法满足的,于是人们引入实时系统,例如卫星发射,民航定票系统等。2.实时系统与分时系统的区别主要是:

第一,分时系统具有较强的交互作用;而实时系统的交互能力较差。

第二,分时系统对响应时间是以人们能接受的等待时间为依据;而实时系统对响应时间一般有严格的要求。

第三,虽然分时系统要求系统可靠,但实时系统要求更高。

1.3.4个人机系统

1. 单用户操作系统

2.多用户操作系统

最主要的是UNIX系统以及各种类UNIX系统。多用户系统除了具有界面友好,管理方便和适于普及等特征外,还具有多用户使用,可移植性良好,功能强大,通信能力强等优点。

1.3.5 网络操作系统

为了实现异地计算机之间的通信和资源共享,可以将分布在各处的计算机和终端设备通过数据通信系统联结在一起,构成一个系统,这就是计算机网络。

计算机网络的两大支柱——计算机技术和通信技术。

计算机网络具有如下特征:

1.分布性:网上的结点机可以位于不同地点,各自执行自己的任务;

2.自治性:网上的每台计算机都有自己的内存、I/O设备和操作系统,能够独立地完成自己的任务;

3.互连性:利用互连网络把不同地点的资源在物理上和逻辑上连接在一起;

4.可见性:计算机网络中的资源对用户是可见的。

1.3.6 分布式操作系统

分布式系统有效地解决了地域分布很广的若干计算机系统间的资源共享/并行工作、信息传输和数据保护等问题。其特征如下:

1.分布式处理:就是资源、功能、任务及控制等都是分散在各个处理单元上的。实际上,用户并不知道自己的程序是在哪台机器上运行,也不知道他们的文件是存放在什么地方;

2.模块化结构:是一组物理上分散的计算机站;

3.利用信息通信:利用共享的通信系统来传递信息;

4.实施整体控制:整个分布式系统有一个高层操作系统对各个分布的资源进行统一的整体控制。所以,在用户看来,分布式系统就如同传统的单CPU系统,而实际上它由众多处理器组成,每一个处理机上都运行该操作系统的一个拷贝。

分布式操作系统所涉及的问题远远多于以往的操作系统,归纳起来具有以下特点:

1.透明性:使用户觉得此系统就是老式的单CPU分时系统;

2.灵活性:可根据用户需求,方便地对系统进行修改或扩充;

3.可靠性:若系统中某个机器不能工作,那么有另外的机器代替它;

4.高性能:执行速度快,响应及时,资源利用率高;

5.可扩充性:可根据使用环境的需要,方便地扩充或缩减规模;

1. 3. 7操作系统的主要产品系列

主要的流行操作系统有:

1.DOS

2.MS WINDOWS

3.OS/2

4.UNIX

三、本章小结

它管理处理机、内存、I/O设备和文件,提供用户接口。

主要有两个目的:第一,为程序开发和执行提供一个方便的环境;第二,为保证计算机系统顺利执行,操作系统对各个计算机活动进行调度。

操作系统的形成和发展是与计算机硬件发展密切相关的。

操作系统这类系统软件有自己的基本特征,这就是:并发、共享和异步性。

四、作业、思考题、讨论题、阅读材料

教材P34 7,8,9,10。

五、课后记(包括学生课堂纪律、教学内容完成情况及教学体会)

教案3

课题:第二章进程、线程与作业2.1多道程序设计2.2 进程的引入

教学目的:了解多道程序设计的特点,进程的的概念

教学重点、难点:进程的概念、作用深入理解

教学方法:板书、讲解并存

教学过程

一、回顾与引入

多道程序的特点,缺点,并发引入资源分配单位——进程

二、教学内容(包括章/节题目和内容)

2.1 多道程序设计

多道程序设计(multi-programming)是操作系统所采用的最基本、最重要的技术,其根本目标是提高整个系统的效率. 衡量系统效率有一个尺度,这就是吞吐量,系统的吞吐量定义为单位时间内系统所处理的作业(程序)的道数(数量)

2.1.1 单道程序设计的缺点

所谓单道程序设计就是一次只允许一个程序进入系统的程序设计方法. 当然,单道程序设计是简单的,但它有一个严重的缺点:资源利用率极低,具体表现在如下几个方面:

1.设备资源利用率低

2.内存资源利用率低

3.处理机资源利用率低

如图2-1所示,在t2时刻处理机启动了设备,在t5时刻设备发出完成中断.原则上说,在时刻t2~t5期间内,处理机可以做任何有意义的计算工作,但是做什么呢?假设在时刻t5~t6期间内处理机所完成的工作可以提前,即它不需要等待I/O传输完成,则可以将其安排在t2~t5期间内做,这样可以提高处理机的利用率. 但是假若在时刻t5~t6期间内处理机所进行的工作需要等待I/O传输的结果,则它无法提前,也就是说在t2~t5期间内处理机将无事可做!

应当指出,如果I/O传输的速度很快,时刻t2-t5期间的间隔很短,即t5-t2<>t2-t1,处理机与外部设备的速度不相匹配,由此而造成的处理机资源的浪费是惊人的.

2.1.2 多道程序设计的提出

1.设备资源利用率提高

2.内存资源利用率提高

3.处理机资源利用率提高

例如在图2-1所示的例子中,增加一道程序B,该程序便可利用空闲的处理机时间,如图2-2所示. 在时刻t2,程序A放弃处理机,但程序B暂不具备运行条件,在时刻t3,程序B获得CPU并运行. 在时刻t4,程序B启动I/O设备2,然后等待I/O 传输完成.

比较图2-1与图2-2不难发现:在单道系统中,处理机在t2~t5期间内完全被闲置,而在两道系统中,处理机在t2~t5期间内有一段时间,即时刻t3~t4期间,得到利用. 也就是说,与单道程序相比,两道程序提高了处理机资源的利用率.

2.1.3 多道程序设计的问题

1.处理机资源管理问题

2.内存资源管理问题

3.设备资源管理问题

2.2 进程的引入

2.2.1 进程的概念

关于什么是进程目前尚无统一的定义. 确切地说, 关于进程有许多解释, 这些解释并不是完全等价的, 如:

(1) 进程是程序的一次执行;

(2) 进程是可参与并发执行的程序;

(3) 进程是一个程序与数据一道通过处理机的执行所发生的活动;

(4) 所谓进程, 就是一个程序在给定的空间和初始环境下, 在一个处理机上的执行过程.

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

操作系统课程设计报告书

题目1 连续动态内存管理模拟实现 1.1 题目的主要研究内容及预期达到的目标 (1)针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法、循环首次适应算法和最佳适应算法。 (2)实现内存分配和回收功能。 1.2 题目研究的工作基础或实验条件 (1)硬件环境:PC机 (2)软件环境:Windows XP,Visual C++ 6.0 1.3 设计思想 首次适应算法的实现:从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高址空间保留大的空闲区。 循环首次适应算法的实现:在分配内存空间时,不再每次从表头开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。 最佳适应算法的实现:从全部空闲区中找到能满足作业要求的、且最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表中的空闲分区要按从小到大进行排序,从表头开始查找第一个满足要求的自由分配。 1.4 流程图 内存分配流程图,如图1-1所示。

图1-1 内存分配流程图内存回收流程图,如1-2所示。

图1-2 内存回收流程图 1.5 主要程序代码 (1)分配内存 void allocate(char z,float l) { int i,k; float ad; k=-1; for(i=0;i= l && free_table[i].flag == 1) if(k==-1 || free_table[i].length

操作系统课程设计报告

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级: 13软件工程1班 提交时间: 2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。

二、环境条件 系统: WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。

(4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课程设计完整版内含代码

操作系统课程设计LRU页面调度算法 学号: 姓名: 学院: 专业: 班级: 指导老师: 日期:

目录 一、实验题目 (1) 二、课程设计的目的 (1) 三、设计内容 (1) 四、设计要求 (1) 五、设计思想 (1) 六、主要数据结构及其说明 (2) 七、硬件支持 (3) 八、源程序文件 (3) 九、程序运行结果 (7) 十、实验体会 (8)

一实验题目 LRU页面调度算法 二课程设计的目的 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合一起,独立分析和解决实际问题的机会。 1.进一步巩固和复习操作系统的基础知识。 2. 培养学生结构化程序、模块化程序设计的方法和能力。 3.提高学生调试程序的技巧和软件设计的能力。 4.提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。 三设计内容 程序应模拟实现LRU算法思想,对n个页面实现模拟调度。 四设计要求 1.不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。 2.对系统进行功能模块分析、画出总流程图和各模块流程图。 3.用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可以反复使用,最好使用菜单。 4.通过命令行相应选项能直接进入某个相应菜单选项的功能模块。 5.所有程序需调试通过。 五设计思想 最近最久未使用(LRU)页调度算法是选择最近最久未使用的页面予以淘汰。 算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当所要访问的页面在内存块中时,就不淘汰页面,否则,淘汰页面中时间最长的,即淘汰最近最久未使用的页面。

操作系统课程教学大纲

GDOU-B-11-213 《操作系统》课程教学大纲 课程简介 课程简介: 本课程主要讲述操作系统的原理,使学生不仅能够从系统内部了解操作系统的工作原理,而且可以学到软件设计的思想方法和技术方法。主要内容 包括:操作系统的概论;操作系统的作业管理;操作系统的文件管理原理; 操作系统的进程概念、进程调度和控制、进程互斥和同步等;操作系统的各 种存储管理方式以及存储保护和共享;操作系统的设备管理一般原理。其次 在实验环节介绍实例操作系统的若干实现技术,如:Windows操作系统、Linux 操作系统等。 课程大纲 一、课程的性质与任务: 本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。其任务是讲授操作系统的原理,从系统内部了解操作系统的工作原理以级软件设计的思想方法和技术方法;同时介绍实例操作系统的若干实现技术。 二、课程的目的与基本要求: 通过本课程的教学使学生能够从操作系统内部获知操作系统的工作原理,理解操作系统几大管理模块的分工和管理思想,学习设计系统软件的思想方法,通过实验环节掌握操作系统实例的若干实现技术,如:Windows操作系统、Linux操作系统等。 三、面向专业: 软件工程、计算机类 四、先修课程: 计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构。 五、本课程与其它课程的联系:

本课程以计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能将数据结构、计算机组成结构等课程的知识融入到本课程之中。 六、教学内容安排、要求、学时分配及作业: 第一章:操作系统概论(2学时) 第一节:操作系统的地位及作用 操作系统的地位(A);操作系统的作用(A)。 第二节:操作系统的功能 单道系统与多道系统(B);操作系统的功能(A)。 第三节:操作系统的分类 批处理操作系统(B);分时操作系统(B);实时操作系统(B)。 第二章:作业管理(2学时) 第一节:作业的组织 作业与作业步(B);作业的分类(B);作业的状态(B);作业控制块(B)。 第二节:操作系统的用户接口 程序级接口(A);作业控制级接口(A)。 第三节:作业调度 作业调度程序的功能(B);作业调度策略(B);作业调度算法(B)。 第四节:作业控制 脱机控制方式(A);联机控制方式(A)。 第三章:文件管理(8学时) 第一节:文件与文件系统(1学时) 文件(B);文件的种类(B);文件系统及其功能(A)。 第二节:文件的组织结构(1学时) 文件的逻辑结构(A);文件的物理结构(A)。 第三节:文件目录结构(1学时) 文件说明(B);文件目录的结构(A);当前目录和目录文件(B)。 第四节:文件存取与操作(1学时) 文件的存取方法(A);文件存储设备(C);活动文件(B);文件操作(A)。 第五节:文件存储空间的管理(2学时) 空闲块表(A);空闲区表(A);空闲块链(A);位示图(A)。 第六节:文件的共享和保护(2学时)

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

操作系统课程设计报告

课程设计说明书 设计题目:操作系统课程设计 班级:信息学管理与信息系统2011级 学号: 2 姓名:克乾

山东科技大学2013年12 月11 日

课程设计任务书 学院信息科学与工程专业信息学管理与信息系统班级2011-2 克乾 一、课程设计题目:操作系统课程设计 二、课程设计主要参考资料 (1)Abraham Silberschatz & Peter Baer Galvin & Greg Gagne. Operating System Concepts(第七版影印版). 高等教育. 2007.3. (2)c++面向对象程序设计电子工业 (3)计算机操作系统(第三版)电子科技大学 三、课程设计应解决的主要问题: (1)CPU调度算法的模拟实现 (2)死锁相关算法的实现 (3)磁盘调度算法的实现 四、课程设计相关附件(如:图纸、软件等): (1)程序源代码 (2) 五、任务发出日期:2013-10-1 课程设计完成日期:2014-1-1

指导教师签字:

指导教师对课程设计的评语成绩: 指导教师签字: 年月日

设计1 CPU调度算法的模拟实现一、设计目的 利用C++编写CPU调度算法,实现先来先服务调度算法FCFS、优先级调度算法PS、短作业优先调度算法SJF、时间片轮转调度算法RR的运行过程和实现的结果,针对模拟进程,利用编写的CPU调度算法对需要运行的进程进行调度。进行算法评价,计算平均周转时间和平均等待时间。 二、设计要求 针对模拟进程,利用CPU调度算法进行调度,最后要进行算法评价,计算平均周转时间和平均等待时间,并且输出调度结果和输出算法评价指标。 调度所需的进程参数由输入产生(手工输入或者随机数产生)。 三、设计说明 时间片轮转算法需要输入相应的时间片,所以独立编写一个程序,系统主体结构如下:

完整版华南理工大学操作系统含课程设计随堂练习

第1章操作系统引论 本次练习有13题,你已做13题,已提交13题,其中答对13题。 当前页有10题,你已做10题,已提交10题,其中答对10题。 1. 实时操作系统必须在()内处理完来自外部的事件。 A. 响应时间 B.周转时间 C.被控对象规定时 间 D.调度时间 答题:OE A.—B. EE C.国D.(已提交) 参考答案:C 问题解析: 2. 操作系统是对()进行管理的软件。 A.软件 B.硬件 C.计算机资 源 D.应用程序 答题: A. B. * C. D.(已提交) 参考答案:C 问题解析: 3. 配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机 , 这样的一台计算机只是一台逻辑上的计算机,称为()计算机。 A.并行 B.真实 C.虚 拟 D.共享 答题:匡A. H B.(HL C.WO D.(已提交) 参考答案:C 问题解析: 4. 操作系统中采用多道程序设计技术提高了CPU和外部设备的( ) A.利用率 B.可靠性 C.稳定 性 D.兼容性 答题:* A.圏 B. C. D.(已提交) 参考答案:A 问题解析:

第1章操作系统引论 5. 在操作系统中,并发性是指若干事件—发生() A.在同一时刻 B.在不同时 刻 C.在某一时间间隔内 D.依次在不同时间间隔内

答题:PT A.占B. PT C. U~|D.(已提交) 参考答案:C 问题解析: 6. ()操作系统允许在一台主机上同时联接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A. 网络操作系统 B.批处理操作系统 C.实时操作系统 D.分时操作系统 答题: A. B. C. * D.(已提交) 参考答案:D 问题解析: 7. 下面关于操作系统的叙述中正确的是() A. 批处理作业必须提交作业控制信息 B. 分时系统不一定都具有人机交互功能 C. 从响应时间的角度看,实时系统与分时系统差不多 D. 由于采用了分时技术,用户可以独占计算机的资源 答题:* A. B. C. D.(已提交) 参考答案:A 问题解析: 8. 当前三大操作系统类型是批处理系统、分时系统和实时系统() 答题:,对. 错.(已提交) 参考答案:“ 问题解析: 9. 操作系统是计算机软件和硬件资源的管理者() 答题:对. 错.(已提交) 参考答案:“ 问题解析: 10. 操作系统对外提供的接口方式有两种:命令接口和图形窗口接口 () 答题:厂对.袒错.(已提交) 参考答案:x 问题解析: 11. 批处理系统具有交互性的优点()

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件 系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景

计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下: 钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课程设计

湖南科技大学计算机科学与工程学院 操作系统课程设计报告 ******** *** 目录 实验一 Windows 进程管理 实验二 Linux 进程管理 实验三 互斥与同步 实验四 银行家算法的模拟与实现 实验五 内存管理 指导老师: *** 完成时间: **** ** **

实验六磁盘调度 实验七进程间通信 实验一 Windows进程管理 一、实验目的 1 )学会使用VC编写基本的Win3 2 Consol Application (控制台应用程序)。 2)2)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟 悉操作系统的进程概念,理解Windows进程的"一生”。 3)3)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子进程同步 的基本程序设计方法。 二、实验内容和步骤 (1)编写基本的 Win32 Consol Application 步骤1:登录进入 Windows系统,启动VC++ 6.0。 步骤2:在“ FILE”菜单中单击“ NEW”子菜单,在“ projects ”选项卡中选择 “Win32 ConsolApplication ”,然后在“ Project name 处输入工程名,在“Location ”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“ FILE”菜单中单击“ NEW”子菜单,在“ Files ”选项卡中选择“ C++ Source File ” ,然后在“ File ”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5 :在“开始”菜单中单击“程序” -“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的 debug子目录,执行编译好的可执行程序,列出运行结果(如果运行不成功,则可能的原因是什么?) 如果运行不成功可能是路径有问题或者没有通过编译。

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件

系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。

2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<

操作系统(一个小型操作系统的设计与实现)课程设计

南通大学计算机科学与技术学院操作系统课程设计报告 专业: 学生姓名: 学号: 时间:

操作系统模拟算法课程设计报告 设计要求 将本学期三次的实验集成实现: A.处理机管理; B.存储器管理; C.虚拟存储器的缺页调度。 设计流程图 主流程图 开始的图形界面 处理机管理存储器管理缺页调度 先来先服务时 间 片 轮 转 首 次 适 应 法 最 佳 适 应 法 先 进 先 出 L R U 算 法

A.处理机调度 1)先来先服务FCFS N Y 先来先服务算法流程 开始 初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队 调度数组中首个进程,并让数组中的下一位移到首位 计算并打印进程的完成时刻、周转时间、带权周转时间 其中:周转时间 = 完成时间 - 到达时间 带权周转时间=周转时间/服务时间 更改计时器的当前时间,即下一刻进程的开始时间 当前时间=前一进程的完成时间+其服务时间 数组为空 结束

2)时间片轮转法 开始 输入进程总数 指针所指的进程是 否结束 输入各进程信息 输出为就绪状态的进程的信息 更改正在运行的进程的已运行时间 跳过已结束的程序 结束 N 指向下一个进程 Y 如果存在下一个进程的话 Y N 输出此时为就绪状态的进程的信息 时间片轮转算法流程图

B.存储器管理(可变式分区管理) 1)首次适应法 分配流程图 申请xkb内存 由链头找到第一个空闲区 分区大小≥xkb? 大于 分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于延链查找下 一个空闲区 到链尾 了? 作业等待 返回是 否 登记已分配表 返回分配给进程的内存首地址 开始

操作系统课程设计报告

操作系统课程设计实验报告 实验名称:进程控制 姓名/学号: 一、实验目的 学习、理解和掌握Linux与windows的进行控制系统调用的功能,熟悉主要的几个系统调用命令的格式和如何利用系统调用命令进行编程。通过学习,理解如何创建一个进程、改变进程执行的程序、进程和线程终止以及父子进程的同步等,从而提高对进程和线程控制系统调用的编程能力。 二、实验内容 设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 三、实验环境 CPU: Inter ×2 2.10GHz RAM: 3.00GB Windows 7 旗舰版 Linux Ubuntu 10.04 编译: VS2010 四、程序设计与实现 4.1进程控制系统的调用 4.1.1 windows进程控制调用程序中使用的数据结构及主要符号说明 SYSTEMTIME starttime,endtime; //进程开始时间和结束时间 PROCESS_INFORMATION pi //该结构返回有关新进程及 //其主线程的信息 STARTUPINFO si //该结构用于指定新进程的主窗口特性4.1.2 linux进程控制调用程序中使用的数据结构及主要符号说明 struct timeval starttime,endtime //进程开始时间和结束时间 pid_t pid //进程标志符

4.2 程序流程图 图1 windows进程控制调用图2 linux进程控制调用程序运行流程图程序运行流程图 五、实验结果和分析 5.1 windows实验结果和分析

操作系统课程设计

计算机科学技术学院 操作系统原理课程设计报告 题目:进程管理系统 专业: 班级: 姓名: 学号: 指导老师: 年月日

《操作系统原理》课程设计任务书 一、课程设计题目(任选一个题目) 1.模拟进程管理 2.模拟处理机调度 3.模拟存储器管理 4.模拟文件系统 5.模拟磁盘调度 二、设计目的和要求 1.设计目的 《操作系统原理》课程设计是网络工程专业实践性环节之一,是学习完《操作系统原理》课程后进行的一次较全面的综合练习。其目的在于加深对操作系统的理论、方法和基础知识的理解,掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。 2.基本要求: (1)选择课程设计题目中的一个课题,独立完成。 (2)良好的沟通和合作能力 (3)充分运用前序课所学的软件工程、程序设计、数据结构等相关知识 (4)充分运用调试和排错技术 (5)简单测试驱动模块和桩模块的编写 (6)查阅相关资料,自学具体课题中涉及到的新知识。 (7)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。 三、设计内容及步骤 1.根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么。

2.根据实现的功能,划分出合理的模块,明确模块间的关系。 3.编程实现所设计的模块。 4.程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果; 5.结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。 6.编写课程设计报告; 设计报告要求:A4纸,详细设计部分主要叙述本人的工作内容 设计报告的格式: (1)封面(题目、指导教师、专业、班级、姓名、学号) (2)设计任务书 (3)目录 (4)需求分析 (5)概要设计 (6)详细设计(含主要代码) (7)调试分析、测试结果 (8)用户使用说明 (9)附录或参考资料 四、进度安排 设计在学期的第15、16周进行,时间安排如下:

《操作系统》课程简介.doc

《操作系统》课程简介 一、课程简介 操作系统(Operating System)是当代计算机软件系统的核心,是计算机系统的基础和支撑,它管理和控制着计算机系统中的所有软、硬件资源,可以说操作系统是计算机系统的灵魂。操作系统课程是计算机专业学生必须学习和掌握的基础课程,是进行系统软件开发的理论基础,也是计算机专业的一门理论性和实践性并重的核心主干课程。 二、课程性质 本课程是一门技术性、实践性很强的课程,又是理论与实践紧密结合的课程,既注重操作系统基础理论,又着眼培养学生解决实际问题能力。本课程将学习操作系统的基本原理、基本方法及其实现技术,包括处理器管理、存储管理、文件管理、设备管理以及进程的互斥、同步、通信与死锁等内容。使学生了解当今几个主流操作系统,了解操作系统的设计方法和并发程序的设计,具备较强的软件设计能力和较严密的思维能力。 三、教学目的 1、使学生全面地了解和掌握现代计算机操作系统的基本原理,从资源管理的角度领会操作系统的功能和实现技术。 2、使学生建立起以操作系统为中心的对计算机系统整体性和系统级的认识。 3、使学生系统科学地受到分析问题和解决问题的训练,提高运用理论知识开发实际操作系统的基本能力。

《操作系统》教学大纲第1章:引论 (一)知识要点 1、计算机硬件结构 2、操作系统介绍 3、操作系统的发展历程 4、操作系统的类型 5、操作系统的特征 6、操作系统结构设计 (二)能力重点 1、操作系统的定义、分类 2、操作系统的主要功能 3、操作系统的基本特征 第2章:进程和线程 (一)知识要点 1、进程的概念 2、进程的状态和组成 3、进程管理 4、线程的概念 5、进程的同步和通信 6、经典进程同步问题 7、进程通信 (二)能力重点 1、进程的定义、进程的状态 2、进程的创建、撤销、阻塞、唤醒等原语 3、线程和进程的区别,线程的特征 4、经典进程同步问题的解决方法

计算机操作系统课程设计

计算机操作系统课程设计 班级:计091-1 姓名: 学号: 使用语言:C++ 指导老师: 学院:

一、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。

二、系统分析 1、设计思想 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容: 0 48*5 48*5+44*50 48*5+44*50+264*200 每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。

整个系统的编码构成主要分为: Allstruct.h 定义了每个分区的结构体; Mysys.h 声明了对系统操作的各种方法;Myuserfile.h 声明了对文件操作的各种方法; Mymain.cpp 整个系统的主函数,操作入口; Mysys.cpp 包含了mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了myuserfile.h,实现了操作文件的各种方法; 2、主要数据结构 Allstruct.h文件的内容: struct s_user //用户区结构体 { long isuse; //是否使用 char name[20]; //用户名 char psd[20]; //密码 long address; //目录地址 };

操作系统课程设计报告模板

中国石油大学(华东)操作系统课程设计报告 姓名: 学号: 成绩: 目录

实验一、螺旋矩阵 (3) 实验二、用Shell程序实现文件的批量管理 (4) 实验三、驱动下的螺旋矩阵程序 (7) 实验四、哲学家进餐问题 (10) 实验五、NCURSE程序框架 (14) 实验一、螺旋矩阵

一、实验任务 用C语言编写一个螺旋矩阵程序,实现输入行数和列数即可形成A~Z的螺旋矩阵,并用Makefile完成编译。 二、实验环境和工具 VMware Workstation红帽子 Linux-2.4.20-8 三、关键代码 1、螺旋矩阵实现代码(SpiralMatrix.c) #include #define N 10 int main() { int row,col,i,j,x,y,startNum; int dx[4]={0,1,0,-1};//方向 int dy[4]={1,0,-1,0}; int Matrix[N][N]; printf("请输入行数和列数:"); scanf("%d %d",&row,&col); for (i=0;i=0&&x=0&&y

新操作系统课程设计

江苏大学京江学院 JIANGSU UNIVERSITY 操作系统课程设计 文件管理系统 学院名称:京江学院 专业班级:J计算机1401 学号:4141110020 学生姓名:潘庆 指导教师:林琳 2017年 1 月

一、课设目的 操作系统是计算机专业的一门专业课,也是计算机专业考研课程,但操作系统比较抽象,有的同学一学期完了都还很难理解进程、内存管理等一些概念和原理,操作系统课程设计的目的就是通过设计的实验,让同学们真正理解进程的实现,内存管理的机制,达到理解概念,了解实现原理。同时也进一步巩固程序设计与数据结构的实践技能,实现整个大学阶段实践技能不断线的目的。 二、课设题目 实现一个简单的文件管理系统 (1)具有文件目录(一级或者多级) (2)对指定大小的磁盘(设共1GB,每个块为1MB),建立位示图进行管理 (3)文件操作,包括新建、查看属性、删除 新建文件:给出文件名、大小、建立时间等信息,系统为其分配硬盘空间,并记录在文件目录中 查看属性:给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。 删除文件:给出文件名,实现文件的删除 (4)文件系统操作:显示文件列表、显示磁盘空间剩余大小、输出位示图。 三、系统功能结构

四、主要数据结构 创建文件:creatfile<文件名>,即创建一个指定名字的新文件,在目录中增加一 项,不考虑文件的内容,对于重名文件,给出错误信息。 删除文件:deltefile<文件名>,即删除一个指定名字的已创建文件,若文件不存在 则给出错误信息。 输出文件列表:disp(),即显示指定目录下的全部文件和第一级子目录,若无指定 目录,则显示当前目录下的相应内容。 输出文件属性:disp2(),即给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。 输出位示图:bit_map(),即输出当前状态下磁盘盘块的使用情况。 五、系统使用说明 文件管理系统主菜单界面(通过输入对应数字进入相应功能子菜单)

操作系统课程设计题目

操作系统课程设计 一、课程设计题目 实现一个模拟操作系统。 二、课程设计的目的 通过模拟操作系统原理的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 三、小组人数 建议3~4人一组共同完成模拟系统的实现。 四、编程语言 建议使用VC、VB、C#、Java等Windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。 五、课程设计内容 模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 六、课程设计具体要求和内容 1.文件管理和用户接口 文件管理和用户接口部分实现的主要是单用户的磁盘文件管理部分,包括文件的逻辑结构、物理结构、目录、磁盘分配回收、文件的保护和用户接口的实现。 ⑴文件的逻辑结构 文件的逻辑结构采用流式结构; 文件的内容均采用文本文件; 系统中有两种文件,一种是存放任意字符的文件,一种是可执行文件。可执行文件的内容就是模拟系统内进程的程序体。 文件中要有一种特定命令的“可执行”文件,该文件中的命令有: x=?; 给x赋值一位数 x++; x加1 x--; x减1 !??;第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时间(由于没有实际设备,所以无法知道设备何时工作完成,所以假定一个数,这个数随着系统时间增加而递减,减到0时,认为是设备工作完成); end. 表示文件结束,同时将结果写入文件out,其中包括文件路径名和x的值。 ⑵磁盘模拟 用一个文件disk1模拟磁盘c,用一个文件disk2模拟磁盘d。两个磁盘一样大小,磁盘的每个盘块64字节,模拟磁盘共有128块。第0、1块存放文件分配表,第2块存放根目录,其余存放子目录和文件。 ⑶目录结构 目录结构采用树型目录结构。 ①目录项内容(8个字节): 目录名、文件名:3个字节; 扩展名:2个字节(可执行文件扩展名为ex,目录没有扩展名); 目录、文件属性:1字节(1位标识是文件还是目录,1位标识只读还是非只读,1位是隐藏属性,标识显示还是不显示); 起始盘块号:1个字节; 文件长度:1字节(目录没有长度)。

相关主题