How to find us
|
Contacts

Operating Systems 2017/2018

  • 6 ECTS
  • Taught in Portuguese
  • Continuous Assessment

Objectives

• Describe the objectives and functions of an operating system, and identify the key abstractions that it provides
• Describe the operation of the essential components of an operating system, how these components interact with each other, and the fundamental algorithms used in its implementation
• Develop programs for system configuration in the Linux environment
• Carry out simple administration tasks according to security policy
• Analyze the tradeoffs inherent in operating system design

Recommended Prerequisites

There are no mandatory pre-requisites;


However, it is advisable that students be familiar with:
• basic C programming language (Introduction to Programming and Algorithms);
• basic Java programming language (Object Oriented Programing);
• the main subsystems of a personal computer (Computer Architecture and Organization).

Teaching Metodology

In the theoretical classes will be used the lecture method to present the different theoretical and practical concepts. It will also be presented, examples that help the understanding of the topics. The laboratorial classes are dedicated to the system configuration, to the development of small programs that use system calls to the OS through programming, and to administration and security. The active participation of all students will be stimulated.

Body of Work

1. Concepts and overview of an operating systems;

2. Processes: familiarity, its description, and states of a process;

3. Concurrent execution among processes: mutual exclusion, synchronization, starvation, and deadlocks;

4. Process scheduling: single processor and multi-processor algorithms;

5. Memory management and virtual memory;

6. Input/output system;

7. File system;

8. System configuration;

9. System administration and security basics.

Recommended Bibliography

• Modern Operating Systems, Andrew S. Tanenbaum and Herbert Bos, 4th Edition, Prentice Hall, 2014
ISBN-10: 013359162X ISBN-13: 978-0133591620

• Operating Systems: Internals and Design Principles, William Stallings, 8th Edition, Prentice Hall, 2014
ISBN-10: 0133805913 ISBN-13: 978-0133805918

• Introduction to the Operating Systems: http://www.youtube.com/watch?v=wn3vLhfGTJA

• Windows history: http://www.youtube.com/watch?v=fI9SPjFQgDk

Complementary Bibliography

• Operating System Concepts, Abraham Silberschatz, Peter B. Galvin and Greg Gagne, 9th Edition, John Wiley & Sons, 2012
ISBN-10: 0471694665 ISBN-13: 978-0471694663

• Computer Systems: A Programmer's Perspective, Randal E. Bryant and David R. O'Hallaron, 2nd Edition, Addison-Wesley, 2010
ISBN-10: 0136108040 ISBN-13: 978-0136108047

Weekly Planning

1. Introduction.
2. Concepts and overview of an operating system.
• Exercises with Linux operating system commands.
3. Processes: overview, description and process states.
• Concurrency among processes; mutual exclusion, synchronization, starvation, and deadlocks.
• Exercises with Linux operating system commands.
4. Process scheduling: single- and multiprocessor algorithms.
• Exercises with Linux operating system commands.
5. Memory management and virtual memory.
• Exercises with Linux operating system commands.
6. input/output system and file system
• Exercises with Linux operating system commands.
7. Linux operating system
• Exercises with Linux operating system commands.
• Middle term exam.
8. Windows operating system
• Exercises with Windows operating system commands.
9. Java programming language
• Exercises regarding threads and processes.
10. Java programming language
• Exercises regarding threads and processes.
11.Administration and security
• Exercises regarding system configuration.
12.Administration and security
• Exercises regarding network services installation.
13. C programming language
• Exercises regarding network services installation.
14. C programming language
• Exercises in C programming language.
15. Middle term exam
• Group Projects presentation

Note: The middle term exams' dates are subject to the publication of the grading map, and may be changed.

Demonstration of the syllabus coherence with the curricular unit's objectives

• Through the introduction of operating systems, the students will be with fundamental knowledge to describe the functions and the general structure of an operating system, and identify the key abstractions that it provides.
• Through the study of process management, memory management systems, input / output and file system, the students will describe the operation of the essential components of an operating system, how those components interact with each other and the fundamental algorithms used in its implementation.
• The system programming allows students to be able to develop programs that use and explore the Linux operating system.

Demonstration of the teaching methodologies coherence with the curricular unit's objectives

• Through the expository method, practical exercises resolution, and lab work, the students will be able to describe the general structure and functions of an operating system and identify the main abstractions that it provides, and the operation of the essential components of an operating system, and how those components interact, and the fundamental algorithms used in their implementation
• Through the lecture method, the development of a group project, and the practical exercises resolution, the students will be able to develop programs that use and explore the Linux operating system.

relevant generic skillimproved?assessed?
Achieving practical application of theoretical knowledgeYesYes
Adapting to new situationsYesYes
Analytical and synthetic skillsYesYes
Commitment to qualityYesYes
CreativityYesYes
Ethical and responsible behaviourYes 
Event organization, planning and managementYes 
Foreign language proficiencyYes 
Information and learning managementYesYes
Initiative and entrepreneurship capabilityYesYes
IT and technology proficiencyYesYes
Problem Analysis and AssessmentYesYes
Problem-solvingYesYes
Relating to othersYes 
Research skillsYes 
Self-assessmentYes 
TeamworkYesYes
Written and verbal communications skillsYesYes
This website uses cookies to provide better functionality and for performance measurements (European Union Directive 2009/136/EC)
Please take a few minutes do answer a few quick questions about our website.