Skip to content

xz1220/Testshell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

操作系统实验

设计和实现进程与资源管理,并完成Test shell的编写,本次版本使用的是go语言。

数据结构

进程描述: 结构体 PCB: pid: 进程名称 requsetResource: 进程所需求的资源 occupyResource: 进程占用的资源 parent:父亲进程 child:子进程 priority:进程优先级 nextPCB: 指向下一个PCB的指针

PCBlist: inithead:init链表的头节点指针 userhead:user链表的头节点指针 systemhead:system链表的头节点指针

就绪队列 READY_LIST: 结构体+单链表: 结构体成员表示优先级 0(init)、1(user),2(system) 每一个成员对应一个PCB 单链表

阻塞队列 BLOCK_LIST: 结构体+单链表: 同READY_LIST

剩余资源列表 available_list: map: R1: 剩余数目 R2:剩余数目 R3:剩余数目 R4:剩余数目

变量: 当前进程 currentPID

模块功能设计

进程创建和销毁模块:

功能: 1.定义PCB 2.创建进程 3.销毁进程 4.打印进程信息与资源信息

资源管理模块:

功能: 1.定义剩余资源列表 2.请求资源函数 3.释放资源函数

调度与时间片中断模块:

功能: 1.定义就绪队列以及阻塞队列 2.在多种情况下的调度函数

系统控制模块:

功能: 读取文件,执行相应指令

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages