当前位置:天才代写 > 作业代写,留学生作业代写-北美、澳洲、英国等靠谱代写 > 编程assignment代写 CIS 657代写

编程assignment代写 CIS 657代写

2021-07-28 17:48 星期三 所属: 作业代写,留学生作业代写-北美、澳洲、英国等靠谱代写 浏览:554

编程assignment代写

CIS 657 Programming Assignment 1

编程assignment代写 Create your document — readme (doc or pdf) including the disclosure form, screenshot(s) of your output, your solution code – Must be text

Submit two files: 编程assignment代写

  • Create your document — readme (doc or pdf) including the disclosure form, screenshot(s) of your output, your solution code – Must be text (image cannot be process with TurnItIn) —(filename including full path, and your own code (created or modified by you), not Nachos original code) with description (you need to explain your solution)  to the Turnitin link on the blackboard (under Assignments).编程assignment代写
    • All of your code must be well documented.
  • Do a “make clean” in code/build.linux, then compress your Nachos folder on the VM, download the compressed file into your local machine and name the compressed fileAss1_yourNetId.zip (Note: Zip only!!). Submit the zipped file to the Assignment Code Submission linkof Blackboard.

Due: Nov. 2 (Friday, end of the day)编程assignment代写

Late submission: you have total 72 hours throughout the semester.

Follow the Lab1 instruction and create a new fresh Nachos folder.

编程assignment代写
编程assignment代写

Overview 编程assignment代写

You are going to be adding multi-threading capabilities to Nachos. From the Unix point of view, Nachos is a process with user space threads. From the Nachos point of view, Nachos is an operating system that has processes without multi-threading. This assignment requires that you add multi-threading in Nachos as follows:

  1. Create a Process class
  2. Integrate the Process class with the Nachos Threads and System  编程assignment代写
  3. Change the scheduler

You need to make some extensions to the Nachos operating system.

Task 1 (20pts) : Create a new class called Process in files (process.cc|h). Put the class in the threads directory and make sure everything compiles. At a minimum the Process class will need only constructor, destructor and some setter/getter functions.编程assignment代写

  • Determine what the member variables of the Process class should be and which member variables, if and, need to be pulled out of the Thread class (Nachos existing class)
    • You need to explain why you decided the member variables in Process class
    • If you changed something in the Thread class, explain what you changed in both the Thread class and Process class

Task 2 (30pts):  编程assignment代写

Make your Nachos system run with processes. Create Process functions and Thread Fork function.

  • Process::Fork – Forks off a child process
  • Process::Terminate – Terminates the running process
  • Process::Join – Makes a parent process block until all of the listed child processes have terminated. (BONUS – 10 pts)
  • Thread::Fork – Forks off a new thread within this process. You can assume that this thread is a thread in user space. Change the existing Thread class.编程assignment代写

You may need to change other files to run your NEW processes and threads.

Task 3 (40pts): Processes now will be added a priority. The Process constructor takes a priority as a parameter. Each process will take the CPU according to its priority. In this assignment, priorities will be between 1 and 5, 5 being the highest.

  • Priority-based scheduling scheduler
    • For example, when two processes have the same priority, Process A has three user threads and Process B has one thread. All three threads of Process A must share the CPU time of Process A. The only one thread of Process B takes the CPU time for Process B.
    • What is your solution to schedule user threads in the same process?编程assignment代写
  • Add a Nachos flag -quantum xxxxthat sets how long the time quantum will be for each process.

Task 4 (10pts): Write your own threadtest.cc to prove your multi-threading implementation working correctly. Quality of your testing cases will be graded.

  • You need to create meaningful number of Processes and Threads in your testing routine.编程assignment代写
  • You need to display meaningful information to prove your multi-threading: Which process is running, which thread is running, Process Fork, Terminate and Join, and Thread Fork calls are made.

Testing: 编程assignment代写

We will build and run your Nachos on the VM. The TAs will create their own copy of threadtest.cc which will test your multi-threading. Make sure that your solutions are general and robust so they will not break.

编程assignment代写
编程assignment代写

其他代写:代写CS C++代写 java代写 r代写 金融经济统计代写 matlab代写 web代写 app代写 作业代写 物理代写 数学代写 考试助攻 CS代写

合作平台:essay代写 论文代写 写手招聘 英国留学生代写

 

天才代写-代写联系方式