Operating system introduction 2 (1st year engineer – Term 2)

Course logistics

  • 13 weeks on campus class
  • Classroom: Amphitheatre A3 – MI bloc
  • Class meeting: Saturday 10h00 – 11h30 AM              Monday 12h30 PM– 02h00 PM
  • Teacher: Dr L. Saadi
  • Reception hours: After class or by appointment

About the course:

This course is designed for the first-year engineer in the second term, it's titled “Introduction to operating systems 2”, it is among the basics of computer science because without an operating system there is no functional machine.

After learning in the first term the module “Introduction to operating systems 1”; where the students had knowledges about Unix system and how manage it and use it without taking information about a system how it works. In this term, we will study some functionalities of an OS and how it manages and operates a machine.

We will, also, study the architecture of a process and how the execution of an instruction happens and what we need for this operation. We will focus on the 8086 machine its components, registers, presenting Information and interactions.

Using this type of machine, the students will learn the assembling language, they will learn how to write a program in a low language, compile it and execute it, and how use the components of the process directly in an instruction. After that they will study the stack and memory concept.

Aims and objectives:

The aim of this module is to bring the student closer to the operation of the machine and the understanding of a few system modules.

Learn the syntax of a machine language (assembling language) and master how it works. Students should be able to write programs, compile them and run them in machine language.

Practice all these studies using the 8086 machines via the emulator: emu8086.

The students are expected to:

1/ know the structure of a computer, exactly the architecture of Van Neumann.

2/ Study the component of process and how the information flows.

3/ differentiate between the different types of machine architectures.

4/ know how to create and develop a program from A to Z, and learn what means a process.

5/ study how the process and OS manage the interrupts.

6/ learn the syntax of assembling language.

7/ learn how to use the instruction in assembling language by studying the 8086-instruction set.

8/ know how write programs.

9/ take knowledge about procedure and interrupts and learn how write them in assembling language, exactly the use of the stack.

10/ take a look about macro instruction and extended instructions.

8/ after all that, the students are expected to have abilities to write their program using a low-level language and approach to basic components of a computer.

Further Long -term objectives include

1/ The students must be capable to manage their machine and know the origin of all operation and they can explain what happen in the background of the hardware and software they have.

2/ prepare the students to learn more about the execution of an instruction by mastering the assembling language.

3/ Give more opportunities to the student to solve important and very accurate problems in a computer, even they can program their own chipsets.

Prerequisites for the course:

The students are required to:

1/ study the concepts of algorithms.

2/ have knowledges in computer architecture.

3/ master the binary language.

4/ program with the C language

Course elements: The course has

1/ tow lectures in the week

2/ one tutorial class in the week

3/ and one practical class in the week using the emulator emu8086.

Offered: 

2024