华东交通大学操作系统课程设计

合集下载

操作系统课程设计

操作系统课程设计

操作系统课程设计一、课程目标知识目标:1. 理解操作系统的基本概念、功能、类型和结构,掌握操作系统的五大核心功能模块(处理器管理、存储器管理、设备管理、文件管理、用户接口);2. 掌握操作系统的发展历程、主要操作系统(如Windows、Linux、Mac OS)的特点及应用场景;3. 了解操作系统的设计与实现原理,包括进程管理、内存管理、设备管理、文件系统等关键技术;4. 学会使用操作系统提供的命令行或图形界面进行基本的系统操作与维护。

技能目标:1. 培养学生对操作系统的实际操作能力,能够熟练使用至少一种操作系统进行日常管理与维护;2. 培养学生运用操作系统原理解决实际问题的能力,如分析系统性能、诊断故障、优化配置等;3. 提高学生的编程能力,使其能够编写简单的系统程序或脚本,实现特定功能。

情感态度价值观目标:1. 培养学生对操作系统的兴趣,激发学生学习计算机科学的热情;2. 培养学生的团队合作意识,使其在讨论、分析、解决问题的过程中学会倾听、交流、协作;3. 培养学生具备良好的信息素养,关注操作系统领域的最新发展,增强信息安全意识。

课程性质:本课程为计算机科学与技术专业(或相关领域)的必修课,具有较强的理论性和实践性。

学生特点:学生已具备一定的计算机基础知识,具有较强的学习兴趣和动手能力,但可能对操作系统原理的理解和应用尚有不足。

教学要求:注重理论与实践相结合,以案例驱动、任务导向的方式进行教学,注重培养学生的实际操作能力和问题解决能力。

通过本课程的学习,使学生能够掌握操作系统的基本原理,提高实际应用水平,为后续专业课程学习打下坚实基础。

二、教学内容1. 操作系统概述:介绍操作系统的基本概念、功能、类型,比较不同操作系统的特点,分析操作系统的发展趋势。

教材章节:第一章 操作系统概述2. 进程与线程管理:讲解进程与线程的概念、状态与转换,进程调度算法,同步与互斥,死锁与饥饿问题。

教材章节:第二章 进程管理3. 存储管理:介绍内存分配与回收策略,虚拟内存技术,页面置换算法,内存保护机制。

《操作系统》课程设计

《操作系统》课程设计

《操作系统》课程设计一、课程目标知识目标:1. 让学生掌握操作系统的基本概念,包括进程、线程、内存管理、文件系统等核心知识;2. 了解操作系统的历史发展,掌握不同类型操作系统的特点及使用场景;3. 掌握操作系统的性能评价方法和常用的调度算法。

技能目标:1. 培养学生运用操作系统知识解决实际问题的能力,如分析系统性能瓶颈、优化系统资源分配等;2. 培养学生具备基本的操作系统编程能力,如进程创建、线程同步、文件操作等;3. 提高学生的团队协作能力和沟通能力,通过小组讨论和项目实践,学会共同解决问题。

情感态度价值观目标:1. 培养学生对操作系统学科的兴趣,激发学生的学习热情,使其形成积极向上的学习态度;2. 培养学生具备良好的信息素养,尊重知识产权,遵循法律法规;3. 培养学生的创新精神和批判性思维,敢于质疑、勇于探索,形成独立思考的能力。

课程性质:本课程为计算机科学与技术专业的核心课程,旨在让学生掌握操作系统的基本原理和实现方法,提高学生的系统分析和编程能力。

学生特点:学生具备一定的编程基础和计算机系统知识,具有较强的逻辑思维能力和动手实践能力。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,通过案例分析和项目实践,帮助学生将所学知识内化为具体的学习成果。

在教学过程中,关注学生的学习进度和反馈,及时调整教学策略,确保课程目标的实现。

二、教学内容1. 操作系统概述:介绍操作系统的定义、发展历程、功能、类型及特点,对应教材第一章内容。

- 操作系统的起源与发展- 操作系统的功能与类型- 操作系统的主要特点2. 进程与线程:讲解进程与线程的概念、状态、调度算法,对应教材第二章内容。

