You are on page 1of 13

Polytechnic University of the Philippines

College of Engineering
Computer Engineering Department

CMPE 30103
Operating Systems (OS)

Assignment No. 1
Activities/Assessment

Submitted by:

Andallo, Marc Chris C.


BS CPE 3-1

Submitted to:

Engr. Rolito Mahaguay


Professor

October 29, 2020


1. Discuss the different computing environments and the operating system
appropriate for each environment.
 Traditional Computing
o In traditional computing, it consists of Figure 1. Traditional Computing Architecture
various pieces of hardware, such as
a desktop computer, which are
connected to a network via a remote
server. This server is typically
installed on the premises, and
provides all employees using the
hardware, access to the business’
stored data and applications. This
can be considered the “typical office
environment” where it consists of
PCs connected to a network with
servers providing file and print
services.
o The appropriate operating systems
https://www.researchgate.net/figure/Traditional-computing-
for traditional computing are architecture_fig1_330116237
Mainframe Systems and Desktop
Systems. Mainframe systems were the first computers to tackle
commercial and scientific applications. Hence, it is applicable for
traditional computing environment for it also has traditional properties
of operating system. Under the Mainframe Systems are the Batch
Systems, where the computer runs only one application, Time-Shared
Systems, where it allows user interaction with the computer system
and Multiprogrammed Systems where it increases CPU utilization.
Meanwhile, Desktop Systems are the personal computers that we have
nowadays where it is for user convenience and responsiveness. This is
also applicable because this was the early type or computers and
system that most people had and have nowadays.
 Web-Based Computing
o In web-based computing, it is an
environment that consists of ultra- Figure 2. Web-Based Computing Architecture
thin clients networked over the
Internet or intranet. Applications in
this environment consist of code on
the servers distributed to thin
clients containing a browser, where
the browser completely defines the
user interface. Thus, web-based
computing permits data sharing
and computing over a large system
range on heterogeneous hardware
and software platforms, permitting
the execution of a number of https://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.147.2732&rep=rep1&type=pdf
operations simultaneously. A
simple mode of web-based
computing is the case where a client machine invokes a program
installed on a server through the Internet; in this case, the data has to
be passed from the client to the server while the program still runs on
the server.
o The appropriate operating systems for web-based computing are
Multiprocessor System, Distributed System and Handheld System.
Multiprocessor System consists of multiple processors and a method
for communication between the processors. In web-based computing,
the processors are able to share data through the use of software
platforms where multiprocessor systems can also do this kind of task.
Similarly with the distributed system specifically, there is a distribution
of data among the clients and servers. Meanwhile, Handheld systems
are the technology that we commonly use nowadays like cellular
phones that are web-based in order to maximize its utilization.
 Embedded Computing
o In embedded computing, the systems are made up of both hardware
and software, and they are designed to perform one specific
task. Embedded computers are the most prevalent form of computers
in existence as they run embedded real-time operating systems. These
are mostly part of our daily living from consumer devices such as
smartphones and game consoles, to less visible electronic devices that
control, for instance, different aspects of a car's operation. 
o The appropriate operating system for embedded computing is real-time
operating system where it is often used as control devices in a
dedicated application
such as controlling
scientific experiments,
Figure 3. Embedded Computing Architecture

https://www.oreilly.com/library/view/designing-embedded-
hardware/0596003625/ch01s05.html
medical imaging systems, industrial control systems and some display
systems with a well-defined fixed-time constraints.
 Peer-to-Peer Computing
o In peer-to-peer computing, clients and servers are not distinguished
from one another; instead, all nodes within the system are considered
peers, and each may act as either a client or a server, depending on
whether it is requesting or providing a service. In this system, several
nodes distributed throughout the network can provide services. To
participate in a peer-to-peer system, a node must first join the network
of peers.
o The appropriate operating system for peer-to-peer computing is the
distributed system, specifically the peer-to-peer system. It is where a
group of computers are linked together with equal permissions and
responsibilities for processing data.
 Client-Server Computing
o In client server computing, the clients request a resource and the
server provides that resource. A server may serve multiple clients at
the same time while a client is in contact with only one server. Both of
the client and server usually communicate via a computer network but
sometimes they may reside in the same system. The client server
computing works with a system of request and response. For example,
client sends a request to the server and the server responds with the
desired information.
o The appropriate operating system for client-server computing is
distributed system, specifically the client-server operating system. It is
where the clients access resources and services from a central
computer via Local Area Network or Wide Area Network where it has
central management of applications and data.

