Operating Systems
Introduction
Tran, Van Hoai
Faculty of Computer Science & Engineering
HCMC University of Technology
E-mail: [email protected]
(based on slides of Le Thanh Van)
2020-2021/Semester 2
1 / 44
Outline
1 Common knowledge on operating systems?
2 Course description
3 Important course information
4 Basic concepts & Questions
2 / 44
Outline
1 Common knowledge on operating systems?
2 Course description
3 Important course information
4 Basic concepts & Questions
3 / 44
Which ones are OS?
Microsoft Office Dropbox
Microsoft Windows Android
Google Mail iOS
Google Drive Amazon Web Services
iCloud tinyOS
Firmware on home wifi Mac OSX
routers Cisco Internetwork
UNIX Operating System
4 / 44
Which ones are OS?
Microsoft Office Dropbox
Microsoft Windows Android
Which ones Mail
Google can be considered as an operating
iOS system (in
non-IT context) ?
Google Drive Amazon Web Services
A traffic policeman?
iCloud tinyOS
A government?
Firmware on home wifi Mac OSX
routers Cisco Internetwork
UNIX Operating System
5 / 44
Which ones are OS?
Microsoft Office Dropbox
Microsoft Windows Android
Which ones Mail
Google can be considered as an operating
iOS system (in
non-IT context) ?
Google Drive Amazon Web Services
A traffic policeman? (only a security function)
iCloud tinyOS
A government? (full of functions)
Firmware on home wifi Mac OSX
routers Cisco Internetwork
UNIX Operating System
6 / 44
OS tree
7 / 44
OS Market Share
8 / 44
Outline
1 Common knowledge on operating systems?
2 Course description
3 Important course information
4 Basic concepts & Questions
9 / 44
Course objectives
To convey the knowledges and skills of computer operating
systems to those who attend the course, including
Basic structure, main functions of operating systems of a
modern computer
Concurrent Processes, Mutual Exclusion and
Synchronization of concurrent process, Process
scheduling, Memories, Virtual Memory, Pages,
Segmentation, Pages Replacement, Files systems,
journaling, Virtual Machine Monitor, Security and
Protection.
Lab works will strengthen the theory given by lectures
(C/C++, Python)
10 / 44
Course content (1)
Ch.1: Introduction to operating systems
Ch.2: Process management
Concepts
Process scheduling
Interprocess communication
Ch.3: Process synchronization
Synchronization
Deadlock handling
Ch.4: Memory management
Virtual memory
Ch.5: I/O management
Ch.6: File systems
Ch.7: Security and Protection
Ch.8: Advanced topics
Some modern OS examples
Computer networks and distributed systems
11 / 44
Course content (2)
Operating System Concepts
Process Memory Storage Distributed Case
management management management systems studies
Processes Main File system Protection & Linux
memory interface security
Threads Windows OSs
Virtual File system Special
CPU memory implementation purpose
scheduling systems
Mass storages
Process structure
synchronization
I/O systems
Deadlocks
12 / 44
Learning outcomes
After completing this course, students will be able:
13 / 44
Learning outcomes
After completing this course, students will be able:
L.O.1 Define the functionality that a modern operating system must
deliver to meet a particular need.
14 / 44
Learning outcomes
After completing this course, students will be able:
L.O.1 Define the functionality that a modern operating system must
deliver to meet a particular need.
L.O.2 Apply mechanisms that are useful to realize concurrent
systems and describe the benefits of each.
15 / 44
Learning outcomes
After completing this course, students will be able:
L.O.1 Define the functionality that a modern operating system must
deliver to meet a particular need.
L.O.2 Apply mechanisms that are useful to realize concurrent
systems and describe the benefits of each.
L.O.3 Compare and contrast the common algorithms used for both
preemptive and non-preemptive scheduling of tasks in
operating systems.
16 / 44
Learning outcomes
After completing this course, students will be able:
L.O.1 Define the functionality that a modern operating system must
deliver to meet a particular need.
L.O.2 Apply mechanisms that are useful to realize concurrent
systems and describe the benefits of each.
L.O.3 Compare and contrast the common algorithms used for both
preemptive and non-preemptive scheduling of tasks in
operating systems.
L.O.4 Explain virtual memory and its realization in hardware and
software.
17 / 44
Learning outcomes
After completing this course, students will be able:
L.O.1 Define the functionality that a modern operating system must
deliver to meet a particular need.
L.O.2 Apply mechanisms that are useful to realize concurrent
systems and describe the benefits of each.
L.O.3 Compare and contrast the common algorithms used for both
preemptive and non-preemptive scheduling of tasks in
operating systems.
L.O.4 Explain virtual memory and its realization in hardware and
software.
L.O.5 Compare and contrast different approaches to file
organization, recognizing the strengths and weaknesses of
each.
18 / 44
What are you expected ?
Your knowledge will be measured in a quantitative manner.
19 / 44
What are you expected ?
Your knowledge will be measured in a quantitative manner.
source: blog.newsela.com source: wikipedia.org
20 / 44
Required/Applied by this course
Which ones to be required by this course ?
Hardware aspects: Computer architecture?!?!?!
Software aspects: C/C++ programming is recommended!
21 / 44
Required/Applied by this course
Which ones to be required by this course ?
Hardware aspects: Computer architecture?!?!?!
Software aspects: C/C++ programming is recommended!
Which ones to be applied by this course ?
Computer network Big Data
Advanced OS, mobile Security
systems Real-time systems
High performance Web programming
computing
...
Distributed systems
Software engineering
22 / 44
Outline
1 Common knowledge on operating systems?
2 Course description
3 Important course information
4 Basic concepts & Questions
23 / 44
Course materials
Silberschatz et al, “Operating System Concepts”, 9th Ed.,
2012 (Electronic Version).
24 / 44
Course materials
Silberschatz et al, “Operating System Concepts”, 9th Ed.,
2012 (Electronic Version).
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau,
“Operating Systems: Three Easy Pieces”, 0.91v, 2014.
Website: http://pages.cs.wisc.edu/~remzi/OSTEP/
25 / 44
Course evaluation
Final Exam 50% 80-90 Minutes, multiple-choices (tentative)
Assig. & Project 30%
Lab 10%
Quiz 10% 15 Minutes
(could be many times)
26 / 44
Important course notice
Presence checks
5 times or more randomly course presence checks: absence
for more than 3 times will be prohibited (Grade F)
University regulation
“24.1 Các hình thức kỷ luật :
.........
c. Cấm thi và nhận điểm cấm ....., áp dụng với một trong các lỗi sau:
- Vi phạm các quy định trong quá trình học: ...Vắng mặt (có lý do hoặc
không có lý do) quá 20% số giờ lên lớp của môn học.
.........
27 / 44
Outline
1 Common knowledge on operating systems?
2 Course description
3 Important course information
4 Basic concepts & Questions
28 / 44
Basic concepts - What is a system?
An assemblage of objects so combined by nature or human as to form an
integral unit
A regularly interacting or interdependent group of objects forming a
unified whole
Webster’s Dictionary
A combination of components/objects that act together to perform a
function not possible with any of the individual parts
IEEE Standard Dictionary of Electrical and Electronic Terms
29 / 44
Basic concepts - What is a system?
An assemblage of objects so combined by nature or human as to form an
integral unit
A regularly interacting or interdependent group of objects forming a
unified whole
Webster’s Dictionary
A combination of components/objects that act together to perform a
function not possible with any of the individual parts
IEEE Standard Dictionary of Electrical and Electronic Terms
Two major features
1 A system consists of interacting objects/components
2 A system is associated with a function/work that it
performs
30 / 44
Why do we study this course (short-term) ?
Common questions
31 / 44
Why do we study this course (short-term) ?
Common questions
Is it useful for other courses ?
32 / 44
Why do we study this course (short-term) ?
Common questions
Is it useful for other courses ?
How to use this for other courses ?
33 / 44
Why do we study this course (short-term) ?
Common questions
Is it useful for other courses ?
How to use this for other courses ?
Is it easy to achieve high grade ?
34 / 44
Why do we study this course (short-term) ?
Common questions
Is it useful for other courses ?
How to use this for other courses ?
Is it easy to achieve high grade ?
Is it easy to remember the knowledge of this course ?
35 / 44
Why do we study this course (short-term) ?
Common questions
Is it useful for other courses ?
How to use this for other courses ?
Is it easy to achieve high grade ?
Is it easy to remember the knowledge of this course ?
...
36 / 44
Why do we study this course (long-term) ?
Common questions on career
37 / 44
Why do we study this course (long-term) ?
Common questions on career
to be used in engineering tasks ?
38 / 44
Why do we study this course (long-term) ?
Common questions on career
to be used in engineering tasks ?
to earn much money ?
39 / 44
Why do we study this course (long-term) ?
Common questions on career
to be used in engineering tasks ?
to earn much money ?
to be used in research ?
40 / 44
Why do we study this course (long-term) ?
Common questions on career
to be used in engineering tasks ?
to earn much money ?
to be used in research ?
How to be used in engineering ?
41 / 44
Why do we study this course (long-term) ?
Common questions on career
to be used in engineering tasks ?
to earn much money ?
to be used in research ?
How to be used in engineering ?
How to achieve economical benefits ?
...
42 / 44
Experiences of professionals around the world
Prof. John Regehr, University of Utah, USA
Some students are incapable of or uninterested in implementing
new OS
But they can learn from OS course: concurrency, resource
management, contention resolution, computer system design
43 / 44
Happy new lunar year and let’s work hard :-)
44 / 44