Operating Systems Fundamentals
Operating System Features
Modern
operating systems include important features such as:
·
User
Interface: A system that allows users to enter inputs and
read outputs. The most common user interface for consumer uses is GUI
(Graphical User Interface)
·
Program Execution: Loads programs into memory and runs them.
·
Input/Output
Operations: Allows for entering inputs into a program and
reading outputs from a program.
·
File System
Manipulation: Allows programs to read and write files. For
example, a word processor needs to read text files and write them to memory.
·
Communications: Systems in which one process sends or receives
information from another process.
·
Error
Detection: The operating system detects and corrects
errors. Unresolved errors can cause a system to crash.
·
Resource
Allocation: The OS manages resources and allocates them for
multiple users and programs.
·
Accounting: Allows the OS to track the resources used by
users.
·
Protection
and Security: Allows the operating system to control the use
of information. For example, a user may need to provide a password to be able
to use a computer.
Sharing Information
Because operating systems handle these complex tasks, it
is necessary for various processes to share and exchange information. A process
is simply a program that the operating system is executing.
Each process has a critical section of its code that
allows it to perform certain functions. However, this presents a problem as
processes must share and exchange information they may need for executing
functions in their critical sections. To facilitate the sharing of information,
the operating system allows only one program to access its critical section at
a time.
This creates another problem, because the operating system
must decide which program to allow to access its critical section. There are
multiple software solutions to this problem, but one well-know solutions is
Peterson’s solution. This solution first checks if a process is ready to enter
its critical section, and then checks to see if that process is stored in a
variable called “turn”. If it is, the process is allowed to enter.
Memory Management
Operating systems perform memory management by dividing available memory among different processes. The primary objective of memory management is to ensure the system runs efficiently by using memory effectively.
The
information processes use are kept in main memory (also known as Random Access Memory).
This is the primary place the system stores the memory it needs to run. The RAM
is much faster than the computer’s hard disk, so the system is more efficient
by storing memory there.
However, if
the system is running out of space in the RAM, the computer can use virtual
memory. When using virtual memory, the system partitions a section of the hard
disk to store memory it does not have space for in the RAM. Although this is slower,
it is a free way to increase available memory.
File
Management
The
objective of file system management is to allow the operating system to store data
in logical records called files. The operating system maps these files to space
on physical storage devices, such as hard disks. The operating system also
maintains a directory of all the files on the system and where they are stored.
One of the
primary input/output devices related to file management is a bus, which is a
set of wires and a protocol that determines what messages can be sent and
received on the wires. There are many types of buses available, including the common
USB (universal serial bus). The bus itself communicates with the computer via
an access point called a port. For example, a USB flash drive can be connected
to the USB port on a computer. From here, the CPU handles the work of moving
memory between devices. This process is managed by a kernel module called a
device driver that controls the device.
Security
Processes
execute in domain by accessing or manipulating objects, those objects are
hardware and software. The objects need to be protected from access and/or use
by malicious threats.
The access
matrix is a general model of protection, and it can be implemented as access
lists associated with each object or by capability lists associated with each
domain to guard from potential threats. Dynamic protection model in the access
matrix model is included by considering domains and the access matrix itself as
objects. Real systems model is much more limited than general model and tends
to provide protection only for files. Language-based protection model provides
finer-grained arbitration of requests and privileges.
These various
approaches to security work in a similar way. They seek to limit access to
particular files or I/O devices by unauthorized users. Some security systems
use an access control list which defines how each program can be used by each
user. Another approach is a capability list. If a user has a capability list,
it is allowed to access a process.
Reflections
These concepts will help me better understand how computer
systems work. This is very important to me as I am looking forward to a career
in the technology industry. Even at my current job, I am finding this knowledge
is helpful in understanding different components of the computer system and
network.
Link to Full Concept Map: OS
Concept Map
Link to Blog Post:
References:
Silberschatz,
A., Galvin, P. B., & Gagne, G. (2014). Operating system concepts
essentials (2nd ed.). Retrieved from https://redshelf.com/
GeeksforGeeks.
(2021, November 22). Memory Management in Operating System.
Retrieved August 26, 2022, from https://www.geeksforgeeks.org/memory-management-in-operating-system/





Comments
Post a Comment