Find Jobs
Hire Freelancers

C++

$30-5000 USD

已关闭
已发布超过 22 年前

$30-5000 USD

货到付款
Develop a small operating system. Write a simple OS skeleton program, to which we will eventually add more and more complex functionality. Read the info about a number processes from a file, and stores it in a queue of Process Control Blocks (PCBs). For each process, the information includes: process name; process (external) priority CPU burst length The name, priority and burst length of each process will be stored on a separate line in a file called "[login to view URL]" available for downloading from the Q: drive under directory Ivanov. Beside the above file-related information, each PCB object must also include a status variable, and a process ID number (pid) variable. The PCB queue must use a linked list implementation. Declare a class Queue in a header file "queue.h". Include this header file in your OS skeleton program. Project 2 Reads information about a number of processes from the file "[login to view URL]" available on the Q: drive from directory Ivanov. The information about each process includes the following: process name; process priority arrival time CPU burst length The process name is a string, the priority - an unsigned integer. The arrival time is measured in ms from the first power-on of the computer system, which is assumed to be at time 0. Thus, you can model the arrival time as a variable of time unsigned int The CPU burst length specifies the amount of time (in ms) that a process needs the CPU for. Here is a sample: p1 (Process Name) 15 (Priority) 1500 (Arrival time, i.e. arrived 1500 ms after the initial system boot-up) 300 (CPU Burst Length) For each process, store the information in an object of type PCB. In addition to the above information, the PCB must also contain an (unsigned int) field for the process id (pid). This must be automatically assigned (say by the class constructor) when the new PCB is created. The pid should be unique, i.e. different from the pids of all other processes currently in the system. Finally, a char variable should be used to store the process state - initially set by the PCB constructor to 'n' ("new"). In addition you will require three linked lists: · · New_Proc_List - stores all newly created PCBs (when read from the file) · · Ready_Q - Stores PCBs which are ready to be scheduled on the CPU · · Terminated_Q - Stores the PCBs of all terminate processes, i.e. processes, which have finished using the CPU. ## Deliverables Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased.
项目 ID: 2831523

关于此项目

4提案
远程项目
活跃22 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作
4威客以平均价$173 USD来参与此工作竞价
用户头像
See private message.
$29.75 USD 在14天之内
5.0 (43条评论)
4.8
4.8
用户头像
See private message.
$68 USD 在14天之内
4.6 (60条评论)
4.5
4.5
用户头像
See private message.
$84.15 USD 在14天之内
4.5 (33条评论)
4.2
4.2
用户头像
See private message.
$510 USD 在14天之内
4.4 (12条评论)
3.5
3.5

关于客户

UNITED STATES的国旗
United States
0.0
0
会员自11月 14, 2001起

客户认证

这个客户的其他工作

Operating System C++
$30-5000 USD
谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。