Study Guide@lith   Link to LiU Homepage
 

Linköping Institute of Technology

Link to LiU Homepage
 
Valid for year : 2014
 
TDDI81 Concurrent programming and operating systems, 6 ECTS credits.
/Processprogrammering och operativsystem/

For:   DI   EL   IP  


OBS!

Overlapping course contents: TDDB63, TDDB68, TDDB72, TDDI12

 

Prel. scheduled hours: 86
Rec. self-study hours: 74

  Area of Education: Technology

Main field of studies: Computer Engineering, Programming

  Advancement level (G1, G2, A): G2

Aim:
After the course, the student will
  • explain the fundamental reasons why we use operating systems and the problems that arise when trying to fulfill those needs.
  • be able to describe and explain methods and algorithms how the fundamental parts of a computer system (processors, memory, and storage) can be shared in a secure, fair, predicable and efficient manner.
  • be able to explain and apply the basic notion of process and thread
  • explain the issues arising in concurrent systems, such as proces communication, synchronisation, resource sharing, and deadlock.
  • be able to implement correct solutions to some selected algorithms, methods or issues in above points, such as synchronisation, system calls, and memory management.


Prerequisites: (valid for students admitted to programmes within which the course is offered)
Knowledge of basic algorithms and data structures.. Programming skill in one imperative programming language, preferably C with emphasis on pointer handling. Some basic knowledge of computer hardware and architecture is to prefer but not required.

Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.

Organisation:
The course runs over the entire spring semester. It consists of:
  • Lectures to present the theory.
  • Lessons devoted to problem solving in preparation for laborative work and exam.
  • Programming exercises where the student study and extend an existing educational operating system with new functionality.


Course contents:
  • Introduction to C-programming
  • Motivation for operating systems, overview of operating systems functions and building blocks, memory management, secondary storage, input/output, protection and security.
  • Sharing of processing power and related issues: Processes, threads, process and thread communication, scheduling, synchronization issues and solutions, deadlock detection and prevention.
  • Sharing of memory: Continuous allocation, compaction, segmentation, paging and virtual memory with related problems, solutions and algorithms (translation look-aside buffer, replacement strategies etc.)
  • Sharing of secondary storage: The file concept, file system, allocation methods (continuous, linked, indexed), free space management.
  • Threats to the computer and operating system, protection methods involved in sharing of resources, protection from unauthorised use of computer resources, achieving security.


Course literature:
Silberschatz A, Galvin P, Gagne G: Operating Systems Concepts. 7th edition. Wiley, 2005.

Examination:
Written examination
Computer execises
Voluntary written examination
3 ECTS
3 ECTS
0 ECTS
 
The questions in the written exam check how well the student has fulfilled the learning goals of the course. For passing the exam, deficits in fulfilling certain partial goals can be balanced by a better fulfilling of other partial goals, but a bare minimum will be required in some central areas.



Course language is Swedish.
Department offering the course: IDA.
Director of Studies: Tommy Färnqvist
Examiner: Klas Arvidsson
Link to the course homepage at the department


Course Syllabus in Swedish

Linköping Institute of Technology

Link to top of pagep


Contact: TFK , val@tfk.liu.se
Last updated: 02/03/2014