操作系统课程设计

操作系统 专栏收录该内容
40 篇文章 15 订阅

操作系统课程设计汇总
来源:网络收集
这次海轰选择是题目二,感觉有点难,得费一点时间
其他的题目以后有时间可以尝试一下
再不写C++,就快凉了

题目一:支持多个进程(线程)并发运行的简单进程(线程)管理模拟系统

1.实验内容
        学习进程管理的设计与实现,学习和运用操作系统原理,设计一个操作系统子系统的模拟系统。通过该系统的设计调试可增加对操作系统实现的感知性。设计一个允许n个进程并发运行的进程管理的模拟系统。该系统包括简单的进程控制、同步及通信机构,其进程调度算法可任意选择。分析系统所需的数据结构、算法的流程以及划分各个功能模块。
2.实验原理
        进程管理包括进程的创建、控制、阻塞、唤醒与撤消。进程在运行过程中状态在不断的变化。进程运行过程中,因为竞争资源而需对它们进行同步控制。所有这些在操作系统中用数据结构PCB来记录,系统通过PCB控制进程的运行。
        在单处理机系统中,多道程序的引入,需要进程的调度程序来选择一个进程进行运行。比如常用的先来先服务、短进程优和优先级优先等等,也可以选择它们的结合调度算法。

题目二:文件系统设计

1、实验内容
        通过一个简单的二级文件系统设计,加深对文件系统的内部功能以及内部实现的理解。要求模拟采用二级目录结构的磁盘文件系统的文件操作能实现以下几条命令,用输入命令来模拟用户程序中调用的文件操作:

  • Login 用户登录
  • Dir 列文件目录(列出文件名、物理地址、保护码和文件长度)
  • Create 创建文件
  • Delete 删除文件
  • Open 打开文件
  • Close 关闭文件
  • Read 读文件
  • Write 写文件
  • 源文件可以进行读写保护

2、实验原理
        文件系统管理中用到的数据结构有:

  1. 首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。
  2. 用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为物理地址,在目录中进行登记。

题目三:模拟请求分页存储系统

具体要求:
        模拟仿真请求分页调度算法OPT、FIFO、LRU、CLOCK等模拟页面调度算法,并提供性能比较分析功能。通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。

题目四:磁盘调度算法

具体要求:编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度,

  1. 先来先服务算法(FCFS)
  2. 最短寻道时间优先算法(SSTF)
  3. 扫描算法(SCAN)
  4. 循环扫描算法(CSCAN)

题目五:编程序模拟银行家算法,要求能体现算法的全过程。

实验内容:
        m个并发进程,P1,P2,……PM;他们共享n类资源,通过银行家算法在资源分配前检测是否安全,在安全的前提下进行分配,避免死锁的产生。
具体要求:

  1. 实现银行家算法,能判断系统的安全状态,避免系统死锁。
  2. 能显示每个进程的当前分配状况,能显示系统空闲的资源数量。
  3. 能输入或自动产生资源请求,并利用银行家算法进行分配。

题目六:进程通信

具体要求:

  1. 进程的创建和控制
  2. 进程的软中断通信
  3. 进程的管道通信

题目七:读者-写者问题

具体要求:
        使用多线程和信号量机制实现经典的读者写者问题,每个线程代表一个读者或一个写者。每个线程按照相应测试数据文件的要求进行读写操作。请用信号量机制分别实现读者优先和写者优先的读者-写者问题。

题目八:SPOOLing假脱机输入输出模拟

具体要求:
        设计一个SP00LING输出进程和两个请求输出的用户进程,以及一个SP00LING输出服务程序。当请求输出的用户进程希望输出一系列信息时,调用输出服务程序,由输出服务程序将该信息送入输出井。待遇到一个输出结束标志时,表示进程该次的输出文件输出结束。之后,申请一个输出请求块(用来记录请求输出的用户进程的名字、信息在输出井中的位置、要输出信息的长度等),等待SP00LING进程进行输出。

题目九:基于静态优先权和响应比的进程管理系统的设计

要求:

  1. 设计一个完整的进程调度系统,系统中至少包括5个进程;
  2. 定义PCB,在PCB中定义进程的初始优先权(用整数表示);
  3. 采用链表管理就绪队列;
  4. 结果要能够显示出进程的调度序列及初始优先权、响应比等必要信息
  5. 设计的输入数据要能体现算法的思想

题目十:基于多级反馈队列的进程管理系统的设计

要求:

  1. 设计三级队列,每一队列至少三个进程;
  2. 定义PCB
  3. 为每一队列设置不同的时间片,后一队列通常是前一队列的2倍,依次类推
  4. 采用链表管理就绪队列;
  5. 结果要能够显示出进程的调度过程

题目十一:基于固定分区分配的存储器管理系统的设计

要求:

  1. 建立一张分区说明表;
  2. 至少提供4个作业;
  3. 模拟作业的分配过程;
  4. 模拟作业的回收过程
  5. 能够显示每一次分配和回收的结果

题目十二:基于首次适应算法的存储器管理系统的设计

要求:

  • (1)建立一张空闲分区链;
  • (2)至少提供4个作业;
  • (3)模拟作业的分配过程;
  • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
  • (5)能够显示每一次分配和回收的结果

题目十三:基于循环首次适应算法的存储器管理系统的设计

要求:

  • (1)建立一张空闲分区链;
  • (2)至少提供4个作业;
  • (3)模拟作业的分配过程;
  • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
  • (5)能够显示每一次分配和回收的结果

