Code |
14342
|
Year |
2
|
Semester |
S2
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
Knowledge of C Programming.
|
Mode of delivery |
Mainly Face to Face.
|
Work placements |
Does Not Apply.
|
Learning outcomes |
Understand the basics of computer architecture and the interrelationships between hardware and operating systems software. Appreciate the various types of operating system architectures and understand their components. Become familiar with using, administrating and programming operating systems. At the end of the course the student should be able to identify the role and impact of an operating system, identify and solve practical problems related to the development and use of an operating system and have basic knowledge about operating systems programming. The student should also have gained experience in the use, management and programming of operating systems.
|
Syllabus |
Lecture Program 1. Introduction 2. Operating system structures and input/output (I/O) systems of a computer 3. Architecture of an operating system 4. Processes and threads 5. Synchronization and communication between processes/threads 6. Memory management and virtual memory 7. File systems Program of practical lessons 1. Use of the operating system (Linux) 2. Programming with the Bash Shell 3. Linking and libraries 4. Low-level I/O 5. Processes and threads 6. Files and directories 7. Communication between processes 8. Synchronization and semaphores
|
Main Bibliography |
Operating Systems Concepts (10th Edition), A. Silberschatz e P. Galvin, Addison-Wesley, 2018. ISBN 978-1-118-06333-0 Modern Operating Systems, Third Edition Andrew S. Tanenbaum, Prentice Hall 2008 Advanced Programming in the Unix Environment W. Stevens, Addison-Wesley, 1992 Unix Network Programming, Volumes 1 e 2, W. Stevens, Prentice Hall, 1998 Computer Systems: A Programmer's Perspective (Segunda Edição), Randal E. Bryant, David R. O'Hallaron, Prentice Hall, 2010
|
Teaching Methodologies and Assessment Criteria |
Assessment methods and criteria: Written Assessments (ACh) Group and Individual programming exercises and projects (ACo) Continuous Evaluation during the practical lessons (AP)
|
Language |
Portuguese. Tutorial support is available in English.
|