- 进程与线程的定义与区别- 进程状态与转换- 进程调度算法3. 内存管理:分析内存管理的基本原理、策略和技术,对应教材第三章内容。

- 内存分配与回收策略- 虚拟内存技术- 页面置换算法4. 文件系统:介绍文件系统的基本概念、结构、存储原理,对应教材第四章内容。

操作系统课程设计-一个简单的文件系统的详细设计

操作系统课程设计-一个简单的文件系统的详细设计

计算机系课程设计实验报告课程名称操作系统课程设计实验学期 2012 至 2013 学年第 1 学期学生所在系部计算机与信息管理系年级 2010 专业班级计算机001班学生姓名学号任课教师实验成绩计算机系制一个简单的文件系统的详细设计一、实验目的(1)阅读并调试一个简单的文件系统,模拟文件管理的工作过程。

从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。

(2)了解设计一个n个用户的文件系统,每个用户可以保存M个文件。

用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有create、delete、open、close、read、write等命令。

二、实验要求1、阅读所给文件系统源程序,并加注释(注释量达60%),2、修改、完善该系统,画出所设计的文件系统的详细流程图。

三、文件系统功能设计1. 功能设计该文件系统是一个多用户、多任务的文件系统。

对用户和用户的文件数目并没有上限。

也就是说该系统允许任何用户申请空间,而且在其目录下的文件数目并不做任何的限制。

该系统可以支持的操作命令如下:①bye——用户注销命令。

当使用该命令时,用户退出系统,注销该用户功能设计并回到登陆界面。

命令格式:bye②close——删除用户注册信息命令。

执行该命令后,用户在系统中的所有信息,包括该用户目录下的所有文件都被删除。

命令执行完成后返回登陆界面。

命令格式:close③create——在当前目录下创建一个文件,且该文件不能跟当前已有的文件重名。

该文件的管理信息登记在用户文件信息管理模块中。

执行完该命令后回到执行命令行。

命令格式:create>file1其中:“>”符为提示符,file1为要创建的文件名。

④delete——删除当前用户目录下的一个文件,命令执行完毕返回至命令行。

命令格式:delete>file1其中:file1为要删除的文件名。

⑤list——显示当前注册目录下的所有文件信息,包括文件名、文件长度、文件操作权限。

华东交通大学操作系统课件第一章

华东交通大学操作系统课件第一章

手工操作阶段
人工操作计算机,效率低下。
多道批处理阶段
支持多个程序同时执行。
实时操作系统阶段
处理对时间要求高的任务。
操作系统的应用领域
服务器操作系统
用于管理和提供服务的操作系统。
移动操作系统
为移动设备提供服务的操作系统。
实时操作系统
处理对时间要求严格的任务。
桌面操作系统
适用于个人计算机的操作系统。
嵌入式操作系统
操作系统的分类
操作系统根据不同的特点和应用领域进行分类,包括批处理系统、分时系统、 实时系统、嵌入式系统、个人计算机操作系统和分布式操作系统。
操作系统的发展历程
1
单道批处理阶段
2
引入批处理技术,自动执行程序。
3
分时操作系统阶段
4
实现多个用户共享计算机资源。
5
网络操作系统阶段
6
支持计算机网络的操作系统。
用于嵌入式系统的操作系统。
虚拟化操作系统
用于虚拟化技术的操作系统。
结语
操作系统在计算机系统中扮演着重要的角色。理解操作系统的定义、作用、 分类以及发展历程对于应用计算机系统有重要意义。
华东交通大学操作系统课 件第一章
欢迎来到华东交通大学操作系统课件第一章。在本章中,我们将介绍操作系 统的定义、作用、分类、发展历程以及应用领域。
什么是操作系统
操作系统是计算机系统中最基本的系统软件之一。它具有多种功能,如处理器管理、存储器管计算机系统中扮演着底层管理和上层管理的角色。它负责处理器 管理、存储器管理、设备管理,以及进程管理、文件管理和网络管理。

《操作系统》课程设计说明书

《操作系统》课程设计说明书

