143a, Spring 2018 Discussion Week 4 Programming Assignment. Jia Chen 27 Apr 2018

Size: px
Start display at page:

Download "143a, Spring 2018 Discussion Week 4 Programming Assignment. Jia Chen 27 Apr 2018"

Transcription

1 143a, Spring 2018 Discussion Week 4 Programming Assignment Jia Chen 27 Apr 2018

2 Annoucements HW2 posted due Friday, May 4, 2018, 11:55 PM Programming Assignment posted due Friday, Jun 1, 2018, 11:55 PM (week 9) Midterm May 9, 2018 Sample midterm will be posted later

3 Setting up Linux environment

4 Setting up Linux environment For ICS OpenLab users, everything has been installed For Ubuntu or other Linux distribution users (Ubuntu in virtual machine is okay) sudo apt-get update sudo apt-get install -y unzip sudo apt-get install -y zip sudo apt-get install -y ruby and install Java 8: For Mac users, only thing missing is Java 8, install it following

5 Setting up Linux environment For Windows 10 users, If you have issues during installation, try install the latest windows update ( Check for update from Start menu) first. (1) install Windows subsystem for Ubuntu, (2) Run commands (in Bash on Ubuntu on Windows ): sudo apt-get sudo apt-get sudo apt-get sudo apt-get And then follow update install -y unzip install -y zip install -y ruby to install java 8.

6 Verifying your installation It is fine if the versions of your tools are different from the ones shown here If terminal complains any one of them is not installed, check the previous slides to install them.

7 Getting familiar with the code base

8 1. Download the project files (use browser or wget command) 2. Navigate to the folder in terminal For Windows users, you should use Bash on Ubuntu on Windows terminal, and if e.g., the files are at e:/143a/pa, you should use command cd /mnt/e/143a/pa 3. Unzip student.zip

9 4. Compile the code 5. Try simu.sh (You should get output similar as below)

10 If terminal complains Permission denied, use command chmod +x *.sh

11 5 mins to try this out Checklist 1. Download.zip files 2. Navigate to the folder (cd xx/xxxx) 3. Unzip the.zip file (unzip student.zip) 4. Compile the code cd student/scheduler make 5.chmod +x *.sh 6. Run simu.sh (./simu.sh samples/sample_1.jobs.txt Random)

12 Write your code

13 The files you should modify First-come first-served (FCFSSChedulingAlgorithm.java) Shortest job first (SJFSchedulingAlgorithm.java) Single-queue priority (PrioritySchedulingAlgorithm.java) Round Robin (RoundRobinSchedulingAlgorithm.java) Note : Don t modify other files, or add any new file

14 What you should do is similar as RandomScheduling

15

16 The method isjobfinished and variable activejob help keeping track of the currently running job and determining whether to preempt it or not

17 Process.java provides all the properties you will need to schedule the CPU

18 First-come first-served (FCFSSchedulingAlgorithm.java) If there is a tie, use PID as the tie-breaker Shortest job first (SJFSchedulingAlgorithm.java) Run the job with the shortest remaining time first If there is a tie, use PID as the tie-breaker Single-queue priority (PrioritySchedulingAlgorithm.java) Run the job with the highest priority first If there is a tie, use PID as the tie-breaker Implement the OptionallyPreemptiveSchedulingAlgorithm interface Preempt currently running process only if it is set to be preemptive

19 Round Robin (RoundRobinSchedulingAlgorithm.java) Maintain state between each call to getnextjob(int currenttime) Default time quantum is 20, but may use different value for grading Don t modify the getting/setting methods in skeleton code More details in project description The simplest way to implement it is to always maintain a sorted list, and when a job finishes (isjobfinished returns true), find smallest PID which is bigger than the current one (if no bigger one, return the smallest one in the list) For example, if you have list [ ], and active job is 103, and it just finishes, then you may just iterate the list, and find the smallest one which is bigger than 103, then you get 104, which is the next job you should run.

20 Make a correct submission

21 1. Navigate to student folder 2. Run submit script 3. After that, there should be a new file submission.zip, rename it by your student id.

22 Grade your submission

