Operating System (OSG202)
Vietnamese title: Hệ điều hành
Credits: 3

Description:
At the end of this course, students will be able to perceive:
1) Background knowledge: (ABET e)
-The role of operating system,
- important OS concepts,
- the mechanism of operating system, and
- main problems of Operating system.
2) Practice skills: (ABET k)
- Using basic shell command in Linux system fluently.
- Fundamental of shell, C language on Linux.
- Main problems of Operating system through some simulative exercises.
3) Information searching, reading and selection skills (ABET i)
4) Working in group, documenting and presenation skills (ABET g)

Learning outcomes:
Understand the main concepts of operating system
Understand basic C/C++ language on Linux
Using AI tools to futher explore the main concepts of OS's components
Understand the main concepts of process management
Understand the main concepts of memory management
Understand the main concepts of file systems
Understand the main concepts of I/O systems
Understand the main concepts of deadlock
Using Linux operating system
Using basic shell command in Linux system fluently
Understand basic Shell language on Linux

Student tasks:
- Students must attend at least 80% of contact slots in order to be accepted to the final examination.
- Student is responsible to do all exercises given by instructor in class or at home and submit on time
- Use laptop in class only for learning purpose
- Promptly access to the FU LMS https://flm.fpt.edu.vn/ for up-to-date course information

Tools:
- Internet
- Linux operating system server and/ or desktop
- MARIE simulator
- AI tools (ChatGPT/Copilot/Gamma…) and other simulation software if deemed appropriate.

Materials:
description: Modern Operating Systems (4th edition or 3rd or 2nd)
author: Andrew S. Tanenbaum
publisher: Pearson
published_date: 2014 (4th)
edition: 4th or 3rd or 2nd
isbn: 9781292061429 or 9780133591620 (4th Edition)
description: Connecting with Computer Science
author: Creg Anderson, David Ferrro, Robert Hilbon
publisher: Thomson course Technology
published_date: 2010
edition: 2nd Edition
isbn: 978-1439080351
description: Understanding operating systems
author: Ann McIver McHoes and Ida M. Flynn
publisher: Cengage Learning
published_date: 2008
edition: 8th
isbn: 978-1305674257
description: http://courses.knox.edu/cs226/
description: AI Notes:https://www.https://notegpt.io/

Assessments:
category: Lab
type: on-going
weight: 20.0
duration: in lab session
question_type: LO7, LO8, LO9, LO10
no_question: practical exercises
grading_guide: technical aspect of studied topics
note: guided by instructor
category: Presentation
type: on-going
weight: 20.0
duration: ~20'/group
question_type: LO1, LO2, LO3, LO4, LO5, LO6,LO11
no_question: use Presentation Rubic sheet
grading_guide: a selelected topic
note: prepare at home, working in group, present in class hours
category: Progress test
type: on-going
weight: 20.0
duration: 10'-30'
question_type: LO1, LO2, LO3, LO4, LO5, LO6
no_question: Multiple choicesMarked by Computer or a suitable format
knowledge_and_skill: 10-30 (At least 10*n questions where n is the number of Chapters covered in the test.)
grading_guide: Current chapter(s)
Each Progess Test covers at least 01 Chapter and at most 03 Chapters, and overall they must cover all learned Chapters of the course.
note: in class/remote, by instructor
category: Final exam
type: Final exam
weight: 40.0
duration: 60'
question_type: LO1, LO2, LO3, LO4, LO5, LO6
no_question: Multiple choicesMarked by Computer
knowledge_and_skill: 50
grading_guide: concepts, algorithms;
All chapters from 1 to 6; more than 70% new questions (for the current semester);
note: by exam board,

