Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Library (computing) wikipedia , lookup
Process management (computing) wikipedia , lookup
Copland (operating system) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Security-focused operating system wikipedia , lookup
Burroughs MCP wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Distributed operating system wikipedia , lookup
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.