23 Note: The grading can also be done on your local Linux environment, and the steps are exactly the same (just skip step 1-4). 1. If you don t have ICS OpenLab account yet, get one following this link 2. Use ssh to log on It would look like

24 3. Create a folder on OpenLab 4. Open a new terminal, and transfer the local files to OpenLab.

25 5. Switch to the terminal which logged onto OpenLab, and check if the files are there 6. unzip grader.zip, and move your submission file into grader folder

26 7. Run run.sh if you get Target directory already exists error

27 8. Run grade.sh 5 points left for submitting your file on Canvas with correct name (should be your student id) and correct format (.zip)

28 If some test cases fail, how to locate them? test cases expected output your output diff tools might help

29 5 mins to try this out 1. Navigate to student folder 2. Run submit.sh./submit.sh submission.zip should be generated 3. Rename submission.zip : mv submission.zip zip 4. Navigate to parent folder and unzip grader.zip cd.. unzip grader.zip new folder grader 5. Copy zip to grader folder cp student/ zip grader/ 6. Navigate to grader folder 7. Grant permission to scripts 8../run.sh zip 9. /grade.sh s_ chmod +x *.sh Today we just try this on your local machine, you should do the same thing on OpenLab before submission, to make sure everything is correct

143a, Spring 2018 Discussion Week 4 Programming Assignment. Jia Chen 27 Apr 2018

143a, Spring 2018 Discussion Week 4 Programming Assignment. Jia Chen 27 Apr 2018 143a, Spring 2018 Discussion Week 4 Programming Assignment Jia Chen 27 Apr 2018 Setting up Linux environment Setting up Linux environment For Ubuntu or other Linux distribution users sudo apt-get update

More information

Programming Assignment HW5: CPU Scheduling draft v04/02/18 4 PM Deadline April 7th, 2018, 5 PM. Late deadline with penalty April 9th, 2018, 5 PM

Programming Assignment HW5: CPU Scheduling draft v04/02/18 4 PM Deadline April 7th, 2018, 5 PM. Late deadline with penalty April 9th, 2018, 5 PM Programming Assignment HW5: CPU Scheduling draft v04/02/18 4 PM Deadline April 7th, 2018, 5 PM. Late deadline with penalty April 9th, 2018, 5 PM Purpose: The objective of this assignment is to become familiar

More information

Programming Assignment HW4: CPU Scheduling v03/17/19 6 PM Deadline March 28th, 2019, 8 PM. Late deadline with penalty March 29th, 2019, 8 PM

Programming Assignment HW4: CPU Scheduling v03/17/19 6 PM Deadline March 28th, 2019, 8 PM. Late deadline with penalty March 29th, 2019, 8 PM CS 370: OPERATING SYSTEMS SPRING 2019 Department of Computer Science URL: http://www.cs.colostate.edu/~cs370 Colorado State University INSTRUCTOR: Yashwant Malaiya Programming Assignment HW4: CPU Scheduling

More information

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 2 (document version 1.4) CPU Scheduling Algorithms

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 2 (document version 1.4) CPU Scheduling Algorithms CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 2 (document version 14) CPU Scheduling Algorithms Overview This project is due by 11:59:59 PM on Monday, October 5, 2015 Projects

More information

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework Overview This project is due by 11:59:59 PM on Thursday, October 20, 2016.

More information

EE516: Embedded Software Project 1. Setting Up Environment for Projects

EE516: Embedded Software Project 1. Setting Up Environment for Projects EE516: Embedded Software Project 1. Setting Up Environment for Projects By Dong Jae Shin 2015. 09. 01. Contents Introduction to Projects of EE516 Tasks Setting Up Environment Virtual Machine Environment

More information

EECE.4810/EECE.5730: Operating Systems Spring 2018 Programming Project 3 Due 11:59 PM, Wednesday, 4/18/18 Monday, 4/30/18

EECE.4810/EECE.5730: Operating Systems Spring 2018 Programming Project 3 Due 11:59 PM, Wednesday, 4/18/18 Monday, 4/30/18 Spring 2018 Programming Project 3 Due 11:59 PM, Wednesday, 4/18/18 Monday, 4/30/18 1. Introduction This project uses simulation to explore the effectiveness of the different scheduling algorithms described