河南城建学院《操作系统》课程设计说明书设计题目:UNIX/Linux文件系统分析专业:计算机科学与技术指导教师:邵国金耿永军陈红军班级:0614082学号:061408261姓名:贠炳森同组人:叶矿辉、陈宇计算机科学与工程系2011年1月7日前言在现在计算机更新如此迅速的时代要学好计算机软件技术,特别是操作系统的学习,不仅要努力学好课本上的基础知识,还要经常在图书馆看些有关这方面的书籍,而更重要的是要有足够的实践经验,也要注重和同学的交流,经常尝试性的做些小的操作系统,对自己技术的提升会有很大的帮助。

同时,学习计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。

如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法恐怕就是在实践中练习。

例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。

但由于我们的条件和学时有限,在理论学习过程中没有给同学们提供更多的实验机会。

本操作系统课程设计,是给同学提供一个集中实验的机会。

希望同学们通过该设计加深对所学习课程的理解。

本设计是基于课程中学到的UNIX系统调用,使用操作系统环境是Red Hat Linux 9,言语开发环境是Linux的GNU C或C++。

我做的课程设计是:Linux/Unix文件系统分析。

在Linux系统下,使用与文件相关的系统调用实现对物理设备文件的读写,参照Linux系统源代码以及Grub 系统的源代码,对不同介质上的FAT格式文件系统进行分析。

要求在Linux环境下设计出C语言程序,实现以下功能:1)分析UNIX SysV/Linux系统引导记录的作用;2)分析UNIX SysV/Linux的超级块及其结构,并建立相关数据结构,通过编程实现UNIX SysV/Linux文件系统内各部分的定位。

3)至少要实现对给定i节点文件的只读访问目录一.系统环境 (3)1.1硬件环境 (3)1.2软件环境 (3)二.设计目的及要求 (3)三.总体设计 (5)四.详细设计 (6)五.调试与测试 (6)六.设计中遇到的问题及解决方法 (6)七.Linux/Unix文件系统分析源程序清单 (7)7.1 头文件 (7)7.2 示例程序 (10)八.运行结果及分析 (16)8.1 linux文件系统读取 (16)8.2 UNIX文件系统读取 (18)九.心得体会 (19)十.参考文献 (20)Linux/Unix文件系统分析一.系统环境1.1硬件环境cpu为pentium4双线程技术,频率为2.8GHZ,内存为256MB。

c操作系统课课程设计

c操作系统课课程设计

c操作系统课课程设计一、教学目标本课程的教学目标是让学生掌握操作系统的基本原理和概念,了解操作系统的设计和实现方法,熟练使用操作系统的基本命令和工具,具备基本的操作系统编程能力。

具体来说,知识目标包括:掌握操作系统的五大功能模块,理解进程管理、内存管理、文件系统、输入/输出系统的基本原理和概念;掌握操作系统的主要发展和历史,了解操作系统的研究意义和应用领域。

技能目标包括:能够使用操作系统的基本命令和工具,进行文件操作、进程管理等;能够编写简单的操作系统程序,实现进程创建、进程同步等功能。

情感态度价值观目标包括:培养学生对操作系统的兴趣和热情,提高学生的问题解决能力和创新意识,培养学生的团队合作精神和自主学习能力。

二、教学内容本课程的教学内容主要包括操作系统的原理、设计和应用。

具体安排如下:1.引言:介绍操作系统的定义、发展历史和主要功能。

2.进程管理:介绍进程的概念、进程的状态、进程控制块、进程同步、进程通信等内容。

3.内存管理:介绍内存分配策略、内存保护、虚拟内存、页面置换算法等内容。

4.文件系统:介绍文件和目录的概念、文件存储结构、文件访问控制、文件系统的设计等内容。

5.输入/输出系统:介绍输入/输出设备的管理、设备驱动程序、中断处理、DMA传输等内容。

6.操作系统实例:分析Linux或Windows等主流操作系统的原理和实现。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。

1.讲授法:用于讲解操作系统的原理、概念和算法。

2.讨论法:用于讨论操作系统的设计方法、优缺点比较和问题解决。

3.案例分析法:通过分析实际操作系统实例,让学生深入理解操作系统的实现和应用。

4.实验法:通过编写简单的操作系统程序,让学生动手实践,提高编程能力和问题解决能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选择《操作系统概念》或《现代操作系统》等主流教材作为主要教学资源。

