电子科技大学---操作系统课程实验(一)

本文是电子科技大学操作系统课程实验介绍,主要涉及进程管理、资源管理、Test shell设计,包括进程创建、调度、资源分配等功能。实验要求学生掌握操作系统原理,实现进程与资源管理器,并编写Test shell来调度内核功能。

 电子科技大学—操作系统课程实验(一)

系统化思维模式下计算机操作系统进程与资源管理设计

1.实验目的:

设计和实现进程与资源管理,并完成Test shell的编写,以建立系统的进程管理、调度、资源管理和分配的知识体系,从而加深对操作系统进程调度和资源管理功能的宏观理解和微观实现技术的掌握。

2.实验内容:

在实验室提供的软硬件环境中,设计并实现一个基本的进程与资源管理器。该管理器能够完成进程的控制,如进程创建与撤销、进程的状态转换;能够基于优先级调度算法完成进程的调度,模拟时钟中断,在同优先级进程中采用时间片轮转调度算法进行调度;能够完成资源的分配与释放,并完成进程之间的同步。该管理器同时也能完成从用户终端或者指定文件读取用户命令,通过Test shell模块完成对用户命令的解释,将用户命令转化为对进程与资源控制的具体操作,并将执行结果输出到终端或指定文件中。

3.实验环境:

设计平台和语言不限,平台可为Linux或Windows, 语言可为C,C++,Java等。

4.实验要求:

要求学生熟悉掌握计算机操作系统进程管理和资源管理的基本原理和关键技术,包含进程控制、进程调度、进程同步及资源管理,在此基础上设计和实现进程和资源管理器。具体步骤包括:了解功能需求、完成系统总统设计、相关的数据结构定义和具体函数设计。
同时要求设计与实现驱动程序(test shell):驱动该管理器工作,即将命令语言(即用户要求)转换成对与内核函数(如create, request等)的调用。

5.实验过程:

5.1总体设计

系统总体架构如图1所示,最右边部分为进程与资源管理器,属于操作系统内核的功能。该管理器具有如下功能:完成进程创建、撤销和进程调度;完成多单元 (multi_unit)资源的管理;完成资源的申请和释放;完成错误检测和定时器中断功能。

这里写图片描述
图1 系统总体结构
图1中间绿色部分为驱动程序test shell, 设计与实现test shell,该test shell将调度所设计的进程与资源管理器来完成测试。Test shell的应具有的功能:
-从终端或者测试文件读取命令;
-将用户需求转换成调度内核函数(即调度进程和资源管理器);
-在终端或输出文件中显示结果:如当前运行的进程、错误信息等。

图1最左端部分为:通过终端(如键盘输入)或者测试文件来给出相应的用户命令,以及模拟硬件引起的中断

5.2Test shell设计


Test_shell的功能如4.1所述,代码示例如图1中绿色部分。
Test shell要求完成的命令(Mandatory Commands)
-init
-cr (=1 or 2) // create process
-de // delete process
-req <# of units> // request resource
-rel <# of units> // release resource
-to // time out

可选实现的命令
-list all processes and their status
-list all resources and their status
-provide information about a given process

Test shell 输出示例:
* Process init is running //the running process create new process
* ….
shell> cr A 1 // this command is from terminal and indicates creating process A with priority 1.Test shell will invoke kernel function: create
* Process A is running //display
shell> cr B 2 // A create process B with priority 2
* Process B is running
shell> cr C 1 // B create process C with priority 1, C is at the end of ready list
* Process B is running //Because C’s priority is lower than B’s

5.3 进程管理设计

5.3.1 进程状态与操作
进程状态: ready/running/blocked
进程操作:
 创建(create): (none) -> ready
 撤销(destroy): running/ready/blocked -> (none)
 请求资源(Request): running -> blocked (当资源没有时,进程阻塞)
 释放资源(Release): blocked -> ready (因申请资源而阻塞的进程被唤醒)
 时钟中断(Time_out): running -> ready
 调度:ready -> running / running ->ready

5.3.2 进程控制块结构(PCB)
• PID(name)
• CPU state — not used
• Memory — not used
• Open_Files — not used
• Other_resources //: resource which is o