Figure 4. Peer-to-Peer Computing Architecture Figure 5. Client-Server Computing Architecture

http://www.geocities.ws/aisyahpezi/NETWORK
%20ARCHITECTURE.html
2. In multiprogramming what operating system features are needed to increase
CPU utilization?
 In multiprogramming, CPU utilization is the ability to maximize and boost the
CPU to its full capacity in order to process tasks faster. This can be done
when playing games, editing videos or images, browsing the Internet
simultaneously. The features needed by the operating systems in order to
increase CPU utilization are:
o Job Scheduling
 It is the process of allocating system resources to many difIerent
task by an operating system brought into memory. The system
handles prioritized job queues that are awaiting CPU time and it
should determine which job to be taken from which queue and
the amount of time to be allocated for the job. For example, this
feature schedules automated restart whenever there are system
errors or failures. In CPU utilization, maximizing the use of the
CPU sometimes system failures occurs, hence, automated or
schedule restart can help in order to avoid further damage.
o Memory Management
 It is the process where the system must allocate or designate
the memory into several tasks. It keeps track of each and every
memory location, regardless of either it is allocated to some
process or it is free. It checks how much memory is to be
allocated to processes. For example, since we increase CPU
utilization, there are different applications or programs running in
order to maximize its use. Therefore, memory management
determines the remaining memory or free memory that can be
used by the new task to do. Also, it determines the how much
memory is already in use. This can be helpful in order to give
way to the new jobs that the opearing will do in CPU ulitization.
o CPU Scheduling
 Is a process which allows one process to use the CPU while the
execution of another process is on hold(in waiting state) due to
unavailability of any resource like I/O etc, thereby making full
use of CPU. The aim of CPU scheduling is to make the system
efficient, fast and fair. For example, this feature occurs if when a
process swtiches from running state to ready state. This
scenario occurs when there are interruptions. Like in printers, it
is under running state when it is printing but it switches to ready
state when there are no more ink or bond papers detected by
the printer.
o Allocation of Devices
 It is the process of assigning of input/output devices and
volumes to job steps. Requests for device allocation come from
data definition (DD) statements and dynamic device allocation
requests. It aims to decrease the security risk that is associated
with various removable media. An example task for allocation
device is allocating a printer to be used by the user. Only the
user who allocated the printer can use the device. Hence, in
CPU utilization, this feature enables what devices are allocated
in order to determine the devices during maximizing the CPU.
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.
• Memory Management
o It is the function responsible for managing the computer’s primary
memory. The OS memory manager controls which processes are
placed into memory, where they are placed, and how much memory
each is given.
o One of the common problems that might occur is when the computer
has low size of main memory; it could lead to slower process of the
OS. Thus, the best solution for this is to upgrade the main memory in
order to increase the CPU utilization for faster processes. But an
alternative could be slowly but surely let the CPU process the tasks
given and do not give numerous task at the same time in order to avoid
slow processing of jobs.
• Processor Management
o It is the function that keeps tracks of processor and status of the
process. The program responsible for this task is known as traffic
controller. It decides the order in which processes have access to the
processor, and how much processing time each process has.
o If the user wants to run software that requires high-specifications of the
processor, this could turn into a problem. A big traffic in the process or
it won’t even process and load the software. Alternative to this is run
only software with low-specification requirement, but the best solution
is upgrading the processor of the computer.
 Device Management
o It is the function responsible for managing all the hardware devices of
the computer system. It may also include the management of the
storage device as well as the management of all the input and
output devices of the computer system.
o Common problems in the device management, specifically in input and
output devices is when the keyboard is malfunctioning or some of the
keys are clickable yet it won’t display the output. Solutions to this are:
cleaning the keyboard through disassembling it and check for
destroyed parts inside and even outside. A replacement is the best
solution even in other hardware devices that are really destroyed.
 File Management
o It is the function of manipulating files in computer system,
it management includes the process of creating, modifying and deleting
the files. It also organizes important data and provides a searchable
database for quick retrieval.
o Sometimes, some files are being deleted or even duplicated with
different names consisting of symbols. This type of problem occurs
because of virus or malware that hacks the system. In order to avoid
this kind of errors in file management, avoid click-bait-sites or
unwanted sites or emails that might contain virus.
 Security
