Git Product home page Git Product logo

operating-system's Introduction

操作系统课程项目


项目说明

进程管理-电梯调度

  1. 每个电梯里面设置必要功能键:如数字键关门键开门键上行键下行键报警键、当前电梯的楼层数上升及下降状态等。
  2. 每层楼的每部电梯门口,应该有上行和下行按钮和当前电梯状态的数码显示器
  3. 五部电梯门口的按钮是互联结的,即当一个电梯按钮按下去时,其他电梯的相应按钮也就同时点亮,表示也按下去了。
  4. 所有电梯初始状态都在第一层。每个电梯如果在它的上层或者下层没有相应请求情况下,则应该在原地保持不动

image.png

image.png


内存管理

动态分区分配方式

假设初始态下,可用内存空间为640K,并有下列请求序列,请分别用首次适应算法和最佳适应算法进行内存块的分配和回收,并显示出每次分配和回收后的空闲分区链的情况来。

作业1申请130K
作业2申请 60K
作业3申请100k
作业2释放 60K
作业4申请200K
作业3释放100K
作业1释放130K
作业5申请140K
作业6申请 60K
作业7申请 50K
作业6释放 60K

image.png

image.png

请求分区分配方式

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

  • 所有320条指令执行完成后,计算并显示作业执行过程中发生的缺页率。

  • 置换算法可以选用FIFO或者LRU算法

  • 作业中指令访问次序可以按照下面原则形成:

    50%的指令是顺序执行的,25%是均匀分布在前地址部分,25%是均匀分布在后地址部分
    

image.png


文件管理-文件管理模拟系统

  • 文件存储空间管理可采取显式链接(如FAT)或者其他方法。(即自选一种方法)

  • 空闲空间管理可采用位图或者其他方法。如果采用了位图,可将位图和FAT表合二为一。

  • 文件目录采用多级目录结构。至于是否采用索引节点结构,自选。目录项目中应包含:文件名、物理地址、长度等信息。同学可在这里增加一些其他信息。

  • 文件系统提供的操作:

    • 格式化
    • 创建子目录
    • 删除子目录
    • 显示目录
    • 更改当前目录
    • 创建文件
    • 打开文件
    • 关闭文件
    • 写文件
    • 读文件
    • 删除文件

image.png

image.png


项目结构

项目结构树
├── README.md
├── this.md
├── 进程管理_电梯调度
│   ├── README.md
│   ├── Resources
│   │   ├── Button
│   │   │   ├── doordown.png
│   │   │   ├── doordown_hover.png
│   │   │   ├── doordown_pressed.png
│   │   │   ├── doorup.png
│   │   │   ├── doorup_hover.png
│   │   │   ├── doorup_pressed.png
│   │   │   ├── down.png
│   │   │   ├── down_hover.png
│   │   │   ├── down_pressed.png
│   │   │   ├── state.png
│   │   │   ├── state_down.png
│   │   │   ├── state_up.png
│   │   │   ├── up.png
│   │   │   ├── up_hover.png
│   │   │   └── up_pressed.png
│   │   ├── Figure
│   │   │   └── people.png
│   │   └── Icon
│   │       ├── elevator.ico
│   │       └── icon.png
│   ├── Src
│   │   ├── dispatch.py
│   │   ├── myElevator.py
│   │   └── myElevatorInterface.py
│   ├── 电梯调度_设计方案报告.md
│   └── 电梯调度_设计方案报告.pdf
├── 内存管理_动态分区分配方式
│   ├── README.md
│   ├── Resource
│   │   └── memory.png
│   ├── src
│   │   ├── Dynamic partition allocation.html
│   │   └── static
│   │       ├── css
│   │       │   ├── range.css
│   │       │   └── style.css
│   │       └── js
│   │           ├── RangeSlider.js
│   │           ├── clear.js
│   │           ├── nextAssingment.js
│   │           ├── randColor.js
│   │           └── select.js
│   ├── 动态分区分配方式模拟_设计方案报告.md
│   └── 动态分区分配方式模拟_设计方案报告.pdf
├── 内存管理_请求分区分配方式
│   ├── DemandPaging.exe
│   ├── README.md
│   ├── src
│   │   └── DemandPaging.cpp
│   ├── 请求分区分配方式模拟_设计方案报告.md
│   └── 请求分区分配方式模拟_设计方案报告.pdf
└── 文件管理_文件管理模拟系统
    ├── BitMapInfo.txt
    ├── CategoryInfo.txt
    ├── FileManageSystem.exe
    ├── FileManageSystem.exe.config
    ├── FileManageSystem.pdb
    ├── MyControl.dll
    ├── MyControl.pdb
    ├── MyDiskInfo.txt
    ├── README.md
    ├── Resources
    │   ├── file18.png
    │   ├── file25.png
    │   ├── fileopen48.ico
    │   ├── folder18.png
    │   ├── folder25.png
    │   └── icon
    │       ├── help.ico
    │       ├── icon.ico
    │       └── note.ico
    ├── src
    │   ├── Category.cs
    │   ├── FCB.cs
    │   ├── Form
    │   │   ├── HelpForm
    │   │   │   ├── HelpForm.Designer.cs
    │   │   │   ├── HelpForm.cs
    │   │   │   └── HelpForm.resx
    │   │   ├── MainForm
    │   │   │   ├── MainForm.Designer.cs
    │   │   │   ├── MainForm.cs
    │   │   │   └── MainForm.resx
    │   │   └── NoteForm
    │   │       ├── NoteForm.Designer.cs
    │   │       ├── NoteForm.cs
    │   │       └── NoteForm.resx
    │   ├── Program.cs
    │   └── VirtualDisk.cs
    ├── 工程文件整体(防丢失).rar
    ├── 文件管理系统_设计方案报告.md
    └── 文件管理系统_设计方案报告.pdf

关于作者

Name 张喆
学号 1754060
指导老师 王冬青老师
课程名称 操作系统
上课时间 周三/周五 上午一二节
联系方式 [email protected]

operating-system's People

Contributors

doublez0108 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.