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
Teachers
Person in charge
- Jordi Fornes de Juan ( jfornes@ac.upc.edu )
Weekly hours
Theory
2
Problems
2
Laboratory
0
Guided learning
0
Autonomous learning
6
Competences
Knowledge
Skills
Competences
Objectives
-
Knowledge about the features and limitations, especially about accuracy error, of the different data representation formats in a computer.
Related competences: K3, S8, -
Knowledge about a processor architecture based on the von Neumann model, as well as its key components
Related competences: K3, C6, -
Knowledge about logical memory space, from how it is used to how some contents are managed.
Related competences: K3, -
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, -
Knowledge about the procedure to create and debug a program, as well as its requirements.
Related competences: C6, -
Understand the relationship between the subject and the field of bioinformatics.
Related competences: K3, S8, C6,
Contents
-
Overview
A brief introduction about the course, topics, and its relation with the Bioinformatics area. -
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. -
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. -
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. -
Filesystems and Input/Output Management
Describe how mass storage, the file system, and I/O are handled in a modern computer system. -
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
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
-
Computer systems : a programmer's perspective
- Bryant, Randal E; O'Hallaron, David R,
Pearson,
2016.
ISBN: 9781292101767
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004062589706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementary
-
Operating system concepts
- Silberschatz, Abraham; Galvin, Peter B; Gagne, Greg,
John Wiley & Sons,
2019.
ISBN: 9781119454083
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004148389706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Computer architecture : a quantitative approach
- Hennessy, John L; Patterson, David A,
Elsevier/Morgan Kaufmann,
[2019].
ISBN: 9780128119051
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004117509706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- CAOS web page https://docencia.ac.upc.edu/FIB/BDBI/CAOS/