Name: Amoafo Ofori Kelvin
Index Number: 4211210116
Program: Bsc. Information Technology
Level: 300
Department: Faculty of Computing and Information Systems (FOCIS)
Course Title: Introduction to Operating Systems
Course Code: CICS 341
Briefly write a short note on the differences between Windows and Linux
files systems and indicate merits and demerits of each.
There are numerous variations in the architecture, features, and functionality of the
file systems on Windows and Linux…
Architecture:
Data is kept in a central directory using the hierarchical file system (NTFS) used
by the Windows file system. Linux, on the other hand, employs a directory
structure that resembles a tree (EXT4) and lets users build subdirectories and files
with various degrees of access.
Features:
Whereas the Linux file system includes capabilities like journaling, symbolic links,
and file permissions, the Windows file system offers features like file compression,
encryption, and indexing.
Functionality:
Linux file system enables open-source software and command-line interface,
whereas Windows file system supports a broad variety of file types and offers
comprehensive support for GUI programs.
Merits of Windows file system:
The Windows file system has an intuitive graphical user interface and is
simple to use.
The Windows file system works with a variety of programs and tools.
The Windows file system is great for safe file storage and transport since it
offers file compression and encryption.
Demerits of Windows file system:
Windows' closed-source file system prevents customization and
development.
The Windows file system is less secure than the Linux file system because it
is more prone to viruses and malware.
The Windows file system is less reliable and needs periodic upkeep and
upgrades to operate at its best.
Merits of Linux file system:
• Because the Linux file system is open source, users can modify and develop it as
they see fit.
• Compared to the Windows file system, the Linux file system is more protected
against viruses and malware.
• Compared to Windows file system, the Linux file system is more reliable and
requires less upkeep and updating.
Demerits of Linux file system:
• The Linux file system has a more difficult command-line interface and a steeper
learning curve than the Windows file system.
• The Linux file system only partially supports proprietary programs and software.
• Those accustomed to a graphical user interface may find the Linux file system
unsuitable.
List and explain any two (2) reasons for building distributed systems
Computer systems known as distributed systems are created to operate over a
number of networked computers, enabling them to share resources, information,
and computing power. Two justifications for developing distributed systems are as
follows:
• Scalability: Developing scalable distributed systems is one of the main goals.
Businesses and organizations require additional processing power and resources as
they expand in order to handle growing workloads. A distributed system enables an
organization to expand its network of computers, which can then be utilized to
handle more requests or data. As a result, system performance is enhanced and the
system is guaranteed to be able to manage increased workloads as the organization
expands.
• Fault tolerance: Increasing fault tolerance is another justification for developing
distributed systems. If one computer in a system malfunctions or crashes, the
system as a whole is less likely to fail totally. Work can be divided across several
computers in a distributed system, making sure that the system keeps running even
if one of the machines malfunctions. This makes it possible to maintain the
system's dependability and availability despite a malfunction or outage.
Briefly explain the basic types of multiprocessor operating systems
Computers with numerous CPUs (Central Processor Units) or cores can run
multiprocessor operating systems. These operating systems are able to control
several threads and programs that can run concurrently on various processors or
cores. The fundamental varieties of multiprocessor operating systems are as
follows:
Symmetric Multiprocessing (SMP): The most prevalent kind of
multiprocessor operating system is this one. Each processor in an SMP
system is treated equally and is free to work with any process or thread.
SMP systems are made to distribute resources equally across all processors
and offer load balancing to guarantee that all CPUs are used to their full
potential. Operating systems like Solaris, Linux, and Windows NT are
examples of SMP systems.
Asymmetric Multiprocessing (AMP): Each processor in an AMP system is
given a certain duty or function. I/O requests could be handled by one CPU,
whereas running programs might be handled by another processor. The
operating system is made to control how tasks are distributed among the
processors. Compared to SMP systems, AMP systems are less widespread
and are mainly employed in embedded systems or niche applications.
VxWorks and Nucleus are two AMP operating systems as examples.
Clustered Systems: A clustered system is made up of several nodes, or
computers, that are linked to one another to create a larger system. The
cluster's nodes might each have its own CPU, memory, and storage. The
operating system is made to control how jobs are distributed across nodes,
ensuring that workloads are balanced and that resources are used to their full
potential. In high-performance computer settings like scientific research or
financial analysis, clustered systems are frequently employed. Linux Cluster
and Microsoft Windows HPC are two instances of clustered operating
systems.
Explain the Difference between MAR and MDR as applied in memory
Management
Two distinct registers used in computer memory management are MAR and MDR.
The memory address of the data being retrieved or saved in memory is kept in a
register called the MAR (Memory Address Register). A CPU provides the memory
address to the MAR, which then sends the address to the memory controller, in
order to read or write data from memory. The address is then used by the memory
controller to find the data in memory, extract it, and save it.
The actual data that is being read from or written to memory is kept in a register
called the MDR (Memory Data Register). The data is sent back to the MDR after
the memory controller has located it in memory. The data is then returned by the
MDR to the processor for utilization or processing.
In conclusion, the primary distinction between MAR and MDR is that the former
stores the memory address of the data being read or saved, whilst the latter does so
for the actual data.
To put it another way, MDR functions as a buffer that contains the data that is
retrieved or saved at that memory address, whereas MAR functions as a pointer
that links to a specific region in memory.
Overall, these two registers are critical parts of managing computer memory
because they enable the CPU to find and retrieve data stored in memory, which is
necessary for the computer to function.
Explain the following terms as applied in memory management.
i. Demand Paging:
Operating systems employ demand paging as a memory management strategy to
optimize memory use. Demand paging only loads memory pages into physical
memory when the software specifically requests them. Preloading, in contrast,
loads every page of a program into physical memory all at once. Demand paging is
based on the localization principle, which says that programs typically only use a
small fraction of their data and code at once. The operating system can use demand
paging to minimize memory utilization by only loading the necessary pages into
memory. This frees up memory for other applications and decreases the system's
total memory footprint.
ii. Memory Compaction:
A memory management method called memory compaction is used to maximize a
system's utilization of physical memory. The memory address space may become
distorted as a result of the termination of a process or the deallocation of a memory
block. These gaps may fragment over time, which would result in inefficient
memory consumption. To close these gaps and lessen fragmentation, memory
compaction entails shifting the running processes. By decreasing the amount of
time spent looking for free memory and increasing the usage of that memory, this
strategy can help the system operate better overall.
iii. Memory Segmentation:
The address space of a program is divided into logical segments or portions using
the memory management method known as memory segmentation. The code, data,
and stack are only a few examples of the various program components that each
section represents. Since each segment may be given a separate set of access rights,
segmentation enables the operating system to safeguard memory locations against
unwanted access. Programs can access more memory through segmentation than
they could using a single contiguous address space. Since the available memory is
split up into smaller segments, segmentation can also result in fragmentation,
which can result in the inefficient usage of memory if portions are not chosen
carefully.