o It is the function that helps in implementing processes that secure and
protect the computer system internally as well as externally. It has user
authentication methods that ensure legitimacy of user access. It
provides antivirus protection against malicious attacks and has inbuilt
firewall which acts as a filter to check the type of traffic entering into
the system.
o The primary suspect of error in file management is the same with the
security; it is the virus and malwares that hacks the system. This will
not only affect file management but can also destroy the programs and
even the peripherals. Installing antivirus and updating the OS,
especially if it would upgrade the security of the OS can avoid it. Also,
avoid downloading unwanted files or visiting malicious sites that may
breach the OS with virus.
 Control over system performance
o It is the function that monitors overall system health to help and
improve performance. Records the response time between service
requests and system response to have a complete view of the system
health.
o If this feature was not able to function well, it could lead to worse case
scenarios like damaging the OS and even the peripherals of the
computer. For example, as a user, if you were not able to check
regularly the system performance, you will be unaware of the overall
system health. In this case, you cannot check and repair the needed
parts of the system that needs immediate attention; this can further
affect the performance of the OS and can even damage the computer.
 Job accounting
o It is the function that keeps track of time and resources used by various
tasks and users, this information can be used to track resource usage
for a particular user or group of user.
o For example, if there are several active jobs on your system, a job
spends more time reestablishing the resources needed for running,
than if a dedicated system environment is used. The system uses the
job and run priorities assigned to different jobs to assist in managing
main storage. Therefore, high priority jobs can use less system
resource than low priority jobs.
 Error detecting aids
o It is the function that constantly monitors the system to detect errors
and avoid the malfunctioning of computer system.
o Sometimes, as a user, one of the best example I experienced was the
“troubleshoot” button doesn’t work or it won’t troubleshoot whenever an
error was detected. This can be avoided at first by paying attention
always on the updates or reminders that the OS is trying to convey. An
immediate response or troubleshoot to errors is needed and don’t wait
for long time to fix it. Worse scenario is if this function won’t work
anymore, then you will not be able to detect errors and fix them
immediately.
 Coordination between other software and users
o It is the function that coordinates and assigns interpreters, compilers,
assemblers and other software to the various users of the computer
systems.
o One of the common problems that occur related to this function is the
incompatibility of the software to the laptop or malfunctioning of the
applications during its use on the laptop. For example, whenever we
download some applications (programming language for instance),
sometimes it won’t compile or it won’t simulate our codes. This can
also be experienced with Microsoft apps like Word, Excel, PPT etc.
where it won’t function well. This can be avoided and fixed by installing
the software and applications properly in the computer. Reading the
installation manuals would also help in order to identify some
troubleshoot tips if problem occurs. Re-installing the software or
applications would also help.
Figure 6. Functions of Operating Systems

https://www.daydreameducation.co.uk/poster-
operating-systems
4. How does the distinction between kernel mode and user mode function as a
rudimentary form of protection (security) system?
 Whenever we use our computers or devices, it starts with kernel mode as the
system boots and loads programs. During kernel mode, there are privileged
instructions where it can only be executed. Access to hardware devices can
be done only when the program is executing in kernel mode. Meanwhile, user
mode happens when the system is executing user application like image
editor. The capacity of the program is only limited because the user is the one
controlling it. Some of the transition that occurs from user mode to kernel
mode is when there are interruptions. When the user try to execute the
privileged instructions, there can be a trap and noted as an illegal execution.
The operating system will block the user executing the privileged instructions
during user mode.
However in this mode, in between kernel mode and user mode, dual mode
provides more than rudimentary form of protection it is because these two
modes causes many different user or kernel mapping. Basically, dual mode
gives the opportunity for the kernel mode and user mode to share different
memory maps. In this case, the kernel mode can share some of privileges but
to a more level user mode of instruction. It also allows the kernel to examine
and copy data from the user memory map and also give the user memory
map in different pages. Furthermore, it allows the user mode drivers to access
some device registers.
Thus, as a function of form of protection, in kernel mode, only the operating
system executes the privileged instructions and it blocks when the user tries
to execute it. The systems controls and is the one responsible with regards
the security and the critical resources in the system. On the other hand, if the
user mode or the user is the one responsible for the protection, the options
can only be limited based on what the user is doing. The resources can be
easily penetrated as for the hackers can also manipulate it because they can
be also users but as a guests or unwanted users. However, if these two
modes are used for the protection system, having dual modes and mapping
becomes more powerful and protective as it allows a hierarchy of mapping
and granting different privileges to different mappings. It can also allow the
emulation of as many security levels as the operating system requires.
Figure 7. User Mode to Kernel Mode Transition