More information

Intro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab

Intro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab Basic Terminal Intro to Linux ssh short for s ecure sh ell usage: ssh [host]@[computer].[otheripstuff] for lab computers: ssh [CSID]@[comp].cs.utexas.edu can get a list of active computers from the UTCS

More information

Working with Basic Linux. Daniel Balagué

Working with Basic Linux. Daniel Balagué Working with Basic Linux Daniel Balagué How Linux Works? Everything in Linux is either a file or a process. A process is an executing program identified with a PID number. It runs in short or long duration

More information

CMSC 201 Spring 2017 Lab 01 Hello World

CMSC 201 Spring 2017 Lab 01 Hello World CMSC 201 Spring 2017 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 5th by 8:59:59 PM Value: 10 points At UMBC, our General Lab (GL) system is designed to grant students the

More information

CMSC 201 Spring 2018 Lab 01 Hello World

CMSC 201 Spring 2018 Lab 01 Hello World CMSC 201 Spring 2018 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 4th by 8:59:59 PM Value: 10 points At UMBC, the GL system is designed to grant students the privileges

More information

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems Processes CS 475, Spring 2018 Concurrent & Distributed Systems Review: Abstractions 2 Review: Concurrency & Parallelism 4 different things: T1 T2 T3 T4 Concurrency: (1 processor) Time T1 T2 T3 T4 T1 T1

More information

Com S 227 Assignment Submission HOWTO

Com S 227 Assignment Submission HOWTO Com S 227 Assignment Submission HOWTO This document provides detailed instructions on: 1. How to submit an assignment via Canvas and check it 3. How to examine the contents of a zip file 3. How to create

More information

CS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001.

CS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001. CS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001. 23:59:59 PM Design and implement a program that simulates some of the job scheduling,

More information

1.1 CPU I/O Burst Cycle

1.1 CPU I/O Burst Cycle PROCESS SCHEDULING ALGORITHMS As discussed earlier, in multiprogramming systems, there are many processes in the memory simultaneously. In these systems there may be one or more processors (CPUs) but the

More information

CSC 101 Spring 2010 Lab #8 Report Gradesheet

CSC 101 Spring 2010 Lab #8 Report Gradesheet CSC 101 Spring 2010 Lab #8 Report Gradesheet Name WFU Username Lab Section: A B C D Partner s Name (if you had one): Topic Points Notes Pre-lab questions 20 total - 5 at 4 points each Lab report questions

More information

CSSE 340 Operating Systems Project 2: CPU Scheduling Simulator

CSSE 340 Operating Systems Project 2: CPU Scheduling Simulator CSSE 340 Operating Systems Project 2: CPU Scheduling Simulator 1. Project Objectives: This programming project is to simulate a few CPU scheduling policies discussed in the class. You will write a C/C++

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

Project 2: CPU Scheduling Simulator

Project 2: CPU Scheduling Simulator Project 2: CPU Scheduling Simulator CSCI 442, Spring 2017 Assigned Date: March 2, 2017 Intermediate Deliverable 1 Due: March 10, 2017 @ 11:59pm Intermediate Deliverable 2 Due: March 24, 2017 @ 11:59pm

More information

MARKING CANVAS ASSIGNMENTS OFFLINE (INCLUDING MARKING ANONYMOUSLY)

MARKING CANVAS ASSIGNMENTS OFFLINE (INCLUDING MARKING ANONYMOUSLY) LEARNING TECHNOLOGY AT LJMU MARKING CANVAS ASSIGNMENTS OFFLINE (INCLUDING MARKING ANONYMOUSLY) Information about Downloading Student Submissions If you want to download all student submissions for an assignment,

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples Java Thread Scheduling

More information

Process behavior. Categories of scheduling algorithms.

Process behavior. Categories of scheduling algorithms. Week 5 When a computer is multiprogrammed, it frequently has multiple processes competing for CPU at the same time. This situation occurs whenever two or more processes are simultaneously in the ready

More information

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Due: Tuesday, September 18, 11:59 pm Collaboration Policy: Level 1 (review full policy for details) Group Policy: Individual This lab will give you experience

More information

