Academic year 2013-14

Operating Systems

Degree: Code: Type:
Bachelor's Degree in Computer Science 21421 Compulsory subject, 2nd year
Bachelor's Degree in Telematics Engineering 21724 Compulsory subject, 2nd year
Bachelor's Degree in Audiovisual Systems Engineering 21653 Optional subject

 

ECTS credits: 4 Workload: 100 hours Trimester: 2nd

 

Department: Dept. of Information and Communication Technologies
Coordinator: Martín Sánchez-Fibla
Teaching staff:

Martí Sanchez-Fibla, Windhya Rankothge , David Garcia 

Language:

Theory courses will be given in catalan

Seminars and Laboratory will be taught in English

Martí Sanchez-Fibla (Catalan),

Windhya Rankothge (English, Spanish), 

David Garcia (Spanish)

Timetable:
Building: Communication campus - Poblenou

 

Introduction

Operating Systems is a compulsory course offered in computer engineering and telematics engineering as part of the second year of these degrees. The course studies the organization, structure and characteristics of operating systems, process management and memory. The course has a theoretical and practical component. Within the theoretical component the emphasis is on understanding the concepts at an intuitive level rather than the strict use of a formal mathematical language.

The course has three main activities: lectures, seminars and laboratories. In the theoretical classes are introduced formal concepts and provides examples of its application. In seminars students solve small problems. Each problem corresponds to one of the concepts introduced in theory class. In practical classes student solve more complex problems with a computational component and they have the oportunity to put in practice the learned concepts.

Learning Objectives 

The aim of this course is to make students understand the utility of the operating system as a link between computer and its physical layer (the hardware). Similarly, you want to get the students to manage the resources of a computer by using the services provided by the operating system.

More specifically, it aims to achieve the following objectives:

 

Prerequisites

The background needed to follow the course include knowledge acquired during the first year of studies. In particular:

This course assumes the assimilation of the concepts learned in Fundamentals of Programming and Data Structures and Algorithms.

 

Associated competences

The main objective of the course is to provide students with fundamental aspects related to operating systems: operating systems components, processes, process synchronization, CPU scheduling, deadlocks, memory management, virtual memory, file systems.

 

General skillsSpecific skills

Instrumentals

1. Ability to reason at an abstract level

2. cognitive skills

3. common sense

Interpersonal

4. Communication Skills

Systemic

5. Ability to identify the best methodology to solve a problem.

6. Ability to solve such problems by combining nontrivial new and known elements

7. Ability to generate ideas

1. Ability to understand on an intuitive level, formal different aspects in operating systems: components, processes, memory management, file system.

2. Ability to apply knowledge of processes, memory management, and file system in practical contexts. 

3. Ability to understand and modify the inner workings of current operating systems.

 

 

Assessment

In the, so called, continuous evaluation,  three activities will be taken into account: lectures, labs and seminars:

 Evaluation2nd chance
Theory

Evaluation through a final exam

Yes

Lab

Evaluation by exercices in the lab (LP) and through a final exam (LE)

LP: No
LE: Yes

Seminars

Evaluation by exercices of the seminars sessions

No

 

 

T : evaluation of the theory through a final exam ( recoverable in July)

L : laboratory evaluation with programming practices (non-recoverable) and practical final exam (recoverable in July).
S : evaluation of seminars (non-recoverable)

In the evaluation, one must pass each of the three activities separately and the final grade is obtained by the weighted average as follows :

Final Grade = 0.6 * T + 0.3 * L + 0.1 * S

The theory exam will be based on the content explained in the theory class and seminars. It will consist of an individual written exam that assesses all the skills developed throughout the course. This assessment is mandatory and must be qualified with at least 50 % to pass the course.

In the lab a series of practices will be performed to test the students ability to apply the theory in the form of computer programs. The practices are made in pairs, so that students have to cooperate and communicate to solve problems. Practices are mandatory and are also qualified in two parts: a continuous evaluation during the trimester based on delivered computer programs (LP) , and the other as a part of the final exam of the course dedicated to practical issues (LE) . Each of the parts has to be qualified with at least 50% to pass the course . The mark L corresponding to the practice evaluation is obtained by a weighted average as follows :

L = 0.6*LP +  0.4*LE

The details of the delivery practices throughout the trimester and the penalties for late delivery will be published in the global campus course.

Before each seminar students will given problems to solve in teams of two people. These problems will use the concepts and knowledge of introduced in the theory class. Students will finish some answers to the problems during the seminar. The evaluation will consider the preparation of the seminar , the presentation of the proposed solution, and the use of the seminar. Job evaluation of the seminars is mandatory.

If the student does not get a final mark greater than 50%, it will be given a second oportunity in July.

In the July session it will only be possible to recover the part of the theory test and the practical final exam. That is, the programming practices and the seminars are not recoverable in the July session. The mark of this call will be obtained in the same way  explained above.

 

Contents

 ConceptsProceduresAtitude

 

Content Block 1.

Components of an operating system

- System Calls

- System processes

- Memory, files,

- VM

- Work Session

- System libraries

- System Tools

- Core (kernel)

- applications

-Introduction to the different computer components

- Brief description of the evolution of ordenadors and Description dels tipus operatius systems

