Chapter 1
Chapter 1
Common core in mathematics and computer department Computer Engineer 1st year 2024-2025
Introduction of operating systems
Course logistics
In this course, we will introduce the position of an operating system in computer system and the its
main objectives and functionalities to operate the components of a computer.
We will focus on one of the most used OS which is UNIX system, where the student must learn how to
use it and manage the system resources.
Using the UNIX operating system, the students will learn the management of the sessions, how to write
and execute shell commands, manipulate the tubes and output/input redirections. They will learn the
basics of files and directories, how to create, delete, copy, move, …. files.
In the last chapter, the students must learn how to install and manage the UNIX system side by side the
Windows system.
Learn how to operate the computer using UNIX system, manipulate the shell and apply commands.
2/ Be closer than UNIX system, its philosophy and specificities and versions.
10/ after all that, the students are expected to have abilities to install UNIX, manage his files and data,
use filters and tubes and create his own environment by mastering groups and users.
3/ and tow practical classes in the week using the UBUNTU system.
Attendance policy:
The attendance is important in the lecture class because the information will be very important to
follow the tutorial and practical classes with the reason that the handout of the course doesn’t contain
all details and explanations. Also, there will be some examples and problems done in the lecture class.
Communication protocol:
Students can contact the teacher by her email [email protected]
I/ Introduction:
The designers' aim in creating the first computer was to make human life easier by automating all
kinds of tasks. In the 40s, only one group of people designed, built, programmed and used the machine,
because of its complexity (in other words, the use of computers was limited to this group). Over the
following years, this complexity was gradually reduced, until the 80s, when the computer evolved to
become within everyone's reach, while using an intermediary element to perform all tasks. This
intermediary between the user and the computer is called the "operating system".
Computer
III/ Definition:
We can consider the definitions:
Definition 1: an operating system is the intermediary between the computer and the user.
Definition 2: An operating system is a set of essential programs that manage, control and operate the
computer's resources.
Definition 3: an operating system acts as an intermediary between application programs and machine
hardware.
Application
programs
Computer
system
Note: a computer system consists of hardware, OS, application programs and users
a. Hardware resources: it manages the processor, the memories and I/O devices
b. Software resources: it manages:
• Application programs
• Users' data
The system takes charge of controlling the program execution stages (program on disk → loading into
main memory → execution on the processor).
This task becomes more difficult when you are in a multitasking environment where you have to
decide:
The OS needs to share all memory space between programs and data, knowing which spaces are free
and which are occupied, in order to facilitate and speed up execution.
c/ Processor management:
The operating system must control the execution of a process at processor level. It must decide on the
program scheduling policy during execution, as well as the execution time of each program (especially
in time-sharing systems).
The OS provides I/O request service regardless of the complexity of the device and media used.
e/ File management:
The OS must enable users to access their files via specific operations.
The operating system allocates each resource to the required user using a predefined policy. It manages
access to the resource, as well as its release and recovery.
The OS must be able to detect anomalies, report them and correct them if possible.
i/ Machine virtualization:
The OS must offer the user a virtual (abstract) machine in place of the real (physical) machine. This
virtual machine provides the user with a command language (or graphical user interface) better suited
to the instructions of the physical machine.
This type of system is designed to control an industrial process, and to achieve this goal, the system
must be able to perform the following additional functions:
• Regulation: maintaining operating parameters (temperature, flow, pressure, etc.) at the values
required for production to run smoothly.
• Recording: periodically record the values of operating parameters, in order to keep track of the
history, which can be used in studies targeting production improvement.
• Safety: to avoid disasters if certain parameters exceed their correct values. The system must be
equipped with a safety function capable of stopping the entire process in the event of failure.
b/ Transaction-oriented system:
This category of system is designed to store and manage large volumes of information (databases), such
as Air Algérie's reservation system or the CCP. The functions performed by this system are:
This category of system allows users to create and run their own programs.
Operating systems during this period were based on the working principle of running a single program
at a time:
• Stand-alone programs: Initially, computer peripherals consisted of a card reader, a card punch
and a printer. From the user's point of view, operation was fairly straightforward, since program
execution involved placing a packet containing the "binary" form of the program, followed by
the data, into the card reader. Once the program had been read, the computer would execute
it, with the results in the form of a packet of punched cards, or printed lines.
• The job sequence monitor (1955): the user prepares a deck of cards representing his job,
consisting of one or more steps. Each step corresponds to a program whose execution is
requested by the user on a particular data set. This program may be one of the utilities stored
on tape, such as a compiler, or the result of a previous step temporarily stored on tape.
The most popular systems at the time were multi-programming systems, whose principle was to keep
several jobs ready to run in memory and share resources between them. The processor is initially
allocated to one job and the rest are in memory; as soon as the job performs an I/O, the processor is
allocated to the next job.
The processor in these systems is switched to the next process each time a Q (Quantum Time) delay
expires.
These are specialized systems dedicated to specific applications, in particular control systems. They are
used when there are response time requirements.
d/ Parallel systems:
These are highly coupled systems with more than one processor sharing the clock and memory.
e/ Distributed systems:
They are systems that use several processors, not necessarily identical, each with its own memory.
f/ Embedded systems:
It's a single-user system, known since the early '80s, designed for microcomputers (the first IBM-PC
8088), conceived by Bill Gates and now associated with Windows.
A system designed by Microsoft with a graphical interface, its name refers to the use of a window for
each execution. It is designed for several architectures (PC, workstation, laptop, client/server network,
etc.).
It has gone through several versions, as for PC: 1.0, 2.0, 3.10, 3.11, 9x, 2000, Me, XP, Vista, Seven, 10,
11, also: Windows Server, NT for multi-user and client/server architecture.
A family of time-sharing systems proposed for most architectures, used in certain industrial and
research environments.
The Android operating system is a mobile operating system that was developed by Google (GOOGL) to
be primarily used for touchscreen devices, cell phones, and tablets. Its design lets users manipulate the
mobile devices intuitively, with finger movements that mirror common motions, such as pinching,
swiping, and tapping. Google also employs Android software in televisions, cars, …
IOS stands for iPhone operating system. It is a proprietary mobile operating system of Apple for its
handheld. It supports Objective-C, C, C++, and Swift programming languages. It is based on the
Macintosh OS X. After Android, it is the world’s second most popular mobile operating system. Many
of Apple’s mobile devices, including the iPhone, iPad, and iPod, run on this operating system. To control
the device, iOS employs a multi-touch interface, such as sliding your finger across the screen to advance
to the next page or pinching your fingers to zoom in or out of the screen.
1/ Central unit:
Motherboard: This is an electronic board that connects all the PC's components and enables the flow
of information.
Processor: This is the brain of the machine, executing all the operations requested and providing the
expected responses.
Random Access Memory RAM: This is the processor's working area, where the information needed for
processing is stored. It's a volatile memory that's erased whenever there's a power cut.
CD/DVD and floppy disk drives: These drives provide access to external disks (floppy disk, DVD and CD-
ROM).
Expansion cards: These are cards that are added to the motherboard to provide other functions not
available on the motherboard (e.g. network card, sound card, graphics card, etc.).
2/ Peripheral devices:
Input devices:
These are the elements of the PC, such as: keyboard, mouse, scanner, modem...etc. used to enter data.
Output devices:
These are the elements of the PC that allow information to be output, such as: screen, printer,
speakers...
Input/output devices:
These are the elements of the PC that enable information to be input and output, such as USB keys,
digital cameras and scanner printers,