Professional Documents
Culture Documents
Rida Jamil
1. INTRODUCTION:
OPERTING SYSTEMS:
Operating systems are essential for the functioning of our computers, mobile
phones and, in short, the devices and computer infrastructures that we use in our
daily lives and allow modern societies to run smoothly. They are basic for the
operation of both the hardware and software on our devices.
1. Android
2. Windows
3. iOS
4. MacOS
5. Chrome OS
6. Linux
Threads:
A thread is a “subprocess” created inside a process. A process can contain multiple
threads managed by a kernel like the independent processes. The threads existing
inside a process share the resources, such as the address space, code and context
(i.e. variables, etc.).
The thread has a program counter that keeps track of which instruction to execute
next. It has registers, which hold its current working variables. It has a stack, which
contains the execution history.
Thread switching does not require Transfer of control from one thread
Kernel mode privileges. to another within the same process
4
requires a mode switch to the
Kernel.
Multi-threading:
Multithreading is a technique in which a process which is executing an application,
is divided into threads that can run concurrently. Multithreading refers to the
ability of an OS to support multiple, concurrent paths of execution within a single
process.
Multi-threading Models:
Some operating systems provide a combined user level thread and
Kernel level thread facility. Solaris is a good example of this combined approach.
The user threads must be mapped to kernel threads, by one of the following
strategies:
➢ Many to Many:
The many-to-many model multiplexes any number of
user threads onto an equal or smaller number of
kernel threads. In this model, developers can create
as many user threads as necessary and the
corresponding Kernel threads can run in parallel on a
multiprocessor machine. This model provides
the best accuracy on concurrency and when a
thread performs a blocking system call, the
kernel can schedule another thread for
execution.
Benefits:
1. Responsiveness
2. Resource sharing, hence allowing better utilization of resources.
3. Economy i.e. creating and managing threads becomes easier.
4. Scalability i.e. inn Multithreaded processes, threads can be distributed over
a series of processors to scale.
5. Context Switching is faster. Context switching refers to the procedure
followed by CPU to change from one task to another.
2. Definitions
1. Interprocess Communication:
Inter process communication (IPC) is a mechanism which allows
processes to communicate each other and synchronize their
actions. Processes can communicate with each other using these two ways:
Shared Memory
Message passing
5. Race Condition:
A condition where several processes try to access the resources and
modify the shared data concurrently (at the same time) and outcome of the
process depends on the particular order of execution that leads to data
inconsistency, this condition is called Race Condition. This condition can be
avoided using the technique called Process Synchronization.
6. Process Synchronization:
It is a condition to avoid race condition, in which we allow only one
process to enter and manipulate the shared data in Critical Section. Process
Synchronization is mainly used for Cooperating Process that shares the
resources.
7.Critical Section:
Critical section is a code segment that can be accessed by only one
process at a time. It is the part in which only one process can enter and
modify the shared variable. This part of the process ensures that no other
process can access the resource of shared data.
8. Semaphore:
A Semaphore is an integer variable, which can be accessed only
through two operations wait() and signal(). This variable is used to solve the
critical section problem and to achieve process synchronization in the
multiprocessing environment.
1. WINDOWS:
Microsoft Windows has existed since 1985. Its latest versions, including
Windows 10, are the most popular operating systems for home and
office computers and are also used on some tablets, and the OS is used
on some web and number-crunching server computers as well.
Computers from a wide variety of manufacturers can use Windows.
Efforts to use versions of the Windows OS for smartphones have been
less successful.
Top 5 Windows Editions:
Versions Released Year Best Features
7. Windows 95 1995 32-Bit processor, gaming platform, build-in
network support
8. Windows XP 2001 Security, power management, networking and
performance.
9. Windows 7 2009 Secure, user-friendly, back-up & recovery tools.
2. Apple iOS:
Apple's iOS is one of the most popular smartphone operating systems.
It runs on Apple hardware, including iPhones, iPad tablets and iPod
Touch media players. Salient features of iOS include an emphasis on
security including strong encryption to limit what unauthorized users
can extract from the phone, and a simple, streamlined interface with
minimal hardware buttons.