TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.1
§ Examiner, course leader, lecturer
Klas Arvidsson, IDA, klaar@ida.liu.se
§ Lab assistant, course assistant, lab lessons:
Viacheslav (“Slava”) Izosimov, IDA, viaiz@ida.liu.se
§ Lab assistant :
Klas Arvidsson, IDA, klaar@ida.liu.se
§ Course secretary:
Gunilla Mellheden, IDA, gunme@ida.liu.se
§ Director of studies (studierektor):
Peter Dalenius, IDA, sas-sr@ida.liu.se
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.2
6 hp ~= 180 hours
~60 hours scheduled means ~100 hours own studies!!
After the course you will
§ Be able to explain and apply the basic notion of process and thread, and issues arising in concurrent systems, such as process communication, synchronisation, resource sharing, and deadlock
§ Be able to describe operating systems functions and the basic building blocks in modern operating systems
§ Be able to implement basic operating systems functionality such as synchronisation, system calls, and memory management
§ Know and be able to describe and demonstrate methods for resource management in real-time operating systems
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.3
§ F1: Introduction
§ F2: Program, Process, Thread, Stack
§ F3: Process and thread structures, switch
§ F4: Synchronization
§ FC: C Programming Hints
§ F5: System calls
§ F6: Memory management, paging
§ F7: Memory management, virtual
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.4
§ F8: Scheduling
§ F9: Multiprocessing, synchronization
§ F10: Real-time operating systems
§ F11: Deadlock management
§ F12: File System and Disk I/O
§ F13: File structures
§ F14: Protection and Security
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.5
§ Lesson 1:
•
Programming in PINTOS (C-language)
• Lab 1 – Process stack setup
•
Lab 2 – Program load synchronization
§ Lesson 2:
•
Lab 2 – Basic system calls
• Synchronization examples
§ Lesson 3:
•
Lab 3 – Memory management
•
Synchronization examples
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.6
1
§ Lesson 4:
•
Lab 3 – Synchronizing multiprocessing:
> Exec system call
> Exit system call
> Wait system call
§ Lesson 5:
•
Lab 5 – Readers-Writers problem
•
Lab 5 – File synchronization
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.7
§ Silberschatz, Galvin, Gagne:
Operating System Concepts, 7 th
Wiley, 2005.
edition .
§ Course homepage http://www.ida.liu.se/~TDDI04/2009/
• Messages and course information
•
Organization and examination
•
Literature and errata for the book
•
Slides of lectures and lessons (when any)
• Lab documentation, material and other information
> Link to lab group registration system (webreg)
•
Schedule link to timeedit
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.9
§ Register for a lab group via webreg (already opened)
§ You will work in pairs, working alone is discourage
§ PINTOS is a ”real” x86 operating system implemented in C
§ Lab challenges:
•
Starting a process: set up the stack
•
Starting a process: synchronize program load
•
Accessing kernel through system calls
•
Protecting process memory
•
Multiprocessing: Running several processes
• Multiprocessing: Communicate exit status
•
Readers-Writers problem
•
File Synchronization
TDDI04, K. Arvidsson, IDA, Linköpings universitet.
0.8
2