操作系统模拟实验

0 人学过

操作系统模拟实验

课程内容
共7个章节 7个实验
1 第1章 进程管理

进程管理

实验1 实验1:进程管理
1. 实验内容:
本实验将介绍操作系统进程的基本概念和特性。通过对原语的学习,编程实现进程的相关原语,体会一个进程从创建到消亡的生命周期。
2. 实验要点:
    理解进程的基本概念及它与程序的区别和联系;
    了解进程控制块(PCB)的一般属性和作用;
    理解原语的含义,掌握常用的进程控制原语;
    通过模拟实验深刻理解进程基本状态的转换过程。
3. 实验环境:
    Visual Studio Code
    GCC
4. 工作目录:
    /headless/Desktop/os/project1

2 第2章 进程调度

进程调度

实验1 实验2:进程调度
1. 实验内容:
    由于CPU资源的稀缺性,进程调度从本质上体现了对CPU资源的抢占。调度使同时执行多个程序成为可能,与此同时,合理的进程调度也使多用户共享CPU成为可能。因此,内核必须提供一种方法在考虑其优先级的前提下让各进程之间尽可能公平地共享CPU资源。本实验,你将学习并编程模拟实现各种常用的进程调度算法。
2. 实验要点:
    了解三级调度的基本概念;
    通过对先来先服务算法、时间片轮转算法和短作业优先算法的模拟实现掌握它们的工作原理。
3. 实验环境:
    Visual Studio Code
    GCC
4. 工作目录:
    /headless/Desktop/os/project2

3 第3章 分区存储管理

分区存储管理

实验1 实验3:分区存储管理
1. 实验内容:
    分区存储管理是把主存储器中的用户区作为一个连续区或分成若干个连续区进行管理,每个连续区中可装入一个作业或进程。多道程序系统一般都采用多个分区的存储管理方式,具体可分为固定分区和可变分区两种方式。本节实验你将重点学习几种常见的可变式分区存储管理算法并将其实现。
2. 实验要点:
    理解固定式分区及可变式分区两种存储管理模式,知道各自的优缺点;
    验证型实验需理解可变式分区方式的三种算法最先适应算法、最佳适应算法和最坏适应算法的工作原理,理解内存释放的具体实现过程;
    提高型实验需在提供的代码框架下根据提示自主编程实现2所述三种算法及内存释放过程。
3. 实验环境:
    Visual Studio Code
    GCC
4. 工作目录:
    /headless/Desktop/os/project3

4 第4章 段式存储管理

段式存储管理

实验1 实验4:段式存储管理
1. 实验内容:
    段式管理(segmentation),是指把一个程序分成若干个段(segment)进行存储,每个段都是一个逻辑实体(logical entity),程序员需要知道并使用它。它的产生是与程序的模块化直接有关的。段式管理是通过段表进行的,它包括段号或段名、段起点、装入位、段的长度等。此外还需要主存占用区域表、主存可用区域表。
2. 实验要点:
    了解段式存储的概念及实现原理。
    通过模拟实验深入体会段式存储段内地址到物理地址的转换关系。
3. 实验环境:
    Visual Studio Code
    GCC
4. 工作目录:
    /headless/Desktop/os/project4

5 第5章 请求分页式存储管理

请求分页式存储管理

实验1 实验5:请求分页式存储管理
1. 实验内容:
    请求分页存储管理是在基本分页以基本分页为基础实现,基本分页需要将所有信息全部转入内存,而请求分页在运行过程中动态调度页面。页式存储管理将各进程的虚拟空间划分成若干个长度相等的页(page),把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。通过本次实验,你将学习也是存储管理的基本原理,掌握几种常见的页面替换算法。
2. 实验要点:
    理解页式存储管理的基本原理;
    掌握集中常见的页面淘汰算法。
3. 实验环境:
    Visual Studio Code
    GCC
4. 工作目录:
    /headless/Desktop/os/project5/

6 第6章 设备管理

设备管理

实验1 实验6:设备管理
1. 实验内容:
    设备管理是指计算机系统对除CPU和内存以外的所有输入、输出设备的管理。通过本次实验,你将理解设备管理的概念和任务。在阅读理解并运行所给代码的基础上,掌握独占设备的分配、回收等主要算法的原理。
2. 实验要点:
    理解设备管理的概念和任务。
    掌握独占设备的分配、回收等主要算法的原理并编程实现。
3. 实验环境:
    Visual Studio Code
    GCC
4. 工作目录:
    /headless/Desktop/os/project6/

7 第7章 文件管理

文件管理

实验1 实验7:文件管理
1. 实验内容:
    计算机系统所用的大量程序和数据等信息,平时都以文件的形式存放在磁盘、磁带、光盘等外部存储器中,需要的时候可以随时装入内存。这些文件信息无论对系统还是对用户来说,都是非常重要的,因此,如何保证这些软资源存放时安全又高效、使用时方便又快捷,是操作系统中文件管理模块必须解决的问题。通过本次实验,你将学习操作系统文件管理机制,掌握磁盘块的分配算法和回收算法。此后需要你在模拟框架内补充相关代码、实现相关接口,实现一个小型文件系统。
2. 实验要点:
    了解文件系统的概念,熟悉文件系统的功能;
    通过模拟实验掌握文件系统对与文件的创建、删除、打开、关闭、读和写等基本操作进行处理的。
3. 实验环境:
    Visual Studio Code
    GCC
4. 工作目录:
    /headless/Desktop/os/project7/

操作系统模拟实验

共7个实验

参加本课程
模拟实验