Computer Architecture and Operating Systems

You are here

Credits
6
Types
Compulsory
Requirements
This subject has not requirements
Department
AC
Mail
This course provides the student with basic and transversal knowledge about the structure of the computer. They are used in a direct or indirect way in other courses throughout the degree. It also includes basic knowledge of coding data, the structure of programs and libraries, user and system execution levels, the concepts of compilation and interpretation of programs, data storage systems, file systems, parallelism, and performance evaluation techniques.

Teachers

Person in charge

  • Jordi Fornes de Juan ( )

Weekly hours

Theory
2
Problems
2
Laboratory
0
Guided learning
0
Autonomous learning
6

Learning Outcomes

Learning Outcomes

Knowledge

  • K3 - Identify the mathematical foundations, computational theories, algorithmic schemes and information organization principles applicable to the modeling of biological systems and to the efficient solution of bioinformatics problems through the design of computational tools.

Skills

  • S8 - Make decisions, and defend them with arguments, in the resolution of problems in the areas of biology, as well as, within the appropriate fields, health sciences, computer sciences and experimental sciences.

Competences

  • C6 - Detect deficiencies in the own knowledge and overcome them through critical reflection and the choice of the best action to expand this knowledge.

Objectives

  1. Knowledge about the features and limitations, especially about accuracy error, of the different data representation formats in a computer.
    Related competences: K3, S8,
  2. Knowledge about a processor architecture based on the von Neumann model, as well as its key components
    Related competences: K3, C6,
  3. Knowledge about logical memory space, from how it is used to how some contents are managed.
    Related competences: K3,
  4. Knowledge about the basic concepts of an Operating System and understanding the impact on performance and energy consumption of a system.
    Related competences: K3, S8, C6,
  5. Knowledge about the procedure to create and debug a program, as well as its requirements.
    Related competences: C6,
  6. Understand the relationship between the subject and the field of bioinformatics.
    Related competences: K3, S8, C6,

Contents

  1. Overview
    A brief introduction about the course, topics, and its relation with the Bioinformatics area.
  2. Bits, bytes, ints and floats
    This lesson focuses on the finite representation of data at different levels of complexity, its limitations and the implementation of basic operations.
  3. Computer architecture
    Introduction to processor architecture, based on the von Neumann model, and its components. Describe the elements that make up a computer: processors, memory hierarchy, input/output components, data storage and how they are interconnected.
  4. Process Management
    Describe the process concept and concurrency at the heart of modern operating systems. Examine the programmer's interaction with the underlying operating system through system calls.
  5. Filesystems and Input/Output Management
    Describe how mass storage, the file system, and I/O are handled in a modern computer system.
  6. Memory management
    This unit deals with the management of main memory during the execution of a process. It is a presentation of basic points to understand the aim, design, use and management of logical and physical memory space.

Activities

Activity Evaluation act


Midterm exam


Objectives: 1 2
Week: 8 (Outside class hours)
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Overview

A brief introduction about the course, topics, and its relation with the Bioinformatics area. Read chapter 1 in the textbook.

Theory
2h
Problems
6h
Laboratory
0h
Guided learning
0h
Autonomous learning
3h

Bits, bytes, ints and floats

This lesson focuses on the finite representation of data at different levels of complexity, its limitations and the implementation of basic operations.

Theory
6h
Problems
8h
Laboratory
0h
Guided learning
0h
Autonomous learning
9h

Shell task

The objectives of this assignment are practising with the basic Unix commands to deal with data from a shell. A shell is a software program that interprets and executes command lines. A shell script is a list of such command lines, written down together in a text file. Besides, we will understand mechanisms to monitor kernel information associated to the active processes of the system.
Objectives: 4 5 6
Week: 4 (Outside class hours)
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
9h

Data task

The purpose of this assignment is to become more familiar with bit-level representations of characters, integers and floating point numbers. You will do this by solving a series of programming puzzles. Many of these puzzles are quite artificial, but you will find yourself thinking much more about bits in working your way through them.
Objectives: 1 2 5
Week: 8 (Outside class hours)
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

Computer Architecture

Introduction to processor architecture, based on the von Neumann model, and its components. Describe the elements that make up a computer: processors, memory hierarchy, input/output components, data storage and how they are interconnected.

Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Process management

Describe the process concept and concurrency at the heart of modern operating systems. Examine the programmer's interaction with the underlying operating system through system calls.

Theory
6h
Problems
8h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

Proc task

The objectives of this assignment are practising with the basic system calls to manage processes, and the basic commands and mechanisms to monitor kernel information associated to the active processes of the system. You'll do this by creating processes that execute functions. These functions are quite artificial, but you'll find yourself thinking much more about processes in working your way through them.
Objectives: 2 3 4 5 6
Week: 13 (Outside class hours)
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

Filesystems and Input/Output Management

Describe how mass storage, the file system, and I/O are handled in a modern computer system.

Theory
6h
Problems
8h
Laboratory
0h
Guided learning
0h
Autonomous learning
9h

IO task

The purpose of this assignment is to understand how input/output system calls work. They deal with bytes and you need to program how to interpret them (as integers, characters, etc.).
Objectives: 1 4 5 6
Week: 16 (Outside class hours)
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

Memory management

This unit deals with the management of main memory during the execution of a process. It is a presentation of basic points to understand the aim, design, use and management of logical and physical memory space.

Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Teaching methodology

Theoretical lectures (recitations) are given by the lecturer and students are expected to attend and participate in them.

During the practice sessions, students will work in pairs, supervised and supported by the professor, to solve tasks that will be graded.

Evaluation methodology

There will be a miderm exam (mark M), which will last two hours, and a final exam (mark E), which will also last two hours long. Both administered in person on paper.

The exams are closed book. You may bring two (2) A4-sized sheets of notes, with anything you want written or printed on them, but you may not refer to any other book, document, or online reference during the exam.

You are not permitted to use a calculator or any other electronic aid.

There will be four graded computer tasks. These will result in the practical mark (P mark). In these assignments, you will work in pairs.

The calculation of the final grade (FG) will be:

FG = 0.4*P + 0.6*max(E, 0.4*M+0.6*E)

Those who have attended the final exam and have an FG lower than 5 are entitled to a retake exam (reava). This will take place in a laboratory classroom, will last two hours and will consist of theoretical and practical questions, under the same conditions as the rest of the exams. The reava grade will be the final grade of the course, replacing FG.

Bibliography

Basic:

Complementary:

Web links