课程设计心得体会
…… …… 余下全文
课程设计心得体会
…… …… 余下全文
《操作系统原理》
实 验 报 告
院 (部): 管理工程学院
专 业:信息管理与信息系统
实验项目:实验一 二 三 五
班 级:信管102
姓 名:
学 号:
目 录
引 言.......................................................................................................................... 4
实验一、模拟进程创建、终止、阻塞、唤醒原语.............................................................. 6
实验目的:............................................................................................................... 6
实验内容:............................................................................................................... 6
实验步骤:............................................................................................................... 7
实验代码:............................................................................................................... 7
…… …… 余下全文
计算机科学技术学院
操作系统原理
课程设计报告
题 目:进程管理系统
专 业:
班 级:
姓 名:
学 号:
指导老师:
年 月 日
《操作系统原理》课程设计任务书
一、课程设计题目(任选一个题目)
1.模拟进程管理
2.模拟处理机调度
3.模拟存储器管理
4.模拟文件系统
5.模拟磁盘调度
二、设计目的和要求
1.设计目的
《操作系统原理》课程设计是网络工程专业实践性环节之一,是学习完《操作系统原理》课程后进行的一次较全面的综合练习。其目的在于加深对操作系统的理论、方法和基础知识的理解,掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。
2.基本要求:
(1)选择课程设计题目中的一个课题,独立完成。
(2)良好的沟通和合作能力
(3)充分运用前序课所学的软件工程、程序设计、数据结构等相关知识
(4)充分运用调试和排错技术
(5)简单测试驱动模块和桩模块的编写
(6)查阅相关资料,自学具体课题中涉及到的新知识。
(7)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。
三、设计内容及步骤
1.根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么。
2.根据实现的功能,划分出合理的模块,明确模块间的关系。
3.编程实现所设计的模块。
4.程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;
…… …… 余下全文
西安郵電大學
操作系统设计报告
题 目:进程、线程、互斥锁
院系名称: 计算机学院
班 级: 1104
学生姓名: 赵大伟
学号(8位):04113124
指导教师: 舒新峰
设计起止时间:2013.11.10—2013.11.20
一. 设计目的
1) 通过观察、分析实验现象,深入理解进程及进程在调度执行和内存空间
等方面的特点,掌握在POSIX 规范中fork和kill系统调用的功能和使用。
2) 通过观察、分析实验现象,深入理解线程及线程在调度执行和内存空间
等方面的特点,并掌握线程与进程的区别。掌握POSIX 规范中
pthread_create() 函数的功能和使用方法。
3) 通过观察、分析实验现象,深入理解理解互斥锁的原理及特点掌握在
POSIX 规范中的互斥函数的功能及使用方法。
二. 设计内容
1)创建一个进程,父子进程 相互交替执行,输出子进程号和进程ID
2)创建三个线程,输出三个线程运行的次数和当前主线程运行次数以及三个线程次数和。
3)使用POSIX 规范中的互斥函数,实现加锁解锁
4)信号量机制的方法,实现进程的加锁解锁,且不产生死锁
三. 概要设计
1)生成一个进程,通过switch()判断,来确定生成的进程是子进程还是父进程,还是错误的;子进程号定义为全局变量;利用kill()杀死进程,退出程序。
2)利用循环创建三个线程,do while循环,每运行一次:输出三个线程运行的次数,当输入q时候,退出程序。
3)创建一个线程,在循环中进行申请资源,释放资源,加锁,以及解锁的操作,熟悉互斥锁的工作方式。
四.详细设计
1)进程交替进行
当程序执行到for(i = 0; i < child_proc_number; i++)循环后,调用fork()函数创建第一个子进程,然后父进程与该子进程交替执行,当子进程抢到cpu时继续往下执行case 0:语句中的do_something();语句,执行死循环for(;;)输出该进程的相关内容,并sleep,给其他进程抢占cpu的机会。这样就会使得进程交替的执行。
…… …… 余下全文
上海电力学院
计算机操作系统原理
课程设计报告
题目名称:编写程序模拟虚拟存储器管理
姓 名: 杜志豪 .学 号: 20121798
班 级: 2012053班 .
同组姓名:孙嘉轶
课程设计时间: 2014.6.30——2014.7.4
评语:
…… …… 余下全文
【设计目的】
1. 课程设计目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和内部实现。
2. 结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步理解操作系统。
3. 通过对实际问题的分析、设计、编程实现,提高学生实际应用、编程的能力
【设计内容】
1、delete 删除文件
2、open 打开文件
3、close 关闭文件
4、write 写文件
【实验环境】
C++/VC++
【相关知识综述】
本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。
首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。
用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为物理地址,在目录中进行登记。
【设计思路】
1 、主要数据结构
#define MAXNAME 25 /*the largest length of mfdname,ufdname,filename*/
#define MAXCHILD 50 /*the largest child每个用户名下最多有50个文件*/
…… …… 余下全文