3. CPU Scheduling. Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn

3. CPU Scheduling. Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn 3. CPU Scheduling Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn S P O I L E R operating system CPU Scheduling 3 operating system CPU Scheduling 4 Long-short-medium Scheduler

More information

CHAPTER 2: PROCESS MANAGEMENT

CHAPTER 2: PROCESS MANAGEMENT 1 CHAPTER 2: PROCESS MANAGEMENT Slides by: Ms. Shree Jaswal TOPICS TO BE COVERED Process description: Process, Process States, Process Control Block (PCB), Threads, Thread management. Process Scheduling:

More information

University of Colorado at Colorado Springs CS4500/ Fall 2018 Operating Systems Project 1 - System Calls and Processes

University of Colorado at Colorado Springs CS4500/ Fall 2018 Operating Systems Project 1 - System Calls and Processes University of Colorado at Colorado Springs CS4500/5500 - Fall 2018 Operating Systems Project 1 - System Calls and Processes Instructor: Yanyan Zhuang Total Points: 100 Out: 8/29/2018 Due: 11:59 pm, Friday,

More information

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling scheduling: share CPU among processes scheduling should: be fair all processes must be similarly affected no indefinite postponement aging as a possible solution adjust priorities based on waiting time

More information

Preparing Your Google Cloud VM for W4705

Preparing Your Google Cloud VM for W4705 Preparing Your Google Cloud VM for W4705 August 27, 2017 1. Get a cloud.cs.columbia.edu account 1. Sign up for a cloud Columbia CS account using this link. Note that is is an entirely new account and is

More information

Operating Systems ECE344. Ding Yuan

Operating Systems ECE344. Ding Yuan Operating Systems ECE344 Ding Yuan Announcement & Reminder Midterm exam Will grade them this Friday Will post the solution online before next lecture Will briefly go over the common mistakes next Monday

More information

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System Preview Process Scheduler Short Term Scheduler Long Term Scheduler Process Scheduling Algorithms for Batch System First Come First Serve Shortest Job First Shortest Remaining Job First Process Scheduling

More information

Last class: Today: CPU Scheduling. CPU Scheduling Algorithms and Systems

Last class: Today: CPU Scheduling. CPU Scheduling Algorithms and Systems 1 Last class: CPU Scheduling Today: CPU Scheduling Algorithms and Systems 2 Scheduling Algorithms First-come, First-serve (FCFS) Non-preemptive Does not account for waiting time (or much else) Convoy problem

More information

Task 1: Run Nachos with Pre-implemented Scheduling System Skeleton

Task 1: Run Nachos with Pre-implemented Scheduling System Skeleton CMPT 300 Fall 2011 Project #2: CPU Scheduling in Nachos In this project you will learn how to schedule CPU for threads. You are given a simple scheduling system skeleton in Nachos and your tasks are: 1)

More information

CPU Scheduling Algorithms

CPU Scheduling Algorithms CPU Scheduling Algorithms Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts with Java, by Silberschatz, Galvin, and Gagne (2007).

More information

Lab 1: Introduction to C, ASCII ART & the Linux Command Line

Lab 1: Introduction to C, ASCII ART & the Linux Command Line .i.-' `-. i..' `/ \' _`.,-../ o o \.' ` ( / _\ /_ \ ) \\\ (_.'.'"`.`._) /// \\`._(..: :..)_.'// \`. \.:-:. /.'/ `-i-->..

More information

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013 Operating Systems Comprehensive Exam Spring 2013 Student ID # 3/20/2013 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,

More information

Introduction to the shell Part II

Introduction to the shell Part II Introduction to the shell Part II Graham Markall http://www.doc.ic.ac.uk/~grm08 grm08@doc.ic.ac.uk Civil Engineering Tech Talks 16 th November, 1pm Last week Covered applications and Windows compatibility

More information

An Introduction to Cluster Computing Using Newton

An Introduction to Cluster Computing Using Newton An Introduction to Cluster Computing Using Newton Jason Harris and Dylan Storey March 25th, 2014 Jason Harris and Dylan Storey Introduction to Cluster Computing March 25th, 2014 1 / 26 Workshop design.

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

