Print as pdf if you want a pdf! If you want a nicer printout, click off the browser's automatically added header and footer.

Blekinge Institute of Technology
Department of Computer Science

Revision: 2
Reg.no: BTH-4.1.14-0044-2024


Course syllabus

Operating Systems

Operating Systems

7.5 credits (7,5 högskolepoäng)

Course code: DV1698
Main field of study: Computer Science, Technology
Disciplinary domain: Technology
Education level: First-cycle
Specialization: G1F - First cycle, has less than 60 credits in first-cycle course/s as entry requirements

Language of instruction: English
Applies from: 2024-03-12
Approved: 2024-03-12

1. Descision

This course is established by Dean 2023-12-13. The course syllabus is approved by Head of Department of Computer Science 2024-03-12 and applies from 2024-03-12.

2. Entry requirements

Admission to the course requires completed course in programming equivalent to 15 credits and 2 completed credits in algorithms and datastructures.

3. Objective and content

3.1 Objective

Since operating systems are the interface between software and hardware, a good understanding of how the interface works and how it should be handled by software developers is required. This affects all systems, such as traditional computers and mobile embedded systems. Basically, the operating system handles the distribution of the computer's resources and it is therefore important that a software developer has good knowledge of how the operating system works and how performance is affected by the distribution. The course also provides an introduction to virtual machines and distributed systems.

3.2 Content

File system
Memory management
Process and Thread
Resource Allocation
How deadlocks occur and are prevented Synchronization primitives for threads and processes
Hardware abstraction
Orientation of security aspects of an operating system.
Virtual machines and clouds
Distributed Systems

4. Learning outcomes

The following learning outcomes are examined in the course:

4.1. Knowledge and understanding

On completion of the course, the student should be able to:

  • Explain and discuss in detail how resources are allocated in an operating system. This includes how an operating system can handle memory, file systems, processes, and threads.
  • Explain and discuss in detail how communication takes place between an operating system and hardware. This also includes how an operating system transmits data between software and hardware.

4.2. Competence and skills

On completion of the course, the student should be able to:

  • Implement basic functionality of an operating system for resource allocation and a basic file system. This includes systems for memory and execution resources. The functionality implemented can be in a real or simulated kernel.
  • Independently choose appropriate algorithms and data structures to implement basic functionality in an operating system.

4.3. Judgement and approach

On completion of the course, the student should be able to:

  • Independently and critically evaluate and analyse solutions.

5. Learning activities

The course is used as a campus course.
The teaching consists of lectures and laboratory sessions. The lectures present theories and contribute to the theoretical understanding required to complete the course. The lectures highlight parts of the course material, and the student is expected to assimilate the remaining parts independently. 

Laboratory exercises apply the theory in practical elements that are carried out individually or in groups. If laboratory work can be carried out in a group, this will be stated by the course coordinator at the start of the course. The assignments for the laboratory exercises should be carried out mainly in the programming language C / C++. The student should have sufficient understanding of the languages to be able to independently transform theory into practice in laboratory work.

The course assumes that the student has, or acquires, the ability to independently search for information in order to solve problems and difficulties that arise.

6. Assessment and grading

Modes of examinations of the course

Code Module Credit Grade
2410 Laboratory Session 1 1.5 credits GU
2420 Laboratory Session 2 1.5 credits GU
2430 On-campus Examination[1] 4.5 credits AF

[1] Determines the final grade for the course, which will only be issued when all components have been approved.

The course will be graded A Excellent, B Very good, C Good, D Satisfactory, E Sufficient, FX Failed result, a little more work required, F Fail.

Written examinations may be followed up orally. Supplementary laboratory work is not given unless otherwise stated. The final grade for the course is based on the results of the written exam. Examination of laboratory assignments is done through one or more of the following alternatives: review of program code, individual oral presentation, written report.

The information before the start of the course states the assessment criteria and make explicit in which modes of examination that the learning outcomes are assessed.

An examiner can, after consulting the Disability Advisor at BTH, decide on a customized examination form for a student with a long-term disability to be provided with an examination equivalent to one given to a student who is not disabled.

7. Course evaluation

The course evaluation should be carried out in line with BTH:s course evaluation template and process.

8. Restrictions regarding degree

The course can form part of a degree but not together with another course the content of which completely or partly corresponds with the contents of this course.

9. Course literature and other materials of instruction

Titel: Modern Operating Systems: Global Edition, 4/E
Authors: Andrew S Tanenbaum, Herbert Bos.
Publisher: Pearson Education Limited.
Released: 2015
ISBN-10: 1292061421
ISBN-13: 9781292061429

Material from the department.

10. Additional information

This course replaces DV1628