<think>嗯,用户需要查找电子科技大学操作系统课程的复习资料或重点。这看起来像是为了期末考试而准备的。我需要根据用户提供的站内引用信息和历史讨论来提供针对性的帮助。从引用[2]可以看出电子科技大学计算机专业使用过Flynn分类法这样的系统结构知识,而且明确提到了多处理器系统相关内容。同时引用[1]中山东科技大学的案例显示不同学校的重点可能差异很大——他们第章只考了微内核。这说明直接照搬其他学校的复习资料可能不太合适。用户之前的问题和我的回复历史里讨论过进程管理、内存管理这些核心章节。根据计算机专业的普遍教学规律,操作系统课程的核心通常集中在:进程管理(进程线程状态、调度算法、同步互斥)内存管理(分页分段、页面置换)文件系统(存储结构、磁盘调度)这些应该作为基础复习重点。考虑到电子科技大学是985高校,课程难度可能较高。特别是引用[2]提到MIMD多处理器系统,这可能暗示该校会涉及现代操作系统的并发控制、分布式系统等内容。建议用户特别关注同步互斥的经典问题(哲学家就餐等)和分布式锁机制。需要提醒用户三个关键渠道:课程群资料(老师常在此发布提纲)、往届考题(最能反映真实考点)、实验项目回顾(电子科大重视实践能力)。最后建议结合王道考研书进行系统复习,因为其知识框架完整又紧扣考研重点,适合查漏补缺。</think> 以下是针对电子科技大学**操作系统**课程的复习建议资源整合,结合多校通用重点和计算机专业核心考点: --- ### **、核心复习章节**(根据计算机专业普适性重点排序) 1. **进程管理** - 进程状态转换图(就绪/运行/阻塞) - 进程同步:互斥锁、信号量(生产者-消费者、读者-写者问题) - 进程调度算法:FCFS、SJF、优先级调度、轮转调度、多级反馈队列 - 死锁:必要条件、银行家算法、死锁检测恢复 2. **内存管理** - 连续分配:首次适应算法 - 非连续分配:分页/分段机制(页表结构、TLB原理) - 虚拟内存:页面置换算法(OPT、FIFO、LRU、Clock) - 内存抖动工作集模型 3. **文件系统** - 文件分配方式:连续/链式/索引 - 目录结构:树形目录、硬链接软链接 - 磁盘调度算法:SCAN、C-SCAN、LOOK - RAID技术原理(重点RAID 0/1/5) 4. **I/O系统** - I/O控制方式:轮询、中断、DMA - Spooling技术原理 5. **操作系统结构**(可能考概念) - 微内核 vs 宏内核设计差异(参考引用[1][^1]中提到的考点) --- ### **二、电子科大特色关注点**(据引用[2][^2]推测) 1. **多处理器系统**:同步机制在MIMD架构的应用(如自旋锁、屏障同步) 2. **并发模型**:异步/确定性调度(结合分布式系统延伸) 3. **性能优化**:Cache致性协议(MESI)、NUMA架构的影响 --- ### **三、高效复习建议** 1. **官方资源优先** - 查看课程平台(如Canvas/Blackboard)发布的**实验指导书**和**历年期末试卷** - 关注老师最后节课划定的范围(通常占分70%以上) 2. **重点题库推荐** - ✅ **《王道考研操作系统》习题集**(引用[1][^1]推荐) 覆盖90%核心考点,解析透彻(如PV操作大题解题模板) - 电子科大校内往年题(重点做近3年,题型重复率高) 3. **实验环节复盘** - 回顾实验项目:如实现信号量、文件系统模拟、页面置换算法仿真 - 重点理解实验报告中的设计思路(常考简答题) --- ### **四、避坑提醒** 1. 避免过度投入第章概念(如操作系统定义/发展史),分值通常<10% 2. 微内核考点需掌握**模块化设计优势**(扩展性/安全性)和**进程通信代价**(引用[1][^1]重点) 3. 刷题时注意区分Linux/Windows机制差异(电子科大教学多基于Linux) > 📚 **资源获取建议**: > 加入**电子科大计算机学院课程群**(QQ/微信群),学长常在群内分享真题合集; > 图书馆4楼「计算机类教材专区」可借阅《操作系统概念》《现代操作系统》补充案例。 --- ### 相关问题 1. 如何高效准备操作系统实验考试部分? 2. 在分布式系统中操作系统的设计有哪些不同? 3. 能否具体解释银行家算法在避免死锁中的实际应用? 4. 电子科技大学操作系统课程通常包含哪些实践项目? [^1]: 山东科技大学期末复习建议 [^2]: 电子科技大学系统结构笔记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值