Embedded Linux. A Tour inside ARM's Kernel

Embedded Linux. A Tour inside ARM's Kernel Embedded Linux A Tour inside ARM's Kernel Contents 1. Shell basics 2. Introduction to Embedded Linux 3. Kernel Programming for Module / Driver Installation 4. Module / Device Driver in RPi 5. Cross Compiling

More information

Network Administration/System Administration (NTU CSIE, Spring 2018) Homework #1. Homework #1

Network Administration/System Administration (NTU CSIE, Spring 2018) Homework #1. Homework #1 Submission Homework #1 Due Time: 2018/3/11 (Sun.) 22:00 Contact TAs: vegetable@csie.ntu.edu.tw Compress all your files into a file named HW1_[studentID].zip (e.g. HW1_bxx902xxx.zip), which contains two

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. NOTE: Text

More information

Web-CAT Guidelines. 1. Logging into Web-CAT

Web-CAT Guidelines. 1. Logging into Web-CAT Contents: 1. Logging into Web-CAT 2. Submitting Projects via jgrasp a. Configuring Web-CAT b. Submitting Individual Files (Example: Activity 1) c. Submitting a Project to Web-CAT d. Submitting in Web-CAT

More information

Tutorial 2 Today we will have a quick introduction to ArgoUML and how to use it, as well as look at some examples of class diagrams.

Tutorial 2 Today we will have a quick introduction to ArgoUML and how to use it, as well as look at some examples of class diagrams. Tutorial 2 Today we will have a quick introduction to ArgoUML and how to use it, as well as look at some examples of class diagrams. This is an answer sheet, answers are marked in RED. Quiz dates: Quiz

More information

Operating Systems. Scheduling

