Download Operating Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Library (computing) wikipedia , lookup

RSTS/E wikipedia , lookup

Process management (computing) wikipedia , lookup

Unix wikipedia , lookup

Copland (operating system) wikipedia , lookup

VS/9 wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Security-focused operating system wikipedia , lookup

Burroughs MCP wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

DNIX wikipedia , lookup

CP/M wikipedia , lookup

Distributed operating system wikipedia , lookup

Spring (operating system) wikipedia , lookup

Unix security wikipedia , lookup

Transcript
Operating Systems
Learning outcomes of the curricular unit: This discipline aims to introduce the fundamental knowledge
concerning the modern operating systems design. More specifically, the operating system most important
functions and their main associated concepts are presented - process management, process communication,
deadlocks, memory management, file systems and input/output management.
Practical knowledge of the UNIX operating system concepts and capability to use its main services in application
development is also a key objective.
This practical approach includes the capability to identify potential risk circumstances inherent to
concurrent programming and to use suitable control mechanisms.
Syllabus:
1 Introduction to Operating Systems
1.1 Operating System concept
1.2 History of Operating Systems
1.3 Characteristics of modern operating systems
1.4 Basic concepts and structure of an operating system
2 Processes
2.1 Processes and threads
2.2 Process scheduling
2.3 Interprocess Communication
2.4 Competition and cooperation between processes
3 Deadlocks
3.1 Resource acquisition
3.2 introduction to deadlocks
3.3 Deadlock detection and recovery
3.4 Deadlock prevention
4 Memory management
4.1 Basic memory manager
4.2 Swapping
4.3 Virtual memory and paging
4.4 Page replacement algortihms
4.5 Segmentation
5 Input/Output
5.1 I/O devices, DMA and interruptions
5.2 Layer model
5.2.1 Interrupt handlers
5.2.2 Device drivers
6 File Systems
6.1 Basic concepts and goals
6.2 File system implementation
6.3 Example file sysetms
7 Multiprocessor Architectures
7.1 MIMD architectures
7.2 Distributed Systems
Demonstration of the syllabus coherence with the curricular unit's objectives.
The program content is consistent with the objectives of the curricular unit since they allow students a practical
knowledge of UNIX operating systems and their use in application development.
Teaching methodologies (including evaluation):
The classes will be taught in practical laboratorial regime, in computer equipped rooms. The methodology
used will be expositive, concerning the presentation of the concepts mentioned in the syllabus, complemented
with their application in practical exercises.
The evaluation process will include the realization of a theoretical written exam and an individual practical
programing work, which is also individually presented. If the classification of the theoretical exam is greater
than or equal to 7 (0-20), the final classification will be the sum of 60% of the classification of the practical
work with 40% of the classification of the theoretical exam. Otherwise, the final classification is the
classification obtained in the theoretical exam.
Demonstration of the coherence between the teaching methodologies and the learning outcomes.
The teaching methodologies are coherent with the learning outcomes, since a practical and effective
application of the transmitted knowledge is privileged, through the supervised resolution of exercises and a
practical development work.
Bibliography:
1. A. S. Tanenbaum, Modern Operating Systems, 3rd Ed., Prentice Hall, 2007.
2. W. Stallings, Operating Systems: internals and design principles, 6th Ed., Prentice Hall, 2008.
3. K. A. Robbins, S. Robbins, UNIX SYSTEMS Programming: Communication, Concurrency, and
Threads,
Prentice Hall, 2003.
4. S. G. Kochan, P. Wood, UNIX Shell Programming, 3rd Edition, Sams, 2003.
5. P. Costa, D. Melo, P. Soares, P. Silva, Apontamentos de Sistemas Operativos, ISCAC, 2010.