5. • Other Useful References:
1. Operating System Concepts” by Avi Silberschatz and Peter Galvin.
2. Operating Systems: Internals and Design Principles” by William
Stallings.
3. Operating Systems: A Concept-Based Approach” by D M Dhamdhere.
4. Operating System: A Design-oriented Approach” by Charles Crowley.
5. Operating Systems: A Modern Perspective” by Gary J Nutt.
Course Literature
5
6. • This course will help students to achieve the following objectives:
• To provide a grand tour of the major operating systems components „To
provide coverage of basic computer system organization
Course Objectives
6
7. • The following is an outline for the course, subject to alteration as the
semester proceeds.
• Introduction
Course Outline
7
8. • Lab activity will be use C & Java Programming Languages to learn:
1. Permissions-Bourne-Again Shell(BASH)
2. Script using C Syntax in BASH
3. Script and Commands
4. Threading using Java
• Student must read / do Pre-Lab before come to the laboratory.
• Lab will be asses based on the report + Task of Day
• There will be a lab assessment/ lab test – purpose to test student skill –
individual.
Laboratory Activities
8
9. • This course shall include the following schedule of labs:
Laboratory Activities
9
10. • Your lab book is the primary record of your work and data.
• What you did. How you did it (e.g. C code).
• How you apply the algorithm.
• What you observed.
• Answers to questions and justifications for your answers.
Lab Books
10
11. • The lab report should present what you did in the lab, or some aspect of
what you did as long as it encompasses the main theme of the lab. The
reports should have the following characteristics and components:
• Typed or printed.
• Short report (12pts font, max 3 pages single space, but shorter is better).
• Structured with an introduction, a main body, and a conclusion.
• Measurement data should be included in tables and plots.
• All data should be analyzed and interpreted.
• Important measured numbers should include a justified error bar.
• All figures should be labeled, numbered, and referred to in the text.
Lab Reports
11
12. • Students will be assessed using exams, quizzes, written or programming
assignments, and/or project work.
• Evaluation and Grading:
• Grade Scale:
• The usual 10-point scale will apply (subject to any curve). A final average of 90%
will guarantee an A-, 80% will guarantee a B-, and so forth.
Assessment Activities
Item weight
Homework Assignments and Quizzes 10%
Midterm Exam 20%
Laboratory 10%
Final Exam 60%
12
Curve
A grade curve may or may not be employed
in this course. The application of a curve is
dependent upon class performance on tests,
projects and homework. The decision to
utilize a curve rests entirely with the course
instructor.
13. • Can be done individually
• We will suggest possible projects (see course web page)
• Output: workshop quality research paper (4-5 pages)
• Even better: conference quality paper
• Use the template on course Moodle page
• All reports will be published as tech-report
• We will help you get there --- multiple milestones:
• And meetings with TA/instructor
Class Project
13
14. • Late assignments will receive a 10% penalty per day* unless a Doctor's
note is provided.
* Fridays count as late days as well
Late Policy
14
15. • Midterm Test
• There will a 1 hour midterm test.
• Final Exam
• There will be a final exam covering all course materials.
• No Makeup Exam
Exams
15
16. Course Policy & Assignments
• Exams will be a combination of the materials presented in
• the lectures and
• homework problems.
• Weekly homework assignments
• Homework must be done individually
• Submissions by Email are not allowed.
• I am unlikely to accept the following excuses:
• “Too busy”
• “It took longer than I thought it would take”
• “It was harder than I initially thought”
• “My dog ate my homework” and modern variants thereof
16
17. • Class attendance will be taken in each lecture.
• Students that exceed class absences (25% of lectures) are being
considered dropped from the course and prevented from entering the
final exam.
• There will be no makeup exams; students must instead make
arrangements with the instructor to take the exam prior to the planned
absence.
Attendance/Absence Policy
17
18. • What is Plagiarism: “using another person's ideas or creative work
without giving credit to that person”.
• Copying and pasting another student's code
• Leaving your computer logged in where another student can access it
• Giving your code to another student
• Attempting to buy code online
• This will result in an immediate F in the class
Plagiarism/Cheating Policy
18
19. • C & java Language Help
• Texts from earlier courses or books (Stroustrup, Dale, etc.)
• Course Lab Manual
• Lecture Instruction
• Lectures will consist of presentations, applications, problems and
solutions interspersed with classroom discussion.
• Supportive library materials will be provided in class.
Supportive Library Materials
19
20. • The technologies keep evolving, and the course materials need to be
updated correspondingly
• Please advise where I can improve after each lecturer, at the discussion.
Your Feedbacks Are Important
20
22. OS as Resource Manager
OS must manage CPU, memory, network, disk etc…
Resource management
allows multiple apps to share resources
protects apps from each other
Improves performance by efficient utilization of resources
23. Operating Systems Types
Application Specific
Embedded OS: is a specialized operating system designed to perform a specific task for a device that
is not a computer.
eg. Contiki OS: is an operating system for networked, memory-constrained systems with a focus on
low-power wireless Internet of Things devices.(for extremely memory constraint environments)
Mobile OS
Android, iOS, Ubuntu Touch, Windows Touch
RTOS: A real-time operating system is a software component that rapidly switches between tasks,
giving the impression that multiple programs are being executed at the same time on a single
processing core.
QNX, VxWorks, RTLinux
Secure Environments
SeLinux, SeL4
For Servers
Redhat, Ubuntu, Windows Server
Desktops
Mac OS, Windows, Ubuntu(With a built-in firewall and virus protection software)
24. Multiprogramming
Multiple jobs in memory
When one waits for I/O the next job executes
OS controls
scheduling of jobs
Protection between jobs
Multiprogramming with
3 jobs in memory
Memory
partitions
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38. First-Come, First-Served (FCFS) Scheduling
Process Burst Time
P1 24
P2 3
P3 3
Suppose that the processes arrive in the order: P1 , P2 , P3
The Gantt Chart for the schedule is:
Waiting time for P1 = 0; P2 = 24; P3 = 27
Average waiting time: (0 + 24 + 27)/3 = 17
P1 P2 P3
24 27 30
0
39. FCFS Scheduling (Cont.)
Suppose that the processes arrive in the order
P2 , P3 , P1
The Gantt chart for the schedule is:
Waiting time for P1 = 6; P2 = 0; P3 = 3
Average waiting time: (6 + 0 + 3)/3 = 3
Much better than previous case
Convoy effect short process behind long process
P1
P3
P2
6
3 30
0
40. Shortest-Job-First (SJF) Scheduling
Associate with each process the length of its next CPU burst. Use these
lengths to schedule the process with the shortest time
Two schemes:
• nonpreemptive – once CPU given to the process it cannot be preempted until
completes its CPU burst
• preemptive – if a new process arrives with CPU burst length less than remaining
time of current executing process, preempt. This scheme is know as the
Shortest-Remaining-Time-First (SRTF)
SJF is optimal – gives minimum average waiting time for a given set of
processes
41. Example of Non-Preemptive SJF
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
SJF (non-preemptive)
Average waiting time = (0 + 6 + 3 + 7)/4 = 4
P1 P3 P2
7
3 16
0
P4
8 12
42. Example of Preemptive SJF
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
SJF (preemptive)
Average waiting time = (9 + 1 + 0 +2)/4 = 3
P1 P3
P2
4
2 11
0
P4
5 7
P2 P1
16
43. Round Robin (RR)
Each process gets a small unit of CPU time (time quantum), usually 10-100
milliseconds. After this time has elapsed, the process is preempted and added
to the end of the ready queue.
If there are n processes in the ready queue and the time quantum is q, then
each process gets 1/n of the CPU time in chunks of at most q time units at
once. No process waits more than (n-1)q time units.
Performance
q large FIFO
q small q must be large with respect to context switch, otherwise overhead is too
high
44. Example of RR with Time Quantum = 20
Process Burst Time
P1 53
P2 17
P3 68
P4 24
The Gantt chart is:
Typically, higher average turnaround than SJF, but better
response
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 37 57 77 97 117 121 134 154 162