Transcript Chapter #2

System Programming
Basics
Cha#2
H.M.Bilal
Operating Systems
•An operating system is the software on a computer that
manages the way different programs use its hardware, and
regulates the ways that a user controls the computer.
• Operating systems are found on almost any device that
contains a computer with multiple programs—from cellular
phones and video game consoles to supercomputers and web
servers.
•Some popular modern operating systems for personal
computers include Microsoft Windows, Mac OS X, and Linux
Hardware Abstraction Layer
•A hardware abstraction layer (HAL) is an
abstraction layer, implemented in software, between
the physical hardware of a computer and the
software that runs on that computer.
•Its function is to hide differences in hardware from
most of the operating system kernel, so that most of
the kernel-mode code does not need to be changed
to run on systems with different hardware.
•On a PC, HAL can basically be considered to be the
driver for the motherboard and allows instructions from
higher level computer languages to communicate with
lower level components, such as directly with hardware.
•The Windows NT operating system has a HAL in the
kernel space, between hardware and kernel, drivers
•This allows portability of the Windows NT kernel-mode
code to a variety of processors, with different memory
management unit architectures, and a variety of
systems with different I/O bus architectures