这些是我在学习操作系统课程时所完成的三个实践项目。
📌本项目旨在设计和实现一个基于操作系统相关知识的电梯调度程序,用于模拟管理一个20层楼的5部互联电梯系统。该系统应当支持多线程机制,以便实现多电梯之间的协同工作。在程序中应当设计数字键、关门键、开门键、上行键、下行键、报警键等按键,并为每个电梯及楼层设置相应的上行和下行按钮以及数码显示器,以便用户对电梯进行操作。通过该程序,电梯系统可以实现智能调度,高效地响应用户需求,提高电梯运行效率和用户体验。该程序的设计和实现涉及操作系统相关的知识和技能,如线程调度、同步机制、互斥锁等,以保证系统的正确性、高效性和稳定性。
📌本项目旨在实现一个请求调页存储管理方式的模拟系统。通过模拟调页过程加深对FIFO(先进先出算法)以及LRU(最近最少使用页面淘汰算法)。
按照每个页面可存放10条指令的规则,给一个作业分配4个内存块,模拟了一个作业有320条指令的执行过程。开始时,所有的页面都未调入内存。随着作业的指令逐步执行,按需将页面调入内存中。
在模拟过程中,如果所访问指令在内存中,则显示其物理地址,并转到下一条指令;如果没有在内存中,则发生缺页,此时需要记录缺页次数,并将其调入内存。如果4个内存块中已装入作业,则需进行页面置换。所有320条指令执行完成后,计算并显示作业执行过程中发生的缺页率。
置换算法选用FIFO或者LRU算法。作业中指令访问次序可以按照下面原则形成:50%的指令是顺序执行的,25%是均匀分布在前地址部分,25%是均匀分布在后地址部分。
📌本项目旨在创建一个简单而可靠的文件管理系统,以满足基本的文件存储、管理和操作需求。通过在内存中开辟文件存储空间并采用链接结构(如FAT文件系统中的显式链接)进行管理,实现对文件的高效访问和组织。
项目涵盖了空闲空间管理、多级目录结构、文件系统的格式化功能,以及提供创建、打开、关闭、读写和删除文件等常见操作。用户可以轻松创建子目录、删除不需要的子目录、显示目录结构并更改当前目录,为文件的组织和管理提供便利。
此外,文件系统的内容会定期保存到磁盘上,以确保数据的持久性和安全性。该文件管理项目为用户提供了一个基础的文件管理工具,满足日常文件处理和组织的基本要求。