https://www.tutorialspoint.com/User-Mode-vs-Kernel-
Mode
5. Consider the various definitions of operating system. Consider whether the
operating system should include applications such as Web browsers and mail
programs.
 In today’s generation, one of the newly invented basic needs is the ways and
process of communication. As we emerged into the advanced world,
technology embarked milestones not just in our history but also in our
everyday life. Hence, nowadays we are all linked with our social media
accounts, web browsers and Internet. These instruments served as our new
way of communication even if we are thousands of miles apart with our loved
ones. Therefore, since the gadgets we used (e.g. laptops, smartphones,
tablets etc.) contains operating systems where we utilize as medium in
interacting with our devices, additional features like web browsers and mailing
system could be a great idea to fill in the operating systems. It means we
don’t need to download third-party apps where we browse and communicate
with our loved ones; rather it is already included in the installed OS in our
devices. These features will give as an easy access and we, users, can have
a uniformed-based way of communication through the mail programs included
in the OS. Also, these features are an advantage specifically with the new
normal that we have where everything turned most likely into digitalized world.
Communicating and accessing the Internet would be one-tap away especially
when these features are added to the OS that we use nowadays.

However, these features are indeed useful and it is nice to have together with
the OS that our devices have but there are many things that must be
considered before adding these features. (1) The applications are applications
and it is not part of the operating system. In order to make these features
more efficient and accurate, it is better to be an application rather than part of
an OS. Web browsing and mailing does not only end on the word itself, to
make it a user-friendlier and user-convenient, additional features for web
browsing and mailing are added. Specifically, mailing is not just composing
message, sending and waiting for a reply, it is more complex and additional
features like attaching files make it more convenient, but making it part of an
OS would make it sacrifice more features like this one. (2) Any performance
benefits of running within the kernel are offset by security vulnerabilities. This
means that since the user generates web browser and mailing, and making
these features as part of the OS, there will be a conflict when it comes to
user-mode and kernel-mode. There are some privileged instructions that can
only be executed in the kernel mode and if it these privileged instructions are
executed in user-mode, it is noted as illegal and a trap would be generated.
A dual-mode (kernel-mode and user-mode) can cause serious problems like
running user program can accidentally wipe out the operating system by
overwriting it with user data. Thus, adding these features as part of OS would
definitely compromise the kernel-mode and user-mode of the OS. (3) It leads
to bloated operating system. Whenever you buy brand new phones, there are
already installed applications even if you just bought it right away. This can
also happen to the OS when these features are added, wherein there is
already installed software and this would also eat a part of memory. It will
consume some of the space in the memory, instead of reserving it for more
useful applications. (4) Additional burden to the operating system. Knowing
that there are several functions and jobs that OS do in our computer,
incorporating these features could burden the operating system that may
result in performing with satisfactory or less than satisfactory quality of job in
managing resources. Lastly, (5) not everyone has an immediate or good
access with the Internet to support web browsing and mailing applications.
We may be using advanced technology yet not all of us are in the same track
on using and accessing it. Web browsers and mailing application requires
Internet connection to use and maximize its utilization, and not every one of
us has stable Internet connection, some users have limited access only,
which gives them limited utilization in these kinds of features. Thus, it will be
also a burden for the user who does not have access to the Internet.
Somehow, these features will be inapplicable and it is not convenient for
some users.

6. How do UNIX, LINUX and Windows differ from each other?


Operating Systems
Factors
UNIX Linux Windows
About Unix is a system that is Linux is an illustration of Microsoft Windows is
extremely common in open source said as progression of
colleges, organizations, programming graphical interface
big enterprises etc. advancement and free of system created,
charge operating system. showcased, and traded
by Microsoft.
Access The Unix system is Linux can usually install Windows is a system
utilized as a part of web on a broad range of PC used on computer’s
servers, workstations software and hardware, desktops, portable
and PCs. It plays an going from cellular workstations, servers
important role for finance phones, tablets PCs and and a few phones.
infrastructure and video game relieves, to
numerous 24×365 high centralized servers and
accessibility solutions. supercomputers..
Users Unix system was Linux is an operating Windows is an
produced fundamentally system, which is used by operating system used
for servers, mainframes everybody; from home by everybody.
and workstations aside clients to engineers and
from OSX, Which is PC lovers alike.
intended for everybody.
The Unix setting and the
customer server series
model were vital
components in the
advancement of the
Internet.
License Unix has different flavors Linux can consider as Windows is not a free
and also have different free operating system, operating system and
price structures as free downloaded, have usually low price
indicated by sellers. distributed with the help of as it is from $69 to
books, magazines and so $199.
on. There are valued
versions for Linux
additionally; however they
are typically less
expensive as compare to
windows.
Security It has interface between Linux is more secure than Windows is the major
user and kernel known windows where hackers target for developers of
as shell, so it does not or developers of viruses viruses and malware
face any virus attack. will find difficult to break and it is most
through Linux. vulnerable without anti-
virus software.
File It is represented as a The files are ordered in a File system can have
System hierarchical tree under tree structure starting with many hierarchies; for
the same root. There is the root directory. This example, different file
no drive system like drive root directory can be system for each
C, drive D etc. considered as the start of partitions and these
the file system, and it partitions are
further branches out represented as drive
various other alphabet letters like as
subdirectories.  C: D: etc.

