Process Mgt-Chapter 1 (One)
Process Mgt-Chapter 1 (One)
College
Contents
Chapter One ............................................................................................................................................ 4
Basic Concepts of Operating systems and process Management ............................................................... 4
Introduction............................................................................................................................................. 5
1. History of Operating systems ...................................................................................................... 6
1.1. Today .................................................................................................................................. 6
1. Process ....................................................................................................................................... 7
2. CATEGORIES OF SOFTWARE .................................................................................................... 7
2.1. System Software: ............................................................................................................... 7
2.2. Application Software: ........................................................................................................ 7
3. Basic components of computer ..................................................................................................... 8
a. Hardware .................................................................................................................................... 8
b. Application program .................................................................................................................. 8
c. operating system........................................................................................................................ 8
d. user ............................................................................................................................................. 8
4. OPERATING SYSTEM VIEWS............................................................................................... 8
I. Users view............................................................................................................................... 8
II. System View ........................................................................................................................... 8
5. Related concepts of OS .............................................................................................................. 8
6. Multiprogramming, Multitasking, timesharing ...................................................................... 11
7. Operating system as resource manager .................................................................................. 12
8. Operating system as virtual machine ...................................................................................... 12
9. services & functions of Operating system ............................................................................... 13
10. Memory Management.......................................................................................................... 13
11. Device Management ............................................................................................................ 14
12. Process management ........................................................................................................... 14
13. File Management.................................................................................................................. 14
Chapter One
Basic Concepts of Operating systems and process Management
Chapter Objectives:
1. Process
A process is a program in execution. A process is more than the program code, which is
sometimes known as the text section. It also includes the current activity, as represented by the
value of the program counter and the contents of the processor’s registers. A process generally
also includes the process stack, which contains temporary data (such as function parameters,
return addresses, and local variables), and a data section, which contains global variables. A
process may also include a heap(mass), which is memory that is dynamically allocated during
process run time. Process management is an integral part of any modern-day Operating
system (OS). The OS must allocate resources to processes, enable processes to share and
exchange information, protect the resources of each process from other processes and enable
synchronization among processes. To meet these requirements, the OS must maintain a data
structure for each process, which describes the state and resource ownership of that process,
and which enables the OS to exert control over each process.
Since the operating system (OS) is in charge of a computer, all requests to use its resources
and devices need to go through the operating system. An operating system therefore provides
legal entry points into its code for performing basic operation like writing to devices.
2. Categories of Software
2.1. System Software:
System software is software on a computer that is designed to control and work with
computer hardware. The two main types of system software are the operating system and the
software installed with the operating system, often called utility software. In some cases,
the operating system and utility software depend on each other to function properly. Some
system software is used directly by users and other system software works in the
background. System software can allow users to interact directly with hardware
functionality, like the Device Manager and many of the utilities found in the Control Panel.
System software is
➢ is a program that manages and supports the computer resources and operations of
computer system.
➢ responsible for controlling hardware components, and allowing users to use
application software.
➢ one great example is the OS itself.
2.2. Application Software:
Application software has really proliferated since cross-platform software has become
more popular. Some of the programs used by individuals and businesses across the globe
need to be taken everywhere to be used at any time and the evolution of traditional software
into apps has enabled users to work effectively wherever they're needed. Application
software is
✓ a subclass of computer software
✓ dependent upon users need
✓ not as critical as system software's
✓the operating system is designed mostly for ease of use, with attention paid to
performance and not paid to resource utilization.
✓A computer system has many resources that may be required to solve a problem. Such
as, CPU time, memory space, file storage space, I/O devices. And The operating system
acts as the manager of these resources.
5. Related concepts of OS
Kernel: The Kernel is also said to be the heart of the Operating System. It is responsible
for managing all the processes, memory, files, etc. The Kernel functions at the lowest level
of the Operating System. It acts as an interface (bridge) between the user-level application
(software) and the hardware. Therefore, the communication between the software and the
hardware is done via the Kernel. The kernel usually addresses everything that is low
level. This includes handling memory usage, disk and other peripherals access, process
CPU scheduling, network traffic and so much more. Kernel is
✓ the core of operating system
✓ a collection of routines mostly written in
C
✓ Kernel is loaded into memory when
system is booted, and remains in
memory.
✓ Kernel is the basic component of an
operating system.
The kernel is responsible for operating systems basic function like
➢ process management
➢ device management
➢ system call
➢ disk management
• and there are different types of kernel. types like
• Monolithic
• Microkernel
• Exokernel
• Hybrid kernel
a. Monolithic Kernels: it is the earlies and most common operating system architecture.
Every component of the operating is contained in the kernel and can directly communicate
with any other components by using the system calls.
A monolithic kernel defines a high-level virtual interface over the hardware, with a set of
primitives or system calls to implement operating systems services such as process
management, concurrency, and memory management in several modules even if every
module serving operations are separate from the whole, the code integration is very tight
and difficult, since all the modules run in the same address space, a bug in one module can
bring down the whole system.
b. Microkernel: this type of architecture provides only a small number of services to keep
the kernel small and scalable. These services typically include low level memory
management, inter process communication and basic process synchronization operations.
Other operating systems, such as process management networking, file system interaction
and device management-execute outside the kernel.
A microkernel is a minimal computer operating system kernel providing only basic
operating system services (system calls), while other services (commonly provided by
kernels) are provided by user-space programs called servers. Microkernel exhibits a high
degree of modularity, making them extensible, portable and scalable. Further, because the
microkernel doesn’t rely on each component to execute
c. Exokernel: the idea behind exokernel is no force as few abstractions as possible on
developers, enabling them to make as many decisions as possible about hardware
abstractions. Exokernel are tiny, since functionality is limited to ensuring protection. The
kernel only ensures that the requested resource is free, and the application is allowed to
access it.
This low-level hardware access allows the programmer to implement custom abstractions,
and omit unnecessary ones, most commonly to improve a program’s performance. It also
allows programmers to choose what level of abstraction they weren’t, high or low.
Exokernel could incorporate multiple library operating system and are intended to
simultaneously run multiple operating systems of different kinds like Linux and Microsoft
windows together using appropriate API (Application Programming Interface).
d. Hybrid Kernel: Hybrid kernel is part of the operating system such as Microsoft windows
NT, 2000 and XP. These types of kernels are extension of microkernels with some
properties of monolithic kernel. Unlike monolithic Kernel, these types of kernels are unable
to load modules as run times on their own.
Shell: