Skip to main content

Computer Architecture and Operating Systems

Credits
6
Types
Compulsory
Requirements
This subject has not requirements , but it has got previous capacities
Department
AC
Web
https://docencia.ac.upc.edu/FIB/BDBI/CAOS/
Mail
jfornes@ac.upc.edu
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

Weekly hours

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

Competences

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
    0h
    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
    0h

    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
    0h

    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
    4h
    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
    2h
    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
    0h

    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
    0h

    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
    2h
    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 two miderm exams (marks M1, M2), which will last two hours, and a final exam (mark E), which will also last two hours long. All of them administered in person on paper.

    The exams are open book, closed to the Internet. You are not permitted to use a calculator or any other electronic aid.

    The cross-curricular competence of independent learning is assessed on the basis of the progress reports submitted during the course and accounts for 10% of the final mark. Mark P.


    The final grade (FG) will be calculated as follows:

    FG = 0.1*P + 0.9*max(E, 0.25*M1 + 0.25*M2 + 0.50*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