操作系统课程设计pintos

操作系统课程设计pintos

操作系统课程设计pintos一、教学目标本课程的目标是让学生了解和掌握操作系统的基本原理和概念,通过学习Pintos操作系统,使学生能够理解操作系统的核心机制,包括进程管理、内存管理、文件系统和输入/输出系统等。

在技能方面,学生应能够使用Pintos进行简单的操作系统设计和实现,提升编程能力和系统分析能力。

在情感态度价值观方面,学生应培养对计算机科学和操作系统的兴趣,增强解决实际问题的责任感和使命感。

二、教学内容教学内容将按照Pintos操作系统的结构和功能进行,包括:1. 操作系统的概述和基本概念;2. 进程管理,包括进程的创建、调度和同步;3. 内存管理,包括物理内存管理和虚拟内存管理;4. 文件系统,包括文件和目录的、文件系统的实现;5. 输入/输出系统,包括设备驱动程序和中断处理。

三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法,包括:1. 讲授法,用于讲解操作系统的原理和概念;2. 讨论法,用于讨论操作系统的实现和应用;3. 案例分析法,通过分析具体的操作系统案例,让学生理解操作系统的实际应用;4. 实验法,通过实验操作,让学生亲手实现操作系统的核心机制。

四、教学资源教学资源包括:1. Pintos操作系统的教材和相关参考书;2. 多媒体资料,包括操作系统的教学视频和PPT;3. 实验设备,包括计算机和相关的硬件设备。

这些教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。

五、教学评估教学评估将采用多种方式进行,以全面、客观、公正地评价学生的学习成果。

评估方式包括:1. 平时表现,包括课堂参与、提问和讨论等,占总评的20%;2.作业,包括理论和实践作业,占总评的30%;3. 考试,包括期中考试和期末考试,占总评的50%。

考试内容将涵盖操作系统的原理、概念和实验操作。

六、教学安排教学安排将根据课程内容和学生的实际情况进行设计。

本课程计划在一个学期内完成,每周安排2次课时,每次课时1小时。

操作系统课程设计任务书

操作系统课程设计任务书

操作系统集中上机实验1:银行家算法一、目的和要求银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。

加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。

二、实验内容1.设计进程对各类资源最大申请表示及初值确定。

2.设定系统提供资源初始状况。

3.设定每次某个进程对各类资源的申请表示。

4.编制程序,依据银行家算法,决定其申请是否得到满足。

三、算法描述银行家可以把一定数量的资金供多个用户周转使用,为保证资金的安全银行家规定:1.当一个用户对资金的最大需求量不超过银行家现有的资金就要接纳该用户;2.用户可以分期贷款,但贷的总数不能超过最大需求量;3.当银行家现有的资金不能满足用户的沿需贷数时,对用户的贷款可推迟支付,但总能使用户在有限的时间里得到贷款;4.当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金。

实验2:时间片轮转法基本思想:将CPU的处理时间划分成一个个时间片,就绪队列中的诸进程轮流运行一个时间片,当时间片结束时,就强迫运行进程让出CPU,该进程进入就绪队列,等待下一次调度,同时,进程调度又去选择就绪队列中的一个进程,分配给它一个时间片,以投入运行。

在轮转法中,时间片长度的选择非常重要,将宜接影响系统开销和响应时间。

如果时间片长度很小,则调度程序剥夺处理机的次数频繁,加重系统开销;反之,如果时间片长度选择过长,比方说一个时间片就能保证就绪队列中所有进程都执行完毕,则轮转法就退化成先进先出算法。

实验3-4:抢占式(或非抢占式)优先级调度算法基本思想:该算法的基本思想是进程优先级高者优先调度,是一种常用的进程调度算法。

该算法的关键是如何确定优先数。

通常确定优先数的方法有两种,即静态法和动态法。

(1)静态优先权是在创建进程时确定的,其运行特征是优先数确定之后在整个进行运行期间不再改变。

确定静态优先权的依据有进程的类型、进程所使用的资源、进程的估计运行时间等因素。

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

课程设计(论文)任务书软件学院学院软件测试专业 05—测试 1 班一、课程设计(论文)题目哲学家问题的模拟实现二、课程设计(论文)工作自 2008 年 1月 7日起至 2008 年 1月11 日止。

