INFT1005
Computer architecture and operating systems
Last taught 2024
Spring
Trondheim
Norwegian
About this course
Content
Computer technology: The main components of the computer and how they interact (system architecture), cache and location, processor architecture. Representation of the most important data types and how the computer stores and processes them.
Operating system: operating system concepts, core, system calls, processes and threads, process communication, concurrency and synchronization, scheduling, virtual memory, paging and segmentation, page replacement algorithms, design and implementation, file system implementation, input / output, deadlock, virtualization, object security, malware and memory security , low level / system programming.
Learning outcomes
Knowledge
K1: The candidate can explain how layering / abstraction is used in computer architecture and operating systems to create simplified and tidy interfaces
K2: The candidate can explain how the main components are tuned to optimize performance in modern system architecture.
K3: The candidate can explain how operating systems manage the computer's physical and logical resources with a view to optimal utilization
K4: The candidate can explain how the security mechanisms work and are implemented in modern computer systems, and be able to explain the most important security goals of an operating system
Skills
F1: The candidate can make use of his theoretical knowledge within the subject of the course in relevant practical problem solving.
F2: The candidate can take advantage of the possibilities offered by modern operating systems (and associated standard libraries) to parallelize and synchronize computer programs both using processes and threads
F3: The candidate can evaluate the performance of computer programs, especially with regard to parallelism, caching and virtualization
F4: The candidate may debug the execution of computer programs that have deviant behavior
F5: The candidate can solve common, minor programming tasks related to the use and operation of operating systems
General competence
The candidate has the competence to independently both convey and apply their knowledge and skills within the subject of the course in a work situation.
Teaching methods
Text-based lessons and exercises supplemented with tutorial videos and discussion groups.
Most learning activities are asynchronous.
Compulsory exercises must be approved in order to sit for the exam.