TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems

advertisement

TDDI04

Concurrent Programming,

Operating Systems, and Real-time Operating Systems

VT 2009

General information and overview

Klas Arvidsson, IDA

TDDI04, K. Arvidsson, IDA, Linköpings universitet.

0.1

TDDI04 Staff VT 2009

§ 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

Syllabus

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

Lecture plan VT1

§ 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

Lecture plan VT2

§ 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 plan VT1

§ 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 plan VT2

§ 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

Course literature

§ 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

Labs

§ 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

Download