Code: | L.EIC015 | Acronym: | SO |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Informatics Engineering and Computing |
Active? | Yes |
Web Page: | https://moodle.up.pt/course/view.php?id=1639 |
Responsible unit: | Department of Informatics Engineering |
Course/CS Responsible: | Bachelor in Informatics and Computing Engineering |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
L.EIC | 281 | Plano Oficial | 2 | - | 6 | 52 | 162 |
Teacher | Responsibility |
---|---|
Carlos Miguel Ferraz Baquero-Moreno | |
Luís Miguel Barros Lopes |
Lectures: | 2,00 |
Recitations: | 2,00 |
Type | Teacher | Classes | Hour |
---|---|---|---|
Lectures | Totals | 2 | 4,00 |
Luís Miguel Barros Lopes | 2,00 | ||
Carlos Miguel Ferraz Baquero-Moreno | 2,00 | ||
Recitations | Totals | 11 | 22,00 |
João Pedro Matos Teixeira Dias | 4,00 | ||
Luís Miguel Barros Lopes | 2,00 | ||
José Manuel de Magalhães Cruz | 4,00 | ||
Carlos Miguel Ferraz Baquero-Moreno | 6,00 | ||
André Nuno de Pinho Tavares Gurgo e Cirne | 2,00 |
The main objectives of this curricular unit are to provide the fundamental knowledge on:
O1- the structure and the operation of a generic operating system;
O2- the use of the Application Programming Interface (API) of a real operating system.
The students who complete successfully this curricular unit should be able to:
LO1- describe the functions and the general structure of an operating system and identify the main abstractions that it provides;
LO2- describe the operation of the essential components of an operating system, the way they interact and the fundamental algorithms used to implement them;
LO3- develop programs using and exploring the API of an Unix-type operating system.
Previous knowledge of programming with the C language is required. Approval in the curricular unit of "Programming" is recommended.
INTRODUCTION TO OPERATING SYSTEMS
- Objectives and functions of an operating system
- System boot
- Command interface: Shell
- Supported abstractions, system calls and their programming interface
PROCESS MANAGEMENT
- Process life cycle
- Scheduling
- IPC: Signals, mmap, pipes / UNIX sockets
THREADS and CONCURRENT PROGRAMMING
- Thread live cycle
- Mutual exclusion: Peterson, test & set
- Locks, semaphores and condition variables
- Lock order and two-phase locking
- Thread-safe structures: Queues, Barrier, RW registers
MEMORY MANAGEMENT
- Memory hierarchy
- Physical memory management
- Virtual memory
- Process memory model
- Segmentation and pagination
- Hardware-level support
FILE SYSTEMS
- Storage devices
- Partitioning, volumes, swap space
- File-system
- OS API and implementation
- Data structures and space management
INPUT/OUTPUT SYSTEMS
- Devices and bandwidth profile
- Interrupts and interrupt management
- Controllers and device drivers
- UNIX /dev directory
Complementary practice (covered along the course )
SYSTEM PROGRAMMING (UNIX/LINUX API)
- File and directory manipulation
- Process and thread creation and management
- Interprocess communication: signals, pipes, FIFOs, and shared memory
- Process and thread synchronization: semaphores, mutexes and condition variables
- Theoretical classes: presentation and discussion of the subject matter.
- Theoretical/practical classes: resolution of programming exercises involving the use of the Unix/Linux API.
- Self-learning: study of the programme themes, using the bibliography and the materials available at the web page of the curricular unit; resolution of exercises and development of a project, involving the use of the API.
Designation | Weight (%) |
---|---|
Trabalho prático ou de projeto | 30,00 |
Teste | 70,00 |
Total: | 100,00 |
Designation | Time (hours) |
---|---|
Estudo autónomo | 66,00 |
Frequência das aulas | 56,00 |
Trabalho laboratorial | 40,00 |
Total: | 162,00 |
Both theory and practice classes are in person. Attendance is not mandatory but presence might be registered for reasons of pandemic surveillance.
Grading has two components:
One assignment (TP, graded with 6 points)
Two tests (T1 and T2, graded with 7 points each)
The frequency requirement is to have at least 3 points (in 6) on TP.
Due to the new TP setup, students who have attended this course last year and obtained frequency, still need to obtain this year the frequency requirement.
The final mark (Final) results from the expression:
Final = TP + T1 + T2
(Observation: TP, graded with 6 points; T1 and T2, graded with 7 points each)
To pass the course students much obtain at least 7 points in the sum of T1 and T2 points.
The exam allows obtaining approval to one or both of the components T1 and T2.
Students with special status are subject to the same assessment conditions as regular students, except that they are exempt from attending practical classes.
Special-season exams are therefore equivalent to the written exams of normal and resit periods for regular students.
The overall grade of the practical works can only be improved in the following academic year.
The grade of the written exam can be improved in the exam seasons legally provided.