Computer Architecture and Operating Systems

2020/2021

Prerequisite/Recommended prerequisite for participation in the module

The module builds on the knowledge gained in the modules "Programming" and "Internetworking and web-programming"

Content, progress and pedagogy of the module

Disclaimer.
This is an English translation of the module. In case of discrepancy between the translation and the Danish version, the Danish version of the module is valid.

Give understanding of how applications run on a computer in conjunction with system software, utilize this to streamline applications, as well as introduce multi-programming.  

Programs are written in high-level languages, translated into machine code and then driven on computers in conjunction with its operating system. The course gives the student a knowledge of the various steps in translating and executing high-level programs on computers, including how a specific processor executes a program.

The course also introduces how the architecture and system services can be used in application programmes with a focus on concurrency.

In this course, the student obtains knowledge of basic concepts in computer architecture, operating systems, and concurrency.

Learning objectives

Knowledge

  • Abstraction layers in computer architecture and operating systems
  • Organization of hardware components (processor, memories, peripherals, buses,...)
  • Processor architectures (Harvard, von Neuman) and types (embedded, desktop, high-performance, server, micro-controllers, DSP)
  • Number and data representation.
  • Instruction set architectures
  • Instruction level parallelism
  • Digital logical circuits and Boolean algebra
  • The inventory hierarchy
  • Virtual memory
  • The driving time environment of a running program
  • Interruptions (interrupts), system calls, and exceptions
  • Cores and operating systems, virtual machines
  • Multi-programming: processes and threads, synchronisation, deadlocks
  • Basic multi-core programming

Skills

  • Be able to explain the behavior of simple application at the assembler level
     
  • Be able to understand and use special instructions in programs
     
  • Be able to write programs to make the best use of your computer's hardware and processor, such as the storage hierarchy, instructional level parallelism, and explicit parallelism
     
  • Be able to analyze and write simple, system-close programs that use parallelism and/or concurrency
     
  • Be able to use the techniques of the profession to ensure reciprocal exclusion, fairness and absence of deadlock in simple simultaneous/parallel systems
     
  • Be able to use correct terminology, accurately describe and use the terminology and notation of the course for building, structuring, functionality and operation of the computer architecture and operating systems

Competences

  • After the course, the student can formulate and solve simple low-level-related issues that are grounded in knowledge of computer architecture, running time environments, operating systems, etc. - both independently and in cooperation with others.
  • By synthesis of the profession's concepts and techniques, the student should be able to develop system-close simple programs that use parallelism and/or simultaneity.
  • The student must be able to acquire new knowledge of operating systems and programming of simultaneous and parallel systems

Type of instruction

The teaching is organised according to the general teaching forms referred to in  § 17.

Extent and expected workload

The student is expected to spend 27.5 hours per ECTS, which for this activity means 137.5 hours.

Exam

Exams

Name of examComputer Architecture and Operating Systems
Type of exam
Written exam
ECTS5
Assessment7-point grading scale
Type of gradingExternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: Study Board for Computer Science via cs-sn@cs.aau.dk or 9940 8854

Facts about the module

Danish titleComputerarkitektur og operativsystemer
Module codeDSNSWCB413
Module typeCourse
Duration1 semester
SemesterSpring
ECTS5
Language of instructionDanish
Empty-place SchemeYes
Location of the lectureCampus Copenhagen
Responsible for the module

Organisation

Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyTechnical Faculty of IT and Design