MANAOG Assignment 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Republic of the Philippines

POLYTECHNIC UNIVERSITY OF THE PHILIPPINES


COLLEGE OF ENGINEERING
COMPUTER ENGINEERING DEPARTMENT

CMPE 30103
(OPERATING SYSTEMS)

ASSIGNMENT

1
Submitted by:
Manaog, Daniel J.

Submitted to:
Engr. Pedrito Tenerife Jr.

Date Submitted
November 5, 2021
1. Discuss the different computing environments and the operating system appropriate
for each environment.

Real-time Operating System


A real-time operating system (RTOS) is a multitasking OS designed to run real-time applications.
Specialized scheduling algorithms are frequently used in real-time operating systems to achieve
deterministic behavior. The basic goal of real-time operating systems is to respond to events quickly and
predictably. They are designed to be event-driven or time-sharing, with elements of both. Time-sharing
operating systems switch tasks based on clock interrupts, whereas event-driven systems switch tasks based
on their priorities or external events.

Multi-user Operating System


Multiple users can access a computer system at the same time with a multi-user operating system. Multi-
user systems include time-sharing systems and Internet servers because they allow numerous users to access
a computer by sharing time. Although single-user operating systems only have one user, they can run
numerous programs at the same time.

Multi-tasking Operating System


From the perspective of human time scales, a multi-tasking operating system allows more than one program
to operate at the same time. There is just one program executing on a single-tasking machine. There are two
sorts of multitasking: proactive and cooperative. The operating system splits the CPU time and assigns one
slot to each of the processes in preemptive multitasking. Preemptive multitasking is supported by Unix-like
operating systems including Solaris and Linux, as well as AmigaOS. Cooperative multitasking is achieved
by relying on each process to allocate time to the others in a predictable manner. Cooperative multitasking
was employed in 16-bit versions of Microsoft Windows. Pre-emptive multi-tasking was utilized in 32-bit
versions of Windows NT and Win9x. Prior to OS X, the Mac OS allowed for cooperative multitasking.

Distributed Operating System


A distributed operating system is a software that runs a number of independent computers to make them
appear as though they are one. Distributed computing arose from the emergence of networked computers
that could be linked and communicate with one another. Distributed computations are performed on
multiple machines. A distributed system is created when a group of computers collaborate.

Embedded Operating System


Embedded operating systems are computer operating systems that are designed to run on embedded
computers. They're made to work on small machines with limited autonomy, such as PDAs. They can
function with a limited quantity of resources. By design, they are incredibly compact and efficient.

Time Sharing Operating System


Time-sharing operating systems plan tasks to make the most of the system's resources, and they may also
contain accounting software to track the cost of processing time, storage, printing, and other resources.
Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, and IBM z/OS are
examples of popular modern operating systems, with the exception of Windows, Windows Phone, and
z/OS, all of which have UNIX roots.
2. In multiprogramming what operating system features are needed to increase CPU
utilization?

One or more programs can be loaded into the main memory of a multiprogramming system for execution.
Only one program or process can use the CPU to execute their instructions, while other programs must wait
their turn. The main purpose of adopting a multiprogramming system is to solve the problem of CPU and
primary memory underutilization.

Multiprogramming's main goal is to control the system's whole resource pool. Command processor, file
system, I/O control system, and transient area are the main components of a multiprogramming system.

The following operations related to multiprogramming are performed by an operating system:

▪ At any given time, the operating system retains many jobs in memory.
▪ This group of jobs is a subset of the total number of jobs in the job pool.
▪ The operating system selects one of the jobs in memory and begins to run it.
▪ Multiprogramming operating systems use memory management programs to keep track of all
active programs and system resources, ensuring that the CPU is never idle unless there are no jobs
to execute.

When a software is in the process of being executed, it is referred to as a "Process," "Job," or "Task." When
compared to serial and batch processing systems, concurrent execution of programs helps to improve
performance of system resources usage as well as system throughput.

3. Describe the tasks performed by the operating system and formulate solutions that can
be used when a user encounters a problem related to the task.

The operating system acts as a bridge between an application program and the computer hardware,
allowing the application program to connect with the hardware only by following the operating
system's rules and procedures. The operating system also includes a collection of services that
make developing and executing application programs easier. The operating system kernel creates
a process for an application program, assigning memory space and other resources, establishing a
priority for the process in multi-tasking systems, loading program binary code into memory, and
launching the application program, which then interacts with the user and hardware devices.

When a computer receives an interrupt, the hardware suspends the current program, saves its status, and
runs computer code previously connected with the interrupt; this is akin to placing a bookmark in a book
in response to a phone call. Interrupts are handled by the operating system's kernel in current operating
systems. Interrupts can occur from the hardware of the computer or from the current software.

When a hardware device causes an interrupt, the kernel of the operating system decides how to handle the
situation, which usually involves running some processing code. The amount of code that is executed is
determined by the interrupt's priority (for example: a person usually responds to a smoke detector alarm
before answering the phone). The work of processing hardware interrupts is frequently given to a piece of
software known as a device driver, which can be part of the operating system's kernel, another program, or
both. Device drivers can then communicate with a running program in a variety of ways.

An interrupt to the operating system can also be caused by a program. If a program wants to access
hardware, it can interrupt the kernel of the operating system, causing control to be given back to the kernel.
The request is subsequently processed by the kernel. When a software needs more resources (or wants to
release resources), such as memory, it sends an interrupt to the kernel.

4. How does the distinction between kernel mode and user mode function as a rudimentary
form of protection (security) system?

Kernel Mode
The executing code has complete and unrestricted access to the underlying hardware under Kernel mode.
Any CPU instruction can be executed, and any memory address can be referenced. Kernel mode is often
designated for the operating system's lowest-level, most trusted functions.

User Mode
The executing code in User mode has no direct access to hardware or reference memory. To access
hardware or memory, user mode code must delegate to system APIs.

5. Consider the various definitions of operating system. Consider whether the operating
system should include applications such as Web browsers and mail programs. Argue both
that it should and that it should not, and support your answer.

A web browser should not be included as part of an operating system's essential functionality. By
definition, a web browser is "software programs designed to facilitate navigation across point and
click hyperlinked World Wide Web resources" (O'Brien). "Support" is the important word in this
definition. A web browser is a piece of software that should not be included in an operating system.
This integration could have major security implications, especially given the high prevalence of
web-initiated infections, trojans, and registry problems. Integrating a browser with an operating
system could result in system crashes, registry alterations, auto-executable file changes, and other
computing difficulties that would be difficult to resolve, particularly for business PCs connected
to internal servers and Intranets.

Reference:

Extended Learning Institute (ELI) at Northern Virginia Community College (NOVA). (2018).
Reading: Operating System | Introduction to Computer Applications and Concepts.
Lumen Learning. https://courses.lumenlearning.com/computerapps/chapter/reading-
operating-system/

You might also like