操作系统课程设计.doc
- 文档编号:238397
- 上传时间:2022-10-07
- 格式:DOC
- 页数:19
- 大小:456KB
操作系统课程设计.doc
《操作系统课程设计.doc》由会员分享,可在线阅读,更多相关《操作系统课程设计.doc(19页珍藏版)》请在冰豆网上搜索。
中南大学
操作系统课程设计
实验报告
题目:
多用户多任务的类操作系统
学院:
信息科学与工程学院
姓名:
班级:
日期:
2014/07
目录
一、概述
二、课程设计要求
三、设计的基本原理和概念
四、总体设计:
实现的方法和主要技术路线
1.总体功能模块图
2.总体功能流图
五、详细设计:
1.模块内部的流程
2.实现算法
3.运行结果
六、完成的情况
七、使用说明
八、实验总结
九、参考文献
十、附件:
源程序代码
一、概述
操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。
本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。
二、课程设计要求
采用VC、VB、java或C等编程语言,模拟开发一个多用户多任务的类操作系统软件。
要求如下:
1.模拟进程调度算法,模拟各种进程调度算法,并能管理各种进程调度算法的演示过程。
2.模拟各种内存分配算法及回收过程,并能动态演示。
结合进程调度算法,能为进程模拟分配内存,并设计一个跟踪该内存模拟分配的进程或线程,记录内存分配的结果;
3.模拟多用户登录管理过程,能允许多个用户登录,为每个用户建立进程或线程,并进行进程管理;
4.能模拟文件系统管理,进程可以对文件系统(包括文件和目录)进行读、写、创建、删除、打开、关闭等操作;
5.模拟磁盘管理过程,结合文件系统管理,显示磁盘管理的结构和文件在磁盘上的分布情况。
6.能模拟进程通信管理,用户之间可以相互通信交流;
7.最好能采用类似于Windows的窗口界面。
三、设计的基本原理和概念
本系统软件是模拟操作系统的整个工作过程,主要功能包括多用户登录管理,文件与用户管理,进程与存储管理,以及系统进程管理。
多用户操作系统允许多个不同用户同时使用计算机的资源。
操作系统必须确保均衡地满足各个用户的要求,他们使用的各个程序都具有足够且独立的资源,从而使一个用户的问题不会影响到整个用户群。
在本系统中,将用户分为管理员用户和普通用户。
登陆时可选择,若选择管理员用户登陆,则对各用户有管理权限(添加或删除),对文件系统不仅有读写权限,还能新建、删除、修改文件或目录等;若选择普通用户登陆,则只能查看用户,且只能读文件。
多用户多级目录的文件系统:
通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。
在本系统中,文件与用户管理相结合,实现了以下几项功能:
查看文件目录结构、文件属性、磁盘属性、磁盘块分配位示图、索引节点分配位示图、用户管理(管理员有该权限),查看用户、新建文件/目录(管理员权限)、删除文件/目录(管理员权限),读写文件(普通用户只读)。
进程与存储管理系统:
即模拟cpu调度和内存分配。
作业进入内存中,由CPU分配产生PCB属性,并通过PCB记录进程状态,实验即以PCB代表进程模拟调度过程;在多道系统中,多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机,本实验采用优先级;进程调度时,规定若就绪队列进程数少于6个,则自动从后备队列调入一个作业;系统会将占有较多资源、预期结果不符合要求的进程自动挂起,并回收所占资源,而本实验设置为手动挂起;在适宜条件下,系统会将挂起的进程自动解挂,而且只解挂到就绪队列;本实验为简化操作,设置为手动解挂,若解挂条件合适(即CPU各种资源可用),则解挂到就绪队列,并分配内存;若解挂条件不适宜,则解挂至后备队列,但不分配内存。
系统进程管理器:
即任务管理器。
操作系统是一个介于软件和硬件之间的特殊硬件,一方面分配硬件资源另一方面支持软件在它上面的实现,如何实时地监控和掌握系统软硬件工作的状态、资源分配和使用的情况,对计算机用户而言十分重要,于是就有了任务管理器这样的实时监控窗口。
通过这个窗口我们可以了解到电脑所有进程运行状况,并对运行的进程加于管理和控制,正如在本系统中,启动进程管理器后,可以通过”获取进程”功能来获得本计算机启动的进程,以及与该进程相关的信息,其中包括的信息有:
进程映像名称,进程的PID、会话名称、会话次数以及内存使用,我们可以通过这些信息来了解计算机中每个进程的使用状况。
同时我们可以在进程管理器上选中一个要终止的的进程,右击选择关闭方式,如“根据名称关闭进程”或“根据PID关闭进程”功能按钮,该进程被终止执行并退出进程列表,此按钮实现的功能正如我们电脑任务管理器的“进程”功能,当电脑执行程序不能通过关闭窗口进行正常的关闭时,可以借助此办法来关闭进程。
其中还包括了关闭进程树和刷新进程列表的功能。
磁盘管理:
磁盘格式化时,系统把磁盘存储空间分成许多磁道。
每个磁道又分成若干个扇区(又叫做磁盘块)。
之后用fdisk命令对硬盘进行分区,即使只有一个分区,也必须用fdisk命令进行分区。
分区的目的,就是制作文件卷,形成文件系统。
一个文件卷一般都被划分成引导扇区、文件系统管理区和文件数据区。
其中,文件数据区用来存放系统文件和用户文件。
用户可以通过文件系统提供的API,创建、打开、关闭和对文件进行读写。
当用户的文件不再需要时,就应该删除。
把一个文件放到磁盘上时,可以组织成连续文件、链接文件或索引文件等。
因此,磁盘空间的分配方法也有两种,一种是连续空间的分配,一种是不连续空间的分配(又叫动态分配)。
四、总体设计
1.总体功能模块及关系图
系统进程管理
文件与用户管理
多用户多任务类操作系统
多用户登陆界面
磁盘管理
进程与存储管理
2.总体功能流图
开始
初始化登陆界面
管理员用户登陆?
文件与用户管理
系统进程管理
进程与存储管理
内存分配算法
进程控制
进程调度算法
任务管理器
磁盘属性及分配
查看及管理用户
文件及目录管理
五、详细设计
(一)多用户操作系统
(1)数据结构及主要函数
publicclassLoginViewextendsJFrame{
JFramejframe=newJFrame("欢迎登陆系统");
privateFilesysServerfss1=null;
intsw=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
intsh=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
publicLoginView(FilesysServerfss){
this.fss1=fss;
//初始化面板
JPanelloginPanel=newJPanel();
JLabeltitleJLable=newJLabel();
titleJLable.setText("欢迎登陆系统");
titleJLable.setSize(500,200);
//用户面板
JPaneluserPanel=newJPanel();
userPanel.setLayout(null);
JButtonadminButton=newJButton();
adminButton.setText("管理员用户登陆");
JButtonuserButton=newJButton();
userButton.setText("普通用户登陆");
。
。
。
。
。
。
}
(二)文件与用户管理
本系统分两种用户:
管理员用户和普通用户,实现文件系统的模拟管理与查看过程。
管理员用户对文件系统可以进行创建用户、删除用户、创建文件、删除文件、创建目录、删除目录、读文件、写文件、打开文件、关闭文件、显示目录等操作;普通用户只能读文件和查看用户。
并且加入磁盘管理功能,在查看/创建/删除文件等操作时时,显示文件属性、磁盘属性、磁盘分配情况。
索引节点分配情况,动态实时的掌握内存分配。
(1)数据结构及主要函数
publicclassMyFile{
publicintfsize;
publicStringfname;
publicStringftime;
publicStringfcont;
publicintfownid;
publicintfgrpid;
publicintfmode;
}
publicclassDir{ //文件名 36B
//TOTAL 36B
publicStringfname; //文件名 15B
publicintfindex; //INODE号 3B
publicStringpname; //父文件名 15B
publicintpindex; //父INODE号 3B
}
publicclassDisk{
publicfinalstaticintDISKSIZE=100*512; //磁盘大小
publicfinalstaticintINUM=80; //inode数量
publicfinalstaticintBNUM=100; //块数量 512B*100=51200B
publicfinalstaticintBSIZE=512; //块大小
publicfinalstaticintISIZE=64; //inode大小 64B*80=5120B
publicfinalstaticintDSIZE=36; //dir大小 36B*14~~512B
publicfinalstaticintBASEB=11; //不能使用的块
}
publicclassInode{//索引节点信息 64B
//TOTALNOW 59B
publicintfsize; //文件大小 6B
publicintfblock; //文件块数 6B
publicintfaddr[]; //直接块号 4*3B
publicintfadd1; //一级块号 3B
publicintfownid; //所有者ID 6B
publicintfgrpid; //所在组ID 6B
publicintfmode; //文件类型权限 6B(d/-+二进制)
publicStringftime; //最近修改时间 14B(20XXXXXXXXXX)
publicInode(){
faddr=newint[4];
}
}
publicclassSuperBlock{
publicintbitindex[]; //空余块位示图 100B
publicintbitblock[]; //空余节点位示图 120B
publicintfreindex; //剩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)