- To Understand and to explain the functionalities provided by the different hierarchical levels of the architecture of a computing system, from the physical machine to software components directly supporting the applications
- To understand and explain typical system architectures their components, as well at the hardware as the operating system level.
- To use and to configure efficiently functions and services provided by computers and operating systems
- To compare various computer implementations and identify their strengthes and weaknesses
- To know and to understand the implications of the orders of magnitude of measurable characteristics of computing systems
Main themes
- Abstraction levels in computing systems
- Architectures of processors
- Memory hierarchy
- Peripherals and peripheral interfaces
- Techniques for performance enhancement
- Machine language, assembly language and C language
- Mission and functions of operating systems
- Key concepts in operating systems
- Use of operating system functions in C programs
- C programming on computer without OS.
Content and teaching methods
see "Main themes"
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
- Prerequisite:
(1) Mastering a high level language such as Java, C or C++.
(2) Passive technical english
- References
Mandatory Book:
(1) Tanenbaum, A. S., "Modern Operating Systems (second edition)" , Prentice Hall Inc, 2001
Recommended reading
(2) Patterson, D. A. and Hennessy, J .L. , "Computer Organization and Design: the Hardware / Software Interface" , Morgan Kaufman Publ. Inc, 1998.
(3) Stevens, R. W, "Advanced Programming in the Unix Environment" , Addison-Wesley Inc, 1992.
- Organisation
(1) Individual and group based active learning
(2) Course language: French ; the course can be taken by English speaking students