Schedule:
session: Chapter 1: Introduction
1.1. What is an operating system
learning_outcomes: I
materials: OSG202
session: 1.2 History of operating system
learning_outcomes: I
session: 1.3. Computer hardware review
learning_outcomes: I
session: Chapter 1 Problems
learning_outcomes: ITU
session: Overview of Linux Operating system
Overview of Linux Command
learning_outcomes: TU
session: Short practice of using Linux OS
learning_outcomes: TU
session: 1.4 The Operating System Zoo
1.5 Operating System Concepts
learning_outcomes: IT
session: 1.6 System Calls
1.7 Operating System Structure
learning_outcomes: IT
session: Chapter 1 Problems
learning_outcomes: U
session: Guiding Lab 1
learning_outcomes: U
session: Chapter 2: Processes and Threads
2.1 Processes
2.2 Threads
learning_outcomes: ITU
session: 2.3 Interprocess Communication
learning_outcomes: ITU
session: Chapter 2 Problems
Review Lab 1
learning_outcomes: U
session: Guiding Lab 2
learning_outcomes: U
session: Chapter 2 Problems
learning_outcomes: TU
session: 2.4 Scheduling
learning_outcomes: TU
session: 2.5 Classical IPC Problems
learning_outcomes: TU
session: Chapter 2 Problems
learning_outcomes: TU
session: Shell programming
learning_outcomes: T
session: Practice shell programming
learning_outcomes: T
session: Practice shell programming (continue)
learning_outcomes: U
session: Review Lab 2
Chapter 2 Problems
learning_outcomes: T
session: Chapter 3: Memory management
3.1 No Memory Abstraction
learning_outcomes: T
session: 3.2 A Memory Abstraction: Address Spaces
learning_outcomes: T
session: 3.3 Virtual Memory
learning_outcomes: T
session: 3.4 Page Replacement Algorithms
learning_outcomes: T
session: Guiding Presentation - topic's selection
- Chapter 7: Virtuallization and The Cloud
- Chapter 10: CASE STUDY 1: UNIX, LINUX, and ANDROID
- Chapter 11: CASE STUDY 2: WINDOWS 8
learning_outcomes: I
session: 3.5 Design Issues for Paging Systems
3.6 Implementation Issues
learning_outcomes: I
session: 3.7 Segmentation
learning_outcomes: T
session: Chapter 3 Problems
learning_outcomes: TU
session: Guilding lab 3
learning_outcomes: TU
session: Progress Test 1 and Review
learning_outcomes: TU
session: Review Problems
learning_outcomes: TU
session: Chapter 4: Files
4.1 Files
4.2 Directories
learning_outcomes: IT
session: 4.3 File System Implementation
4.4 File System Management and Optimization
4.5 Example File Systems
learning_outcomes: IT
session: Review Lab3
session: Guiding Lab 4
learning_outcomes: U
session: Chapter 4 Problems
learning_outcomes: U
session: C programming in Linux
learning_outcomes: T
session: Guiding Lab
learning_outcomes: T
session: Chapter 5: Input/ Output
5.1 Principles of I/O Hardware
5.2 Principles of I/O Software
learning_outcomes: U
session: 5.3 I/O Software Layers
learning_outcomes: TU
session: 5.4 Disks
learning_outcomes: TU
session: 5.5 Clocks
5.6 User Intrefaces: Keyboard, Mouse, Monitor
learning_outcomes: TU
session: 5.5 Clocks
5.6 User Intrefaces: Keyboard, Mouse, Monitor
learning_outcomes: TU
session: 5.7 Thin Clients
5.8 Power Management
learning_outcomes: TU
session: Review lab 4
learning_outcomes: TU
session: Chapter 5 Problems
learning_outcomes: TU
session: Chapter 6: Deadlock
6.1 Resources
6.2 Introduction to Deadlocks
6.3 The Ostrich Algorithm
learning_outcomes: IT
session: 6.4 Deadlock Detection and Recovery
6.5 Deadlock Avoidance
session: 6.6 Deadlock Prevention
6.7 Other Issues
learning_outcomes: IT
session: Chapter 6 Problems
Guiding Problems
learning_outcomes: ITU
session: Progress Test 2 and Review
learning_outcomes: TU
session: Review Problems
learning_outcomes: TU
session: Chapter 7, 10, 11 Presentation
session: Chapter 7, 10, 11 Presentation
session: Chapter 7, 10, 11 Presentation
session: Chapter 7, 10, 11 Presentation
session: Chapter 7, 10, 11 Presentation
session: Discussion of current research areas. Review Course