Support It has a rare support to Linux has support via a Windows has support,
communities but there huge community of user which is easily
are some forums/sites forums/websites and accessible, online
that offers help for free. online search. forums/ websites, and it
has paid support also.
Example SunOS, Solaris, SCO Ubuntu, Debian GNU, Windows 10, Windows
UNIX, AIX, HP/UX, Arch
Figure Linux,
9. Linux OSetc. 8, Windows Vista, etc.
ULTRIX etc.

https://itsfoss.com/best-linux-beginners/

Figure 10. UNIX OS


References

e-Books
• A. Silberschatz, P. B. Galvin and G. Gagne. Operating Systems Concepts, 6th
Edition. John-Wiley and Sons (2002)
• A. Silberschatz, P. B. Galvin and G. Gagne. Operating Systems Concepts, 8th
Edition. John-Wiley and Sons (2009)
• A. S. Tanenbaum. Modern Operating Systems, 2nd Edition. (2002)

Online Articles and Journals


• A. Onsman. User Mode vs. Kernel Mode. Tutorials point, retrieved from
https://www.tutorialspoint.com/User-Mode-vs-Kernel-Mode (2018)
• A. Onsman. Types of Computing Environments. Tutorials point, retrieved from
https://www.tutorialspoint.com/Types-of-Computing-Environments#:~:text=A
%20distributed%20computing%20environment%20contains,the
%20distributed%20operating%20system%20software. (2018)
• I. Delkin. What Are Embedded Computing Systems? retrieved at
https://www.delkin.com/blog/what-are-embedded-computing-systems/ (2020)
• J. Pollard. How does the distinction between kernel mode and user mode
function as a rudimentary form of protection (security) system? Quora,
retrieved from https://www.quora.com/How-does-the-distinction-between-
kernel-mode-and-user-mode-function-as-a-rudimentary-form-of-protection-
security-system (2018)
• J. Haas. Unix vs. Windows. Lifewire, retrieved from
https://www.lifewire.com/operating-systems-unix-vs-windows-
2180225#:~:text=Unix%20is%20more%20stable%20and,is%20more
%20efficient%20than%20Windows. (2020)
• Jin. Difference between Linux, Unix And Windows. Researchpedia. retrieved
from https://researchpedia.info/difference-between-linux-unix-and-windows/
• Kawalpreet. Difference between UNIX and Windows Operating System.
Gulzar Group of Institutes Khanna, retrieved from
https://www.geeksforgeeks.org/difference-between-unix-and-windows-
operating-system (2020)
• High CPU usage: What does this mean? retrieved at
https://www.ionos.com/digitalguide/server/know-how/cpu-usage (2020)
• Process Management in Operating System: PCB in OS. Retrieved from
https://www.guru99.com/process-management-pcb.html (2020)
• File Management System. Technopedia, retrieved from
https://www.techopedia.com/definition/1832/file-management-
system#:~:text=A%20file%20management%20system%20is,special%20office
%20documents%20and%20records. (2020)
• CPU Utilization. Technopedia, retrieved from
https://www.techopedia.com/definition/28291/cpu-utilization (2020)
• Operating System - Properties. Tutorialspoint, retrieved from
https://www.tutorialspoint.com/operating_system/os_properties.htm (n.d.)
• Linux vs. Windows. Educba, retrieved from https://www.educba.com/linux-vs-
windows/ (2020)
• Linux vs Windows: What's the Difference? Guru 99 retrieved from
https://www.guru99.com/linux-differences.html#7

You might also like