Operating Systems. Scheduling Operating Systems Scheduling Process States Blocking operation Running Exit Terminated (initiate I/O, down on semaphore, etc.) Waiting Preempted Picked by scheduler Event arrived (I/O complete, semaphore

More information

a. Right-click on the Windows Menu Icon (usually on the bottom left) and select Windows PowerShell (Admin). Run the following command and reboot.

a. Right-click on the Windows Menu Icon (usually on the bottom left) and select Windows PowerShell (Admin). Run the following command and reboot. Windows 10 Installation of HKL-2000 & HKL-3000 HKL-2000 and HKL-3000 can now be installed on Windows 10 systems, giving you the flexibility to install HKL in the three most popular operating systems (Linux,

More information

Lab 3 Process Scheduling Due date: 29-Nov-2018

Lab 3 Process Scheduling Due date: 29-Nov-2018 Introduction Lab 3 Process Scheduling Due date: 29-Nov-2018 Modern operating system employ scheduling algorithms that are based on the round-robin concept as described in class. The scheduling policy is

More information

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version... Contents Note: pay attention to where you are........................................... 1 Note: Plaintext version................................................... 1 Hello World of the Bash shell 2 Accessing

More information

Lecture 2 Process Management

Lecture 2 Process Management Lecture 2 Process Management Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks The terms job and process may be interchangeable

More information

Properties of Processes

Properties of Processes CPU Scheduling Properties of Processes CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution: CPU Scheduler Selects from among the processes that

More information

Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006

Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006 Operating Systems Comprehensive Exam Spring 2006 Student ID # 3/16/2006 You must complete all of part I (60%) You must complete two of the three sections in part II (20% each) In Part I, circle or select

More information

Molecular Forecaster Inc. Forecaster 1.2 Server Installation Guide

Molecular Forecaster Inc. Forecaster 1.2 Server Installation Guide Molecular Forecaster Inc. Forecaster 1.2 Server Installation Guide 13 June 2014 CONTENTS Windows... 4 Linux... 4 Installation Procedures... 4 Windows Installation... 4 Linux portable Installation... 5

More information

Computer Science 4500 Operating Systems

Computer Science 4500 Operating Systems Computer Science 4500 Operating Systems Module 6 Process Scheduling Methods Updated: September 25, 2014 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 1 In This Module Batch and interactive workloads

More information

CS Programming Languages Fall Homework #2

CS Programming Languages Fall Homework #2 CS 345 - Programming Languages Fall 2010 Homework #2 Due: 2pm CDT (in class), September 30, 2010 Collaboration policy This assignment can be done in teams at most two students. Any cheating (e.g., submitting

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

IBM z Systems Development and Test Environment Tools User's Guide IBM

IBM z Systems Development and Test Environment Tools User's Guide IBM IBM z Systems Development and Test Environment Tools User's Guide IBM ii IBM z Systems Development and Test Environment Tools User's Guide Contents Chapter 1. Overview......... 1 Introduction..............

More information

CS 361S - Network Security and Privacy Spring Project #2

CS 361S - Network Security and Privacy Spring Project #2 CS 361S - Network Security and Privacy Spring 2014 Project #2 Part 1 due: 11am CDT, March 25, 2014 Part 2 due: 11am CDT, April 3, 2014 Submission instructions Follow the submission instructions in the

More information

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation Chapter 5: CPU Scheduling

More information

Introduction to Linux and Supercomputers

Introduction to Linux and Supercomputers Introduction to Linux and Supercomputers Doug Crabill Senior Academic IT Specialist Department of Statistics Purdue University dgc@purdue.edu What you will learn How to log into a Linux Supercomputer Basics

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Online Backup Client User Manual

Online Backup Client User Manual Online Backup Client User Manual Software version 3.21 For Linux distributions October 2010 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have

More information

CSC209H Lecture 1. Dan Zingaro. January 7, 2015

CSC209H Lecture 1. Dan Zingaro. January 7, 2015 CSC209H Lecture 1 Dan Zingaro January 7, 2015 Welcome! Welcome to CSC209 Comments or questions during class? Let me know! Topics: shell and Unix, pipes and filters, C programming, processes, system calls,

More information

Jackson State University Department of Computer Science CSC / Advanced Information Security Spring 2013 Lab Project # 5

Jackson State University Department of Computer Science CSC / Advanced Information Security Spring 2013 Lab Project # 5 Jackson State University Department of Computer Science CSC 439-01/539-02 Advanced Information Security Spring 2013 Lab Project # 5 Use of GNU Debugger (GDB) for Reverse Engineering of C Programs in a

More information

Class average is Undergraduates are performing better. Working with low-level microcontroller timers

Class average is Undergraduates are performing better. Working with low-level microcontroller timers Student feedback Low grades of the midterm exam Class average is 86.16 Undergraduates are performing better Cheat sheet on the final exam? You will be allowed to bring one page of cheat sheet to the final

More information

Table Of Contents. 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands

Table Of Contents. 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands Table Of Contents 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands Getting onto the Zoo Type ssh @node.zoo.cs.yale.edu, and enter your netid pass when prompted.

More information

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

Getting Arduino / XLR8 Setup On Linux

Getting Arduino / XLR8 Setup On Linux Getting Arduino / XLR8 Setup On Linux Unlike the Mac and Windows XLR8 packages, there are a couple of extra steps for getting XLR8 to run on Linux. There are three main focuses concentrated on in this

More information

Parallel Programming Pre-Assignment. Setting up the Software Environment

Parallel Programming Pre-Assignment. Setting up the Software Environment Parallel Programming Pre-Assignment Setting up the Software Environment Authors: B. Wilkinson and C. Ferner. Modification date: Aug 21, 2014 (Minor correction Aug 27, 2014.) Software The purpose of this

More information

Linux Essentials Objectives Topics:

Linux Essentials Objectives Topics: Linux Essentials Linux Essentials is a professional development certificate program that covers basic knowledge for those working and studying Open Source and various distributions of Linux. Exam Objectives

More information

IT-SDN: Installation Guide (for Linux 64 bits March, 2017)

IT-SDN: Installation Guide (for Linux 64 bits March, 2017) IT-SDN: Installation Guide (for Linux 64 bits March, 2017) Renan C. A. Alves 1, Doriedson A. G. Oliveira 1, Gustavo N. Segura 1, Cintia B. Margi 1 1 Escola Politécnica Universidade de São Paulo São Paulo,

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

COSC243 Part 2: Operating Systems

COSC243 Part 2: Operating Systems COSC243 Part 2: Operating Systems Lecture 17: CPU Scheduling Zhiyi Huang Dept. of Computer Science, University of Otago Zhiyi Huang (Otago) COSC243 Lecture 17 1 / 30 Overview Last lecture: Cooperating

More information

Intro to Linux & Command Line

Intro to Linux & Command Line Intro to Linux & Command Line Based on slides from CSE 391 Edited by Andrew Hu slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/391/ 1 Lecture summary

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 8 Threads and Scheduling Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How many threads

More information

Development Environment & Linux Guide

Development Environment & Linux Guide Development Environment & Linux Guide Juwon Lee(jwlee@archi.snu.ac.kr) School of Computer Science and Engineering Seoul National University Development Environment MobaXterm Provide Linux-like environment

More information

High Performance Computing Cluster Basic course

High Performance Computing Cluster Basic course High Performance Computing Cluster Basic course Jeremie Vandenplas, Gwen Dawes 30 October 2017 Outline Introduction to the Agrogenomics HPC Connecting with Secure Shell to the HPC Introduction to the Unix/Linux

More information

OpenEMR Insights Configuration Instructions

OpenEMR Insights Configuration Instructions OpenEMR Insights provides ETL and Dashboards to enhance your OpenEMR intelligence backed by Pentaho CE and Saiku Analytics CE. To see OpenEMR Insights in action, head over to www.oemr.org. There you will

More information

STARTING THE DDT DEBUGGER ON MIO, AUN, & MC2. (Mouse over to the left to see thumbnails of all of the slides)

STARTING THE DDT DEBUGGER ON MIO, AUN, & MC2. (Mouse over to the left to see thumbnails of all of the slides) STARTING THE DDT DEBUGGER ON MIO, AUN, & MC2 (Mouse over to the left to see thumbnails of all of the slides) ALLINEA DDT Allinea DDT is a powerful, easy-to-use graphical debugger capable of debugging a

More information

Course Syllabus. Operating Systems

Course Syllabus. Operating Systems Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling

More information

Chapter-3. Introduction to Unix: Fundamental Commands

Chapter-3. Introduction to Unix: Fundamental Commands Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system

More information

Tutorial 1. Account Registration

Tutorial 1. Account Registration Tutorial 1 /******************************************************** * Author : Kai Chen * Last Modified : 2015-09-23 * Email : ck015@ie.cuhk.edu.hk ********************************************************/

More information

Operating Systems 16 - CS 323 Assignment #2

Operating Systems 16 - CS 323 Assignment #2 Operating Systems 16 - CS 323 Assignment #2 Scheduler March 18, 2016 1 Objectives 1. Learn about scheduling in the Linux kernel 2. Understand the tradeoffs involved in scheduling 3. Work on the codebase

More information

Installing PHP on Windows 10 Bash and Starting a Local Server

Installing PHP on Windows 10 Bash and Starting a Local Server Installing PHP on Windows 10 Bash and Starting a Local Server Bash on Ubuntu/Windows is a way to use a command line to run all kinds of programs (including git!). But we ll want a Bash terminal to run

More information

Question 1: knn classification [100 points]

Question 1: knn classification [100 points] CS 540: Introduction to Artificial Intelligence Homework Assignment # 8 Assigned: 11/13 Due: 11/20 before class Question 1: knn classification [100 points] For this problem, you will be building a k-nn

More information

Multi-Level Feedback Queues

Multi-Level Feedback Queues CS 326: Operating Systems Multi-Level Feedback Queues Lecture 8 Today s Schedule Building an Ideal Scheduler Priority-Based Scheduling Multi-Level Queues Multi-Level Feedback Queues Scheduling Domains

More information

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX This handout very briefly describes how to use Unix and how to use the Linux server and client machines in the EECS labs that dual boot

More information

BIOINFORMATICS POST-DIPLOMA PROGRAM SUBJECT OUTLINE Subject Title: OPERATING SYSTEMS AND PROJECT MANAGEMENT Subject Code: BIF713 Subject Description:

BIOINFORMATICS POST-DIPLOMA PROGRAM SUBJECT OUTLINE Subject Title: OPERATING SYSTEMS AND PROJECT MANAGEMENT Subject Code: BIF713 Subject Description: BIOINFORMATICS POST-DIPLOMA PROGRAM SUBJECT OUTLINE Subject Title: OPERATING SYSTEMS AND PROJECT MANAGEMENT Subject Code: BIF713 Subject Description: This course provides Bioinformatics students with the

More information

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform November 8, 2016 1 Introduction The laboratory exercises in this course are to be conducted in an environment that might not be familiar to many of you. It is based on open source software. We use an open

More information

Projects and Environment Introduction

Projects and Environment Introduction Projects and Environment Introduction A lot to go over today History of Linux Projects Overview Project partners Programming environment Programming language Useful Tools History of Linux The Beginning:

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

Install and Configure wxwidgets on Ubuntu

Install and Configure wxwidgets on Ubuntu Install and Configure wxwidgets on Ubuntu Ronald Mak Department of Computer Engineering Department of Computer Science January 12, 2019 Introduction wxwidgets is a C++ library that allows you to develop

More information

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009 CS211: Programming and Operating Systems Lecture 17: Threads and Scheduling Thursday, 05 Nov 2009 CS211 Lecture 17: Threads and Scheduling 1/22 Today 1 Introduction to threads Advantages of threads 2 User

More information

Laboratory Assignment #3 Eclipse CDT

Laboratory Assignment #3 Eclipse CDT Lab 3 September 12, 2010 CS-2303, System Programming Concepts, A-term 2012 Objective Laboratory Assignment #3 Eclipse CDT Due: at 11:59 pm on the day of your lab session To learn to learn to use the Eclipse

More information

Introduction in Unix. Linus Torvalds Ken Thompson & Dennis Ritchie

Introduction in Unix. Linus Torvalds Ken Thompson & Dennis Ritchie Introduction in Unix Linus Torvalds Ken Thompson & Dennis Ritchie My name: John Donners John.Donners@surfsara.nl Consultant at SURFsara And Cedric Nugteren Cedric.Nugteren@surfsara.nl Consultant at SURFsara

More information

Introduction to UNIX command-line

Introduction to UNIX command-line Introduction to UNIX command-line Boyce Thompson Institute March 17, 2015 Lukas Mueller & Noe Fernandez Class Content Terminal file system navigation Wildcards, shortcuts and special characters File permissions

More information

ECE SPRING NOTE; This project has two parts which have different due dates.

ECE SPRING NOTE; This project has two parts which have different due dates. DATA STRUCTURES ECE 368 - SPRING 208 PROJECT : Event Driven Simulation for a Multiprocessor System Using a Priority Queue (It is a team project. Note: 2 students/team) ASSIGNMENT DATE: January 23, 208

More information

Setting up the programming environment on Windows

Setting up the programming environment on Windows Setting up the programming environment on Windows Author: Michael Uhl ( contact: uhlm[at]informatik.uni freiburg.de ) Date: 17.10.2017 The easiest way to set up the programming environment on Windows is

More information

MTU Computer Structure

MTU Computer Structure 1 MTU Computer Structure Home directory: h drive Same for Suns & PC s Location to store files Organize files by creating appropriate directories (folders) Subdirectory - any directory within in another

More information

Introduction to Linux Environment. Yun-Wen Chen

Introduction to Linux Environment. Yun-Wen Chen Introduction to Linux Environment Yun-Wen Chen 1 The Text (Command) Mode in Linux Environment 2 The Main Operating Systems We May Meet 1. Windows 2. Mac 3. Linux (Unix) 3 Windows Command Mode and DOS Type

More information

Running Kmeans Spark on EC2 Documentation

Running Kmeans Spark on EC2 Documentation Running Kmeans Spark on EC2 Documentation Pseudo code Input: Dataset D, Number of clusters k Output: Data points with cluster memberships Step1: Read D from HDFS as RDD Step 2: Initialize first k data

More information

CS Fundamentals of Programming II Fall Very Basic UNIX

CS Fundamentals of Programming II Fall Very Basic UNIX CS 215 - Fundamentals of Programming II Fall 2012 - Very Basic UNIX This handout very briefly describes how to use Unix and how to use the Linux server and client machines in the CS (Project) Lab (KC-265)

More information