三、课程设计(论文) 地点: 信息机房 5号楼四、课程设计(论文)内容要求:1.本课程设计的目的通过课程设计,使学生理论联系实际,在程序设计实践中进一步了解操作系统的原理和算法的实现,了解设计系统时应考虑的因素。

了解C应用程序编写。

培养学生分析、解决问题的能力,提高学生的论文写作能力。

2.课程设计的任务及要求1)基本要求:(1)熟悉C语言的运用,掌握和理解操作系统中的原理和算法;(2)结合操作系统的基本原理,进行程序设计;(3)对操作系统的设计和实现有进一步认识和理解。

2)课程设计论文编写要求(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订。

(2)课程设计报告(论文)包括目录、设计目的和要求、正文(相关原理分析、程序设计、流程图、程序实现和程序调试等内容)、设计小结、参考文献、附录等。

3)课程设计评分标准:(1)考勤与学习态度:20分(2)理论理解与课程设计报告论文:30分;(3)动手操作与程序设计:30分;(4)设计论文答辩:20分。

4)参考文献:(1)汤子瀛. 计算机操作系统[M]. 西安电子科技大学出版社.5)课程设计进度安排1.准备阶段(2学时):选择设计题目、了解设计目的要求、查阅相关资料2.程序模块设计分析阶段(2学时):程序总体设计、详细设计3.代码编写调试阶段(6学时):程序模块代码编写、调试、测试4.撰写课程设计论文阶段(2学时):总结课程设计任务和设计内容,撰写课程设计论文学生签名:2008 年 1 月 11 日6)选择课程设计题目具体要求:课程设计(论文)评审意见(1)考勤与学习态度(20分):优()、良()、中()、一般()、差();(2)理论理解与课程设计报告论文(30分):优()、良()、中()、一般()、差();(3)动手操作与程序设计(30分):优()、良()、中()、一般()、差();(4)设计论文答辩(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否()评阅人:职称:讲师 2008 年 1 月日目录1、设计目的和要求 (4)2、设计内容 (5)3、流程图 (6)4、设计程序和设计实现 (8)6、设计小结 (13)5、参考文献 (14)6、附录(源代码) (15)一、设计目的和要求1、课设目的:通过课程设计,使理论联系实际,在程序设计实践中进一步了解操作系统的原理和算法的实现,全面分析设计系统时应考虑的各种因素。

另外,开设此课程设计也是为了配合《计算机操作系统》课程的教学,通过模拟操作、系统原理的实现,使学生能更深刻地领会操作系统工作原理和操作系统实现方法的理解,并可练习程序设计。

2、课设要求:问题描述:有五个哲学家共用一张圆桌,分别坐在周围的五章椅子上,在圆桌上有五个碗和五只筷子,他们的生活方式是交替地进行思考和进餐。

平时,一个哲学家进行思考,饥饿时便试图去用其左右最靠进他的筷子,只有在他拿到两只筷子时才能进餐。

进餐毕,放下筷子继续思考。

①用VC编程创建五个线程,模拟实现五个哲学家来竞争五只筷子(资源)去吃通心面的情况;②使进程可以在任意时间内运行;③确保五个线程的同步和互斥;④运行时不会产生死锁。

二、设计内容1、依据题目要求,对于问题中的“筷子”(临界资源),在程序中用数组b[j]表示,并且通过调用函数“_beginthread(ThreadFunc1,0,&ph1)void和ThreadFunc1—3(PVOID param)”两个系统函数来编写线程,以及进行相关操作。

2、五位哲学家则是通过类philosopher来定义。

3、线程的同步和互斥是通过调用VC类库中的""类和""类实现的,具体来说是通过函数“EnterCriticalSection (&cs)、LeaveCriticalSection(&cs)、InitializeCriticalSection (&cs)、DeleteCriticalSection (&cs)”构建临界区来实现线程的同步和互斥。

4、解决死锁的办法:通过检测进程状态,一旦五位哲学家同时处于wating状态,则认为进程处于死锁状态,此时采用释放哲学家1(即:进程1)的资源,来解除死锁,当然也可以释放其他进程所占用的资源。

在本程序中是通过drop()函数来实现以上过程的(详见,程序实现)。

5、为了使测试更具普遍性和随机性,本程序通过调用系统类""当中的函数srand()、rand()以及Sleep( ) 来自动产生一个随机时间,以及生成一个指定的进程之间的挂起时间,以此起到一定的延时作用。

三、流程图四、程序设计和程序实现该算法的实现主要包括:线程创建、状态转变和解除死锁三大模块,其中,状态转变模块包括:eating状态转变为thinking状态、thinking状态转变为waiting状态、waiting状态转变为eating状态。

现将各主要模块表示如下:1、线程创建模块:_beginthread(ThreadFunc1,0,&ph1);_beginthread(ThreadFunc2,0,&ph2);_beginthread(ThreadFunc3,0,&ph3);_beginthread(ThreadFunc4,0,&ph4);_beginthread(ThreadFunc5,0,&ph5);线程相关操作:void ThreadFunc 1...5 (PVOID param){while(1){philosopher *pPh;pPh=( philosopher *) param;pPh->ChangeStatus();}}说明:因为创建的五个线程,其相关操作都一样,故上面仅仅给出了其中一个操作模块,其余的类似,不再赘述。

2、状态转变模块:eating状态转变为thinking状态模块:EnterCriticalSection (&cs);if(m_index==1){assert(!b[m_num]); b[m_num]=TRUE;if(m_num==1){b[5]=FALSE;assert(!b[5]);b[5]=TRUE;}m_index=2;srand(time(NULL)*10000);Sleep(rand()%100); }thinking状态转变为waiting状态:else if( m_index==2){if(m_num==1){ if(b[1]==TRUE||b[5]==TRUE)m_index=0;}else if(b[m_num]==TRUE||b[m_num-1]==TRUE){m_index=0;}else m_index=2;}waiting状态转变为eating状态:else if( m_index==0){if(m_num==1){if(b[1]&&b[5]){b[1]=FALSE;b[5]=FALSE;m_index=1;srand(time(NULL)*10000);Sleep(rand()%100);}else{b[1]=TRUE;m_index=2;srand(time(NULL)*10000);Sleep(rand()%100);} }else{if(b[m_num]&&b[m_num-1]){ b[m_num]= FALSE;b[m_num-1]= FALSE;m_index=1;srand(time(NULL)*10000);Sleep(rand()%100);}else{b[m_num]=TRUE;m_index=2;srand(time(NULL)*10000);Sleep(rand()%100);}}}LeaveCriticalSection (&cs) ;3、死锁解除模块:void drop(){philosopher ph1(1),ph2(2),ph3(3),ph4(4),ph5(5);if()==0&&()==0&&()==0&&()==0&&()==0){();}调试结果见(图—1)图—1五、设计小结课程设计终于顺利完成,在松一口气刻的是同时,也要感谢给过我指导的张老师以及帮助过我的所有同学,再次感谢你们!一个多星期课设时间里,我学到很多的东西,不仅巩固了以前所学过的相关知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合的重要性,从而也提高了自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,因为有好多的知识都是第一次接触,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……该程序设计中,实现进程并发是关键,另外,还有就是同步问题。

这两个问题应该说是设计当中最大的障碍,自己苦苦思索一天,终无进展,当然整个思考过程只是建立在自己学过的知识上。

最后没有办法,只好在网上寻找资源,资源虽然是多,但是多是没有见过的,尤其是一些经典算法......当然,最后经过查找资料,程序得已完成。

整个过程中,自己觉得最大的收获是,通过课设的方式让自己学到了好多没有接触过的新知识,这才是最重要的。

在自己编程之前已经看过了许多参考书,在网上也查了不少的资料。

自认为自己对哲学家问题已经非常了解了。

但事实却不是这样的,设计过程当中没有那么简单,甚至是困难重重。

课程设计是分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

也许我缺乏的正是这方面的知识。

但是能力毕竟有限,程序还有不完善之处,但我会不断努力,在以后的学习中争取有更大的提高!六、参考文献(1) 汤子瀛.计算机操作系统[M]. 西安电子科技大学出版社.(2) 潭浩强.C++程序设计. 清华大学出版社(3) (4)。

相关文档
最新文档