Skip to content

doubleZ0108/Operating-System

Repository files navigation

操作系统课程项目


项目说明

进程管理-电梯调度

  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
指导老师 王冬青老师
课程名称 操作系统
上课时间 周三/周五 上午一二节
联系方式 dbzdbz@tongji.edu.cn