Giter Club home page Giter Club logo

os_hands-on_projects's Introduction

操作系统实践项目

这些是我在学习操作系统课程时所完成的三个实践项目。

Project1 Elevator dispatching

📌本项目旨在设计和实现一个基于操作系统相关知识的电梯调度程序,用于模拟管理一个20层楼的5部互联电梯系统。该系统应当支持多线程机制,以便实现多电梯之间的协同工作。在程序中应当设计数字键、关门键、开门键、上行键、下行键、报警键等按键,并为每个电梯及楼层设置相应的上行和下行按钮以及数码显示器,以便用户对电梯进行操作。通过该程序,电梯系统可以实现智能调度,高效地响应用户需求,提高电梯运行效率和用户体验。该程序的设计和实现涉及操作系统相关的知识和技能,如线程调度、同步机制、互斥锁等,以保证系统的正确性、高效性和稳定性。

Project2

📌本项目旨在实现一个请求调页存储管理方式的模拟系统。通过模拟调页过程加深对FIFO(先进先出算法)以及LRU(最近最少使用页面淘汰算法)。

按照每个页面可存放10条指令的规则,给一个作业分配4个内存块,模拟了一个作业有320条指令的执行过程。开始时,所有的页面都未调入内存。随着作业的指令逐步执行,按需将页面调入内存中。

在模拟过程中,如果所访问指令在内存中,则显示其物理地址,并转到下一条指令;如果没有在内存中,则发生缺页,此时需要记录缺页次数,并将其调入内存。如果4个内存块中已装入作业,则需进行页面置换。所有320条指令执行完成后,计算并显示作业执行过程中发生的缺页率。

置换算法选用FIFO或者LRU算法。作业中指令访问次序可以按照下面原则形成:50%的指令是顺序执行的,25%是均匀分布在前地址部分,25%是均匀分布在后地址部分。

Project3

📌本项目旨在创建一个简单而可靠的文件管理系统,以满足基本的文件存储、管理和操作需求。通过在内存中开辟文件存储空间并采用链接结构(如FAT文件系统中的显式链接)进行管理,实现对文件的高效访问和组织。

项目涵盖了空闲空间管理、多级目录结构、文件系统的格式化功能,以及提供创建、打开、关闭、读写和删除文件等常见操作。用户可以轻松创建子目录、删除不需要的子目录、显示目录结构并更改当前目录,为文件的组织和管理提供便利。

此外,文件系统的内容会定期保存到磁盘上,以确保数据的持久性和安全性。该文件管理项目为用户提供了一个基础的文件管理工具,满足日常文件处理和组织的基本要求。

os_hands-on_projects's People

Contributors

wyxnick avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.