题目十四:基于最佳适应算法的存储器管理系统的设计

要求:

  • (1)建立一张空闲分区链;
  • (2)至少提供4个作业;
  • (3)模拟作业的分配过程;
  • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
  • (5)能够显示每一次分配和回收的结果

题目十五:基于最坏(差)适应算法的存储器管理系统的设计

要求:

  • (1)建立一张空闲分区链;
  • (2)至少提供4个作业;
  • (3)模拟作业的分配过程;
  • (4)模拟作业的回收过程(4种回收情况,考虑空间合并)
  • (5)能够显示每一次分配和回收的结果

题目十六:基本分页存储管理系统的设计

要求:

  • (1)建立页表;
  • (2)设计地址变换机构;
  • (3)将变换后的结果显示出来。

题目十七:基本分段存储管理系统的设计

要求:

  • (1)建立段表;
  • (2)设计地址变换机构;
  • (3)将变换后的结果显示出来。

题目十八:基于二级文件目录的文件管理系统设计

要求:

  • (1)实现建立文件、打开文件、关闭文件、撤消文件;
  • (2)建立相应的数据结构;

题目十九:基于多级文件目录的文件管理系统设计

要求:

  • (1)实现建立文件、打开文件、读文件、写文件;
  • (2)建立相应的数据结构

题目二十:请求分页存储管理系统的设计

要求:

  • (1)从置换算法中任选2种;
  • (2)建立页表;
  • (3)设计的输入数据要能体现算法的思想
  • (4)事先假定分配的物理块是空闲的;
  • (5)求出各置换算法中的缺页次数和置换次数

题目二十一:模拟实现一个简单的shell

要求

  • ①实现一条内部命令完成将某文件内包含指定字符串的行复制形成一个新文件的功能
  • ②实现一条外部命令

题目二十二:操作系统整体设计

要求:
        设计一个小型的操作系统,重点关注接口处的设计,主要包括打开文件(文件管理)、为文件分配内存(存储管理,选择任意的内存分配方法)和进程调度(处理机管理,选择任意的调度算法),至少3个进程。

题目二十三:哲学家进餐问题

要求:
        建立相应的数据结构,编程实现哲学家进餐的过程。

题目二十四:linux任务管理器

要求:
        实现一个linux任务管理器界面操作 可查看当前系统进程并且可以简单的管理进程

题目二十五:文件加密系统

要求:

  • 1.采用置换或对称算法对文件进行加密和解密(如凯撒,RSA等等)。
  • 2.加密后文件的大小不变,采用界面设计模拟出一个简单的系统
  • 3.解密时输入解密密钥,完成对密文进行解密。
  • 4
    点赞
  • 4
    评论
  • 14
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
设计一: 设计任务:模拟Linux文件系统 在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟Linux文件系统。 1. 在现有机器硬盘上开辟100M的硬盘空间,作为设定的硬盘空间。 2. 编写一管理程序simdisk对此空间进行管理,以模拟Linux文件系统,要求: (1) 盘块大小1k (2) 空闲盘块的管理:Linux位图法 (3) 结构:超级块, i结点区, 根目录区 3. 该simdisk管理程序的功能要求如下: (1) info: 显示整个系统信息(参考Linux文件系统的系统信息),文件可以根据用户进行读写保护。目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开。 (2) cd …: 改变目录:改变当前工作目录,目录不存在时给出出错信息。 (3) dir …: 显示目录:显示指定目录下或当前目录下的信息,包括文件名、物理地址、保护码、文件长度、子目录等(带/s参数的dir命令,显示所有子目录)。 (4) md …: 创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。 (5) rd …: 删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。 (6) newfile …: 建立文件。 (7) cat …: 打开文件。 (8) copy …: 拷贝文件,除支持模拟Linux文件系统内部的文件拷贝外,还支持host文件系统与模拟Linux文件系统间的文件拷贝,host文件系统的文件命名为<host>…,如:将windows下D:盘的文件\data\sample\test.txt文件拷贝到模拟Linux文件系统中的/test/data目录,windows下D:盘的当前目录为D:\data,则使用命令: simdisk copy <host>D:\data\sample\test.txt /test/data 或者:simdisk copy <host>D:sample\test.txt /test/data (9) del …: 删除文件:删除指定文件,不存在时给出出错信息。 (10) check: 检测并恢复文件系统:对文件系统中的数据一致性进行检测,并自动根据文件系统的结构和信息进行数据再整理。 4. 程序的总体流程为: (1) 初始化文件目录; (2) 输出提示符,等待接受命令,分析键入的命令; (3) 对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。 设计二: 设计任务:模拟文件系统的前端操作shell 实现一个简单的shell(命令行解释器)。 将设计一的管理程序simdisk作为后台进程运行,利用本设计任务的shell操作simdisk。 本设计任务在于学会如何实现在前端的shell进程和后端的simdisk进程之间利用共享内存进行进程间通信(IPC)。 设计三: 设计任务:模拟文件系统的操作管理 实现多个进程同时对模拟文件系统进行操作。设计管理程序simdisk的用户访问权限管理。访问模拟文件系统的每个进程都属于某个用户,管理程序simdisk根据其访问权限决定其对模拟文件系统的操作。 对模拟文件系统的操作要求做到:共享读,互斥写。 本设计任务在于学会如何实现信息的安全管理和进程同步。 注:要求从课程设计的整体来考虑设计任务一、二、三,并分阶段实现。
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值