- Description of the components of an operating system

- Description of the command interpreter and command types that exist

- Description of the types of system llibrerias

- Description of the general processes of development and execution of applications.

 

- Interest to learn new concepts and deepening in previously learned concepts

- Interest to abstract concepts and relate them to real situations

 

Content Block 2.

Process Management

- program

- concurrency

- process

- thread

- Synchronization process

- CPU scheduling

- deadlocks

- Analysis of the elements necessaries to create a concurrent program

- Description of the control block
processes (PCB)

- Analysis of the possible states of the
concurrent processes

- Process management, creation,
destruction sincronitzación, canvi
d'imatge, input / sortida

- Estrategies of CPU Planification

-Readiness to understand concepts that initially seem complex.

- Interest to learn new concepts and deepening previously learned concepts

- Interest to abstract concepts and relate them to real situations

 

Content Block 3.

Memory management

- Memory space

- Memory address

- Memory assignación

- Memory partition

- Memory segment

- paging

- Virtual Memory

- cache

- Memory address

Analysis of memory space
processes

- Types of memory management

- Partitions
fixed and variable memory

- Segmentation and
memory paging

 

-Readiness to understand concepts that initially seem complex.

- Interest to learn new concepts and deepening in previously learned concepts

- Interest to abstract concepts and relate them to real situations

 

Content Block  4.

Input/Output devices

- Inupt device

- Output device

- buffer

- driver

- tub

- Analysis of the characteristics of devices
input and output

- Description of the term "buffer" and
regarding devices
Input / Output

- Description of the concept
"Spooling" and its relevance to
the input / output

Device-characteristics
physical, logical and virtual, and deepening
their
access and control operations

-Analysis lacomunicación between
processes through tubes (pipes)

 

-Readiness to understand concepts that initially seem complex.

- Interest to learn new concepts and deepening in previously learned concepts

- Interest to abstract concepts and relate them to real situations

 

Content Block  5.

File system

 

- file

- directory

- Root directory

- Working directory

- Directory

- Filename

- link

- protection

 -Description of existing file types and their properties

- Analysis of the possible operations applicable to files

- Analysis of characteristics of various types of file namespaces

- Features and operations applicable to file systems

- Analysis of mechanisms available to protect files

-Availability to understand concepts that initially seem complex.

- Interest to learn new concepts and deepening previously learned concepts

- Interest to abstract concepts and relate them to real situations

 

Methodology

Theory classes

These classes will address the theoretical concepts of the content blocks of the subject. In the operating systems there are two groups of Theory, T1 and T2. The lectures consist of 9 sessions (for each group) of two hours duration.The teacher develops the subject and has as supporting material of the course a computer, a projector and a whiteboard. Slides will be used and will serve as teaching material for the students. The concepts discussed in these sessions will be used in the two remaining learning activities of the course; seminars and practice sessions .

Practice Sessions 

These sessions will be devoted to practice in front of a computer the different concepts of the subject. The first group of theory T1 is divided into two groups, the groups defining practices P101 and P102 . The second theory T2 group is divided into two practice groups P201 and P202.

These sessions are done in the lab and have a duration of two hours. The instructor will deliver a statement in which it explains the guidelines and different objectives to be achieved in the practice session and will provide the necessary material 

 The student will deliver a report at the end of the practice session and the teacher will evaluate it. This activity is done in pairs and exceptionally also individually. It is assumed that  the work for the practical sessions continues outside the classroom. 

Seminar Sessions

These sessions are devoted to describing points of particular relevance to the content blocks of the subject. The seminar sessions will last two hours each. In these sessions, the teacher will pose specific problems that will help reinforce the knowledge acquired in the sessions of theory and practice of the subject. Students must deliver solutions at the beggining of the session. For this activity, the teacher will have a computer, projector and whiteboard as support material. It may use transparencies and generally any kind of material that will help reinforce the concepts learned in the theory sessions of the course. Activities will take place in pairs. The first group of theory T1 is divided into three groups defining groups seminars S101 , S102 and S103 . The second theory T2 group is divided into three groups by defining the group seminars S201 , 202 and S203 .

 

Resources

Basic Bibliography  (paper and electronic)

Abraham Silberschatz. Fundamentos de sistemas operativos. McGraw-Hill, 2006. 7a ed. ISBN 8448146417

Evi Nemeth et al. Unix and Linux system administration handbook. Upper Saddle River, NJ : Prentice Hall, 2010. 4th ed. 

Complementary Bibliography  (paper and electronic)

Stevens, W. Richard, Advanced programming in the UNIX environment. Addison-Wesley, 1993. ISBN 0-201-56317-7

William Stallings. Sistemas operativos : aspectos internos y principios de diseño traducción y revisión técnica: José María Peña Sánchez ... [et al.] 5a ed. Madrid [etc.] : Prentice Hall, cop. 2005. ISBN 84-205-4462-0

Tanenbaum, Andrew S., Modern operating systems. Prentice Hall, cop. 2001 2nd edition. , ISBN 0-13-031358-0

Teaching resources. Teaching materials of the course

All material will disponble in the Aula Global of the course.
Slides
Material in Chapters
Collection of exercises
Practices Statements
Set of  problems for the Seminars sessions