2021级《操作系统课程设计》任务及评阅参考标准

本文概述了一门课程的任务要求,包括安装C语言开发环境、理解并使用Linux工具、实现简单Shell、Pintos项目中的线程管理、用户程序、文件系统和虚拟内存等内容,以及课程的考核方式,强调了工程化思维和实际操作能力的培养。
摘要由CSDN通过智能技术生成
  • 课程任务及要求

答案获取:https://laowangall.oss-cn-beijing.aliyuncs.com/studentall.pdf

注:pintos的分支有stanford的cs140, berkeley的cs162 PKU(约翰霍普金斯版)等,课程设计内容基于我们给定的code base进行修改并提交到指定网站

实验一 准备开发工具【Pintos Introduction:安装C语言开发环境、掌握git等网络工程工具的使用

主要任务:阅读和分析Linux下的gcc/make/gdb等开发工具的使用文档,在自己的机器上配置好C语言开发环境。安装好git客户端工具,注册gitlab账号,构建连续集成和连续交付(CI/CD)环境。

重点检查编码、调试、提交等环节的熟练程度。

实验二 简单Shell实现

主要任务:设计和实现一个模拟Bash 的shell实现,要求支持cd和pwd命令,支持程序执行、路径解析、输入/输出的重定向,信号(Signal)处理等功能。

答案获取:

https://laowangall.oss-cn-beijing.aliyuncs.com/studentall.pdf

实验三 Pintos线程管理【Pintos Project 1: Threads

主要任务:阅读分析Pintos源码,实现Thread部分的以下功能:

1、实现优先级调度

当一个线程被添加到具有比当前运行的线程更高优先级的就绪列表时,当前线程应该立即将处理器分给新线程中。类似地,当线程正在等待锁,信号量或条件变量时,应首先唤醒优先级最高的等待线程。线程应可以随时提高或降低自己的优先级,但降低其优先级而不再具有最高优先级时必须放弃CPU。

2、实现多级反馈调度

实现多级反馈队列调度程序,减少在系统上运行作业的平均响应时间。这里维持了64个队列, 每个队列对应一个优先级, 从PRI_MIN到PRI_MAX。通过一些公式计算来计算出线程当前的优先级, 系统调度的时候会从高优先级队列开始选择线程执行, 这里线程的优先级随着操作系统的运转数据而动态改变。

实验四 Pintos用户程序【Pintos Project 2: User Programs

主要任务:阅读分析Pintos源码,实现User Program部分的以下功能:

1、Argument Passing 参数传递

2、Process Control Syscalls 进程控制系统调用

3、File Operating Syscalls 文件操作系统调用

实验五 Pintos文件系统【Pintos Project 4: File Systems

主要任务:阅读分析Pintos源码,实现File Systems部分的以下功能:。

1、缓冲区cache管理;

2、目录的添加、删除、重命名;

3、文件和目录的拷贝

4、文件的读写操作

实验六 Pintos虚拟存储【Pintos Project 3: Virtual Memory

 鼓励优秀的同学挑战完成,可获取一定奖励分。

答案获取:https://laowangall.oss-cn-beijing.aliyuncs.com/studentall.pdf

二、课程考核

考核方式:考查。

重点考查学生运用工程化思想进行软/硬件系统解决方案构建和开发的能力。每个人独立为一组,程序及文档需按时提交在指定的线判题与检测网站,只有判题通过才可以在学习通上提交源码和实验报告源码和实验报告不能缺失,否则将列为不及格

1、系统演示成绩(50%,根据学生情况酌情给分)

(1)不及格(0-59):实验二简单Shell无法演示,基本功能没有完成,或者程序不能正常运行,或者有严重的抄袭现象。

(2)及格(60-69):实验二简单Shell的演示基本正确,基本功能全部完成,程序能够正常运行。

(3)中等(70-79):达到及格的要求,实验三Pintos线程管理演示基本正确,基本功能全部完成,程序能够正常运行。

(4)良好(80-89):达到中等的要求,实验四 Pintos用户程序演示基本正确,基本功能全部完成,程序能够正常运行。

(5)优秀(90-100):达到良好的要求,实验五 Pintos文件系统挑战实验六 Pintos虚拟存储,可获取一定奖励分。)的演示基本正确,基本功能全部完成,程序能够正常运行。

2、系统讲解成绩(10%,根据学生情况酌情给分)

(1)不及格(0-59):有关实验二简单Shell程序的讲解无条理,或不正确,或者有严重的抄袭现象。

(2)及格(60-69):有关实验二简单Shell程序的讲解有条有理,逻辑清晰,代码应用熟练。

(3)中等(70-79):达到及格的要求,有关实验三Pintos线程管理实现的数据结构和算法设计讲解清晰。

(4)良好(80-89):达到中等的要求,有关实验四 Pintos用户程序的数据结构和算法设计讲解清晰。

(5)优秀(90-100):达到良好的要求,有关实验五 Pintos文件系统挑战实验六 Pintos虚拟存储,可获取一定奖励分。)的数据结构和算法设计讲解清晰。

3、设计报告成绩(40%), 设计报告应详述设计方案、实验步骤,总结遇到的问题及解决方法,并分析所存在的问题,根据学生情况酌情给分。

(1)不及格(0-59):有关实验二简单Shell程序的数据结构描述不全面,算法设计混乱,或者有严重的抄袭现象。

(2)及格(60-69):有关实验二简单Shell程序的数据结构描述全面,算法设计合理。

(3)中等(70-79):达到及格的要求,有关实验三Pintos线程管理实现的数据结构描述全面,算法设计合理。

(4)良好(80-89):达到中等的要求,有关实验四 Pintos用户程序的数据结构描述全面,算法设计合理。

(5)优秀(90-100):达到良好的要求,有关实验五 Pintos文件系统挑战实验六 Pintos虚拟存储,可获取一定奖励分。)程序的数据结构描述全面,算法设计合理。

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值