Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Lab 1 - Osg202 - He194011

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

LAB 1_OSG202_HE194011

Task 2:
Task 3:

1. Discuss about Mainframe Operating Systems. Give some examples


for the OS.
*Mainframe Operating Systems:
 A mainframe operating system is software that manages the
resources and activities of large, and powerful mainframe computers.
 Mainframe operating system is designed so that it can handle
multiple jobs simultaneously. They typically offer three kinds of
services: batch, transaction processing, and timesharing.

 Mainframes are also making something of a comeback as high-end


Web servers, servers for large-scale electronic commerce sites, and
servers for business-to-business transactions.

 An example of a mainframe operating system is OS/390, a


descendant of OS/360.

Task 4:
Step 1: Push nbytes.
Step 2: Push &buffer.
Step 3: Push fd.
Step 4 : Call to the library procedure .
Step 5: The library procedure, possibly written in assembly language,
typically puts the system-call number in a place where the operating
system expects it, such as a register .
Step 6: The library procedure executes a TRAP instruction to switch from
user mode to kernel mode and start execution at a fixed address within the
kernel .
Step 7: The kernel code that starts following the TRAP examines the
system-call number and then dispatches to the correct system-call handler,
usually via a table of pointers to system-call handlers indexed on system-
call number.
Step 8: The system-call handler runs.
Step 9 : Once the system-call handler has completed its work, control may
be returned to the user-space library procedure at the instruction following
the TRAP instruction.
Step 10: The user-space library procedure then returns to the user
program in the usual way procedure calls return.
Step 11: The user program has to clean up the stack, as it does after any
procedure call to finish the job.

Task 5:

Monolithic Systems:
The entire monolithic operating system runs as a single large program in
kernel mode. It consists of thou-sands of procedures that can call each
other without restriction may also lead to a system that is unwieldy and
difficult to understand. The benefits of this structure include high efficiency
due to unrestricted procedure calls, but it can become unwieldy and difficult
to maintain. A crash in any procedure can bring down the entire system.
The OS services are requested through system calls that trap to the kernel,
where a central main program invokes the appropriate service procedure.
Additional components like device drivers and file systems can be loaded
as needed, such as shared libraries in UNIX or DLLs in Windows.
Layered Systems:

In layered systems, the operating system is divided into a hierarchy of


layers, with each layer built upon the one below it. The first system
constructed in this way was THE system, which had six layers handling
tasks from processor allocation to user programs. Each layer interacts only
with the layers directly above and below it. This method provides a clean
separation of concerns and eases debugging and verification.

Microkernels:
Microkernels minimize the code running in kernel mode to increase
reliability. They handle low-level tasks like process scheduling and
interprocess communication, while device drivers, file systems, and other
services run in user mode. This design limits the impact of bugs, as failures
in user-mode services do not crash the entire system. Examples include
MINIX 3, which uses a small microkernel and multiple user-mode
processes for different system services.

Client-Server Model:
In the client-server model, the operating system is divided into client
processes, which request services, and server processes, which provide
them. Communication between clients and servers is typically via message
passing. This model can be extended over a network, allowing clients and
servers to run on different machines. It is a flexible and scalable approach
used extensively in distributed systems.

Virtual Machines:
Virtual machines (VMs) offer a way to run multiple operating systems on
the same hardware by creating isolated environments. The virtual machine
monitor (or hypervisor) manages these environments. There are two types:
Type 1 (bare-metal) hypervisors run directly on the hardware, while Type 2
hypervisors run on top of a host operating system. VMs provide strong
isolation between different environments, making them ideal for running
multiple servers or different OSes on a single machine. They are widely
used in cloud computing and server consolidation.

You might also like