ICS 143 Principles of Operating Systems

Slides:



Advertisements
Similar presentations
Scheduling Criteria CPU utilization – keep the CPU as busy as possible (from 0% to 100%) Throughput – # of processes that complete their execution per.
Advertisements

Topic : Process Management Lecture By: Rupinder Kaur Lecturer IT, SRS Govt. Polytechnic College for Girls,Ludhiana.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 17 Scheduling III.
Operating Systems Chapter 6
CPU Scheduling Algorithms
Project 1CS-3013 A-term Programming Project #1 Forking Processes Due Tuesday, September 8, 11:59 PM.
IntroductionCS-3013 C-term Programming Project #1 Forking Processes Due Thursday, January 24, 6:00 PM.
PHP and SQL Server: Queries IST2101. Project Report 4 SQL Queries Due Sunday, 4/5 at 11:59pm Instructions on how to access team webspace and SQL database.
2013 Computer Architecture Project MIPS Programming : Merge Sort ChangHyun Yun Room 236, Engineering Building.
CE Operating Systems Lecture 7 Threads & Introduction to CPU Scheduling.
OBJECTIVE: To learn about the various system calls. To perform the various CPU scheduling algorithms. To understand the concept of memory management schemes.
1 Project 2: Sorting Cats. Write a C++ console application to read a text file containing information about cats and output the information to the screen.
Process CPUArrival Time P P2 3 0 P3 3 0 The Gantt Chart for the schedule is: Waiting time for P1 = (7-7)=0; P2 = (0-0)=0; P3 = (3-0)
1 Project 4: Venue Sort. 2 This project is an exercise in Using C++ strings. Operator overloading. Text File Input.
Intro to CSC27I Software I : Utilities and Internals Pepper.
Process Scheduling In multiprogramming systems, when there is more than one ready process, the operating system must decide which one to activate. The.
CPU Scheduling Algorithms CSSE 332 Operating Systems Rose-Hulman Institute of Technology.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
ICS143a 2017 Programming Assignment
CPU SCHEDULING.
CPU Scheduling Algorithms
CPU scheduling 6. Schedulers, CPU Scheduling 6.1. Schedulers
Process Scheduling B.Ramamurthy 9/16/2018.
Scheduling (Priority Based)
Chapter 6: CPU Scheduling
Process management Information maintained by OS for process management
ICS 143 Principles of Operating Systems
ICS 143 Principles of Operating Systems
ICS 143 Principles of Operating Systems
ICS 143 Principles of Operating Systems
ICS Principles of Operating Systems
CPU Scheduling G.Anuradha
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Operating Systems Lecture 15.
Operating System Concepts
So far…. Firmware identifies hardware devices present
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter5: CPU Scheduling
COT 4600 Operating Systems Spring 2011
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
Outline Scheduling algorithms Multi-processor scheduling
Operating System Concepts
Exercise Ms.Reema alOraini
Chapter 5: CPU Scheduling
CGS 3763 Operating Systems Concepts Spring 2013
Chapter 5: CPU Scheduling
Lecture 2 Part 3 CPU Scheduling
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Process Scheduling B.Ramamurthy 4/19/2019.
CPU SCHEDULING SIMULATION
Shortest-Job-First (SJR) Scheduling
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Module 5: CPU Scheduling
Process Scheduling B.Ramamurthy 5/7/2019.
CPU SCHEDULING CPU SCHEDULING.
CPU Scheduling: Basic Concepts
Scheduling 21 May 2019.
Chapter 6: CPU Scheduling
CGS 3763 Operating Systems Concepts Spring 2013
CPU Scheduling.
CPU Scheduling: Basic Concepts
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Presentation transcript:

ICS 143 Principles of Operating Systems Discussion Section Week 6

Today Announcements Programming Assignment Mid-term Solutions 11/16/2018

Announcements Programming Assignment Homework #3: Out now on class website (Homework page) Due Wed, 10 June 2015, 11:55pm via EEE Dropbox Homework #3: (delayed) Out early next week 11/16/2018

Programming Assignment Follow project description on class website (Homework page): www.ics.uci.edu/~ics143/homework_files/programming_assignment.pdf Individual submission – everyone gets to code! It’s ok to discuss ideas, but everyone must submit their own code Goal is to implement different schedulers: First-Come, First-Served (FCFS) Shortest Remaining Time First (SRTF) Aka preemptive Shortest Job First (SJF) Extra credit: Proportional Share (PS) Pre-allocates certain amount of CPU time to each process Every job has a weight, and jobs receive a share proportional to the weight 11/16/2018

Programming Assignment (2) www.github.com/ekinoguz/ProcessSchedulers 11/16/2018

Programming Assignment (3) www.github.com/ekinoguz/ProcessSchedulers Scheduler.java: Abstract interface each scheduler has to follow FCFSScheduler.java: Skeleton class to implement FCFS scheduling SRTFScheduler.java: Skeleton class to implement SRTF scheduling PSScheduler.java: Skeleton class to implement PS scheduling Makefile: Instructions to compile your source code (Linux) Tester.java: Class used to test your code 11/16/2018

Programming Assignment (4) FCFSScheduler::schedule: Parse input file (file name given as inputFile string) Schedule jobs Write output file (file name given as outputFile string) /** * First-come-first-serve scheduler. */ public class FCFSScheduler implements Scheduler { @Override public void schedule(String inputFile, String outputFile) { // implement your scheduler here. // write the scheduler output to {@code outputFile} } 11/16/2018

Programming Assignment (5) Input: text file One incoming process per line <process-id> <arrival-time> <burst-time> <share> Output: text file One scheduled process per line <process-id> <finish-time> <wait-time> <turnaround-time> Last line: <average-wait-time> <average-turnaround-time> Submission: .zip package via EEE DropBox 11/16/2018

Programming Assignment (6) Black-box testing via grade.sh on Linux machine: Public tests and expected output provided Will test on public / private tests to make sure your code works Grading FCFS: 30 points SRTF: 50 points 1-Page Report: 20 points + 5 bonus points (PS) (Extra) PS: + 25 bonus points 11/16/2018

Programming Assignment (7) Black-box testing via grade.sh on Linux machine: Your responsibility to make sure that your code compiles and runs in Linux If you want, you can simulate our exact grading procedure: Get the exact same software environment: Download and install VirtualBox 4.3.26 for Linux Download and install Ubuntu 12.04.5 LTS inside VirtualBox Download and install openjdk-7-jdk Run the exact same script: Execute grade.sh Verify output and grade (Detailed instructions in programming_assignment.pdf) 11/16/2018

Programming Assignment (8) www.github.com/ekinoguz/ProcessSchedulers Opportunity to learn how to use git / GitHub: Instead of downloading .zip, fork the repo! Create your own branches, have a local/remote copy of your code progress You can contribute your own public tests: Fork & clone the repo Add some public tests Send a pull request 11/16/2018