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