$25
Project Specifications: Data Structures and Functions
• Design and implement the extended version of the manager, including:
• PCB, RCB, and RL data structures
• functions create(), destroy(), request(), release(), timeout(), scheduler(), init()
• Design and implement the shell (see command language and output specifications)
• Instantiate manager to include the following at start-up:
• A process descriptor array PCB[16]
• A resource descriptor array RCB[4] with multiunit resources
• RCB[0] and RCB[1] have 1 unit each; RCB[2] has 2 units; RCB[3] has 3 units
• A 3-level RL
• The init function should always perform the following tasks:
• Erase all previous contents of the data structures PCB, RCB, RL
• Create a single running process at PCB[0] with priority 0
• Enter the process into the RL at the lowest-priority level 0