Introduction
Operating systems are what make
modern computers work well. They regulate system processes, memory use, and
hardware resources, as well as keep system data safe from people who shouldn't
have access to it. In this class, I made an Operating Systems Theory Concept
Map to help me see how these main parts work together. The main question for
this study was: What are the basic ideas that make up operating systems?
I was able to learn about modern operating systems, process
management, memory management, file systems, mass storage, input/output
processes, and system security by adding to the idea map a little bit each
week.
Features and Structure of Contemporary Operating Systems
Users, programs, and hardware resources are all connected through the use of modern operating systems, which offer an organized environment. Figure 1 illustrates how the operating system divides its responsibilities into a number of subsystems. These subsystems are responsible for controlling the scheduling of the central processing unit (CPU), memory allocation, storage systems, and input/output devices.
At the core of the architecture of the operating system is the kernel, which is responsible for direct interaction with the various components of the hardware. These user interfaces, which include graphical user interfaces (GUI) and command-line interfaces (CLI), are located above the kernel layer and allow users to interact with the system. System services are also located above the kernel layer. The operating system is organized into layers, which allows it to ensure that hardware resources are shared among various users and programs in an effective manner (Silberschatz, Galvin, & Gagne, 2014).
Figure 1
Process
Management and Process Communication
One of the main jobs of an OS is to
manage processes. A process is a program that is running and has access to all
of its resources, such as memory, and the current state of execution. Process
Control Blocks (PCBs) keep track of data like the state of the current process,
the program counter, and the CPU registers. This lets you keep an eye on processes.
When a process is running, it can be in one of various states:
new, ready, running, waiting, in progress, or terminated. Operating systems use
scheduling algorithms to figure out how to divide up CPU time (Silberschatz, Galvin, & Gagne, 2014).
Multithreading is supported by modern operating systems. This
means that numerous threads can execute at the same time within a process. But
when two things are running at the same time, synchronization difficulties can
happen. The critical-section problem develops when a lot of applications try to
get to the same data at the same time. Synchronization techniques like mutex
locks and semaphores are in charge of making sure that activities work together
safely (Silberschatz, Galvin, & Gagne, 2014).
Figure 2
Memory
Management and Virtual Memory
Memory management is the process of making sure that programs
don't interfere with each other and that processes get the memory they need.
Virtual memory and physical memory are the two types of memory management
methods that are used in operating systems.
That which is physically stored is the RAM that is in the
computer. By using paging and sharing, virtual memory makes it look like
processes have more memory than they really do (Silberschatz, Galvin, & Gagne, 2014). It is easier to use
memory when it is split up into fixed-size chunks called pages.
The MMU changes the logical addresses that programs use into the
real addresses that hardware can use. With these ways, a lot of things can
happen at once, and the system works as well as it can.
Figure 3
File Systems,
Storage, and Input/Output
File systems are used by operating systems to handle data storage.
File systems let you do things like make, read, write, and delete files, as
well as keep track of disk space and access rights.
Different directory structures put files in different places.
These are single-level directories, two-level directories, tree structures,
acyclic graphs, and generic graph structures. Each structure has a different
amount of flexibility and organization (Silberschatz, Galvin, & Gagne, 2014).
To make disks work better, mass storage systems use disk
scheduling algorithms including First-Come-First-Serve (FCFS), Shortest Seek
Time First (SSTF), and SCAN.
Through device drivers and interrupt handling techniques,
input/output systems let the operating system talk to hardware devices.
Figure 4
Protection
and Security
Protection and security methods keep computer systems safe from
both insider threats and outside abuse. Protection and security methods keep
processes from getting too close to system resources and keep systems safe from
attacks.
Operating systems use the access matrix as a security model to
figure out which processes or users are allowed to handle certain system
objects. To set up access grids, people often use Access Control Lists (ACLs)
or Capability Lists.
Detection systems, firewalls, encryption, and authentication are
some of the security tools that keep systems safe from dangers like
denial-of-service attacks and unauthorized access.
Figure 5
Conclusion
Operating systems organize a lot of different subsystems to make
sure that computer resources are used efficiently and safely. Modern computer
systems are built on the basic ideas we'll be learning in this class. These
ideas include managing memory, processes, storage systems, and security.
If you want to work in cybersecurity, systems administration, or
software development in the future, you will need to know these concepts. The
idea map we made in class helped us see how these parts work together as a
whole.
References
Silberschatz, A., Galvin, P.
B., & Gagne, G. (2014). Operating
system concepts essentials (2nd ed.). Wiley.