{"id":13655152,"url":"https://github.com/doubleZ0108/Operating-System","last_synced_at":"2025-04-23T10:32:01.186Z","repository":{"id":109610138,"uuid":"191580099","full_name":"doubleZ0108/Operating-System","owner":"doubleZ0108","description":"Operating System | Tongji Univ. SSE Course Projects","archived":false,"fork":false,"pushed_at":"2021-05-10T08:38:02.000Z","size":5597,"stargazers_count":31,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-10T06:34:29.578Z","etag":null,"topics":["elevator-problem","file-system","memory-management","operating-system","process-management","tongji-university"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/doubleZ0108.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-06-12T13:48:28.000Z","updated_at":"2024-05-14T03:23:52.000Z","dependencies_parsed_at":"2023-03-27T21:18:45.663Z","dependency_job_id":null,"html_url":"https://github.com/doubleZ0108/Operating-System","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubleZ0108%2FOperating-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubleZ0108%2FOperating-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubleZ0108%2FOperating-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubleZ0108%2FOperating-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doubleZ0108","download_url":"https://codeload.github.com/doubleZ0108/Operating-System/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250416487,"owners_count":21426999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elevator-problem","file-system","memory-management","operating-system","process-management","tongji-university"],"created_at":"2024-08-02T03:00:58.707Z","updated_at":"2025-04-23T10:31:56.174Z","avatar_url":"https://github.com/doubleZ0108.png","language":"C#","funding_links":[],"categories":["目录"],"sub_categories":["操作系统"],"readme":"# 操作系统课程项目\n\n* [项目说明](#项目说明)\n   * [进程管理-电梯调度](#进程管理-电梯调度)\n   * [内存管理](#内存管理)\n      * [动态分区分配方式](#动态分区分配方式)\n      * [请求分区分配方式](#请求分区分配方式)\n   * [文件管理-文件管理模拟系统](#文件管理-文件管理模拟系统)\n* [项目结构](#项目结构)\n* [作者](#作者)\n\n------\n\n## 项目说明\n\n### 进程管理-电梯调度\n\n1. 每个电梯里面设置必要功能键：如**数字键**、**关门键**、**开门键**、**上行键**、**下行键**、**报警键**、当前电梯的**楼层数**、**上升及下降状态**等。\n2. 每层楼的每部电梯门口，应该有**上行和下行按钮**和当前**电梯状态的数码显示器**。\n3. 五部电梯门口的**按钮是互联结的**，即当一个电梯按钮按下去时，其他电梯的相应按钮也就同时点亮，表示也按下去了。\n4. 所有电梯初始状态都在第一层。每个电梯如果在它的上层或者下层没有相应请求情况下，则应该**在原地保持不动**。\n\n \u003cimg src=\"https://upload-images.jianshu.io/upload_images/12014150-9c8f6f1b7547b823.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240\" alt=\"image.png\" style=\"zoom:50%;\" /\u003e\n\n\u003cimg src=\"https://upload-images.jianshu.io/upload_images/12014150-3ee5d372211bfe25.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240\" alt=\"image.png\" style=\"zoom:50%;\" /\u003e\n\n\u003cbr/\u003e\n\n### 内存管理\n\n#### 动态分区分配方式\n\n假设初始态下，可用内存空间为640K，并有下列请求序列，请分别用首次适应算法和最佳适应算法进行内存块的分配和回收，并显示出每次分配和回收后的空闲分区链的情况来。\n\n| 作业1申请130K |\n| :-----------: |\n| 作业2申请 60K |\n| 作业3申请100k |\n| 作业2释放 60K |\n| 作业4申请200K |\n| 作业3释放100K |\n| 作业1释放130K |\n| 作业5申请140K |\n| 作业6申请 60K |\n| 作业7申请 50K |\n| 作业6释放 60K |\n\n\u003cimg src=\"https://upload-images.jianshu.io/upload_images/12014150-e9e2c23eb0309973.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240\" alt=\"image.png\" style=\"zoom:50%;\" /\u003e\n\n\u003cimg src=\"https://upload-images.jianshu.io/upload_images/12014150-0b336d12d32d0cd8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240\" alt=\"image.png\" style=\"zoom:50%;\" /\u003e\n\n#### 请求分区分配方式\n\n- 在模拟过程中，如果所访问指令在内存中，则显示其物理地址，并转到下一条指令；如果没有在内存中，则发生缺页，此时需要记录缺页次数，并将其调入内存。如果4个内存块中已装入作业，则需进行页面置换。\n\n- 所有320条指令执行完成后，计算并显示作业执行过程中发生的缺页率。\n\n- 置换算法可以选用FIFO或者LRU算法\n\n- 作业中指令访问次序可以按照下面原则形成：  \n\n      50%的指令是顺序执行的，25%是均匀分布在前地址部分，25％是均匀分布在后地址部分\n\n\u003cimg src=\"https://upload-images.jianshu.io/upload_images/12014150-1060f1b40ab787fc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240\" alt=\"image.png\" style=\"zoom:50%;\" /\u003e\n\n\u003cbr/\u003e\n\n### 文件管理-文件管理模拟系统\n\n- 文件存储空间管理可采取显式链接（如FAT）或者其他方法。（即自选一种方法）\n\n- 空闲空间管理可采用位图或者其他方法。如果采用了位图，可将位图和FAT表合二为一。\n\n- 文件目录采用多级目录结构。至于是否采用索引节点结构，自选。目录项目中应包含：文件名、物理地址、长度等信息。同学可在这里增加一些其他信息。\n\n- 文件系统提供的操作：\n\n  - 格式化\n  - 创建子目录\n  - 删除子目录\n  - 显示目录\n  - 更改当前目录\n  - 创建文件\n  - 打开文件\n  - 关闭文件\n  - 写文件\n  - 读文件\n  - 删除文件\n\n\u003cimg src=\"https://upload-images.jianshu.io/upload_images/12014150-f936ef8c2fb62a75.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240\" alt=\"image.png\" style=\"zoom:50%;\" /\u003e\n\n\u003cimg src=\"https://upload-images.jianshu.io/upload_images/12014150-c31f741e16c737a3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240\" alt=\"image.png\" style=\"zoom:50%;\" /\u003e\n\n\u003cbr/\u003e\n\n## 项目结构\n\n\u003cdetails\u003e\n\t\u003csummary\u003e项目结构树\u003c/summary\u003e\n\n```\n├── README.md\n├── this.md\n├── 进程管理_电梯调度\n│   ├── README.md\n│   ├── Resources\n│   │   ├── Button\n│   │   │   ├── doordown.png\n│   │   │   ├── doordown_hover.png\n│   │   │   ├── doordown_pressed.png\n│   │   │   ├── doorup.png\n│   │   │   ├── doorup_hover.png\n│   │   │   ├── doorup_pressed.png\n│   │   │   ├── down.png\n│   │   │   ├── down_hover.png\n│   │   │   ├── down_pressed.png\n│   │   │   ├── state.png\n│   │   │   ├── state_down.png\n│   │   │   ├── state_up.png\n│   │   │   ├── up.png\n│   │   │   ├── up_hover.png\n│   │   │   └── up_pressed.png\n│   │   ├── Figure\n│   │   │   └── people.png\n│   │   └── Icon\n│   │       ├── elevator.ico\n│   │       └── icon.png\n│   ├── Src\n│   │   ├── dispatch.py\n│   │   ├── myElevator.py\n│   │   └── myElevatorInterface.py\n│   ├── 电梯调度_设计方案报告.md\n│   └── 电梯调度_设计方案报告.pdf\n├── 内存管理_动态分区分配方式\n│   ├── README.md\n│   ├── Resource\n│   │   └── memory.png\n│   ├── src\n│   │   ├── Dynamic partition allocation.html\n│   │   └── static\n│   │       ├── css\n│   │       │   ├── range.css\n│   │       │   └── style.css\n│   │       └── js\n│   │           ├── RangeSlider.js\n│   │           ├── clear.js\n│   │           ├── nextAssingment.js\n│   │           ├── randColor.js\n│   │           └── select.js\n│   ├── 动态分区分配方式模拟_设计方案报告.md\n│   └── 动态分区分配方式模拟_设计方案报告.pdf\n├── 内存管理_请求分区分配方式\n│   ├── DemandPaging.exe\n│   ├── README.md\n│   ├── src\n│   │   └── DemandPaging.cpp\n│   ├── 请求分区分配方式模拟_设计方案报告.md\n│   └── 请求分区分配方式模拟_设计方案报告.pdf\n└── 文件管理_文件管理模拟系统\n    ├── BitMapInfo.txt\n    ├── CategoryInfo.txt\n    ├── FileManageSystem.exe\n    ├── FileManageSystem.exe.config\n    ├── FileManageSystem.pdb\n    ├── MyControl.dll\n    ├── MyControl.pdb\n    ├── MyDiskInfo.txt\n    ├── README.md\n    ├── Resources\n    │   ├── file18.png\n    │   ├── file25.png\n    │   ├── fileopen48.ico\n    │   ├── folder18.png\n    │   ├── folder25.png\n    │   └── icon\n    │       ├── help.ico\n    │       ├── icon.ico\n    │       └── note.ico\n    ├── src\n    │   ├── Category.cs\n    │   ├── FCB.cs\n    │   ├── Form\n    │   │   ├── HelpForm\n    │   │   │   ├── HelpForm.Designer.cs\n    │   │   │   ├── HelpForm.cs\n    │   │   │   └── HelpForm.resx\n    │   │   ├── MainForm\n    │   │   │   ├── MainForm.Designer.cs\n    │   │   │   ├── MainForm.cs\n    │   │   │   └── MainForm.resx\n    │   │   └── NoteForm\n    │   │       ├── NoteForm.Designer.cs\n    │   │       ├── NoteForm.cs\n    │   │       └── NoteForm.resx\n    │   ├── Program.cs\n    │   └── VirtualDisk.cs\n    ├── 工程文件整体(防丢失).rar\n    ├── 文件管理系统_设计方案报告.md\n    └── 文件管理系统_设计方案报告.pdf\n```\n\u003c/details\u003e\n\n\u003cbr/\u003e\n\n## 关于作者\n\n| Name     | 张喆                                                |\n| -------- | --------------------------------------------------- |\n| 学号     | 1754060                                             |\n| 指导老师 | 王冬青老师                                          |\n| 课程名称 | 操作系统                                          |\n| 上课时间 | 周三/周五 上午一二节                                |\n| 联系方式 | [dbzdbz@tongji.edu.cn](mailto:dbzdbz@tongji.edu.cn) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FdoubleZ0108%2FOperating-System","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FdoubleZ0108%2FOperating-System","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FdoubleZ0108%2FOperating-System/lists"}