Week 5 Final Project - Theory Concept Map
The major functions of an Operating System (OS) are process management, memory management,
storage management, input/output (I/O) control and management, and protection and security.
Process management executes instructions sequentially until complete. This function relies on the
CPU, memory I/O and files to carry out its assignment. Additionally, it allows for creating system
process and provides the mechanisms for synchronization and communication.
All
data passes through memory management before and after it is processed. The
same holds true for instructions for them to execute. This function manages
which portion of the memory is utilized and how by allocation and deallocation.
The
storage management provides a uniform way for storing data that passes through
the OS. This function also converts physical storage into local storage, like
files. The management of files consist of creating, deleting, and mapping.
I/O
subsystems hides peculiarities of hardware from its user. This functionality of
the OS is responsible for things such as buffering, caching and drivers.
Furthermore, the protection and security function protect and secures the
system resources by controlling access and defending the system from attack.
A process is a program that has been executed. When the CPU
begins execution, a program then becomes a process that is executed by the CPU.
The process performs all the task within the program. Therefore, when a program
is running it is referred to as process. The structure of a process contains
four parts: code/text, data, heap, and stack. Code/Text stores the code that
needs to be executed. Stored in the data section of the structure is global
variables that can be accessed anywhere in the program. Heap stores memory
allocation and is available space in memory. The stack is used for local
variables and is also used to store method or function parameters.
When a process executes it changes its state. Process
states includes new, running, waiting, ready and terminate. New is the first
state here a process has just been created. The process moves from new to ready
once the instructions have been executed. At which point it is dispatched to
the CPU, where it will begin running. From the running state the process moves
to the waiting state where it is waiting for something to occur such as the
completion of wither input or output. Then the process begins waiting to be
assigned to a processor in the ready state. Finally, in the terminated state
the process has completed execution.
Process control block is a means of keeping track of all the
data structure. As soon as a new process is created the operating system
creates the process control blocker. The process control blocker includes the
process state, process counter, CPU registers, CPU-Scheduling information, and
memory management information.
In a single thread process a program the code, data and files
are shared by a single thread. Additionally, there is only one register,
counter, and stack. In a multi-threaded process, all the threads have their own
register, counter, and stack. However, all the threads will share the code,
data, and files.
The critical-section problem is a system consisting of n
process. Each process has a segment of code that is called the critical
section. The solution to the critical section problem must follow the following
conditions: mutual exclusion, progress and bounded waiting.
The operating system is the interface between the computer system and the user. To execute any program on an operating system the program must be loaded in the computer’s memory. A program is kept in the memory for execution. The memory is organized in a hierarchy consisting of the main memory and secondary memory. The CPU can only directly access the main memory. The program is complied into executable code and then stored in the main memory under execution, referred to as a process. The overall objective of an operating system is to improve efficiency. The size of the main memory is less the cost is higher, but the access time is kept to a minimum. Whereas with secondary memory the size is large with low cost and high access time. It is ideal to keep as many processes in the main memory as possible. To make this possible the operating system utilizes technics such as dynamic loading, dynamic linking, and overlays. To make room for the process in the main memory the operating system utilizes allocation and deallocation of memory.
Virtual
address is generated by the CPU whereas, physical address space is generated by
the memory management unit. The virtual address is a group of virtual addresses
generated by the program. The physical address is a group of all physical addresses
generated by the program. In compile time the virtual and physical address
space is the same. In execution, virtual and physical address space are
different.
Operating systems allows users to organize files in the form of directories. The files can be added, deleted, relocated and read. These files are tracked using information such as their location, time, size and the author. All the operations performed with respect to the files are collectively called the file system or file management. The operating system helps execute the following operations: creating files, uploading files, reading files, deleting files and protecting files.
File directories are a physical disk that can be broken up into multiple partitions. The directory is a simple table that translates file names into directory entries. Operations of the directory consist of searching for a file, creating a new file, delete a file, or list a directory. In a single-level directory all the files are contained in the same directory. In this directory type each file must have a unique name. In the two-level directory a directory is created for each user. In tree-structural directories users are allowed to create their own sub-directories and organize their files accordingly. Acyclic graph directories files are shared by more than one user. This directory is most useful when the same files need to be accessed in more than one place in the directory structure. Furthermore, general graph directory cycles are allowed within the directory. Also multiple directories can be derived from more than one directory.
Input devices are used to send data to the CPU and helps the user interact with the device. The keyboard is an example of an input device. The keyboard allows users to enter instruction to the device. The mouse which is also a point and click device allows users to navigate the interface of the computing device. On the other hand, an output device receives data from the CPU. A monitor is an example of an output device that visually displays data from the computer to the screen for the user to interact with the data. A printer is also an output device that computing devices send text and pictures to allowing the data to be transferred to paper in with black/white or color.
Single-Level
Directory
Two-Level
Directory
Tree-Structured
Directory
Acyclic-Graph
Directory
General
Graph Directory
Protection
enables mechanisms to control to access programs, processes or users of a
computing device. It protects the operating system by obtaining authorization
to access files, memory segments and the CPU. The domain of protection includes
hardware objects and software objects, which are both abstract data types.
Modern protection concepts increase reliability of complex systems. Protection is needed to avoid malicious
activity, to prevent intentional damage and violation of access restrictions
and defend systems from unauthorized users. Goals of protection is the safe
sharing of a common logical address space or common physical address space,
making resource usage fair and reliable.
The access matrix is used for the implementation of the protection model. The matrix contains bot rows and columns. Rows represent the domain such as user, processor, and procedure. The columns represent the objects which are the resources that are present in the operating system. Each entry in the matrix consists of a set of access rights. The entry access defines the set of operations that a process, executing in domain Di can invoke an object Oj. It is required that a process executing in domain Di can access only those objects specified in row i.
Operating systems contain pertinent data that
is confidential and maybe beneficial to someone else. Although 100%
security is never guaranteed there are mechanisms to make security breaches
difficult in nature. Security protects against intruders, threat, attack
attempts, breach of integrity, breach of availability, theft of service and
denial of service. Furthermore, security protects against program threats such
as logic bombs, spyware, trap doors, and viruses. System and network attacks
happen in the form of worms, port scanning and denial of service.
The
Summary Blog Post:
A contemporary operating
system includes a Graphical User Interface (GUI) that contains graphics and
icons and is commonly navigated and controlled by the computers mouse. Multitasking
allows multiple software and process to run on the same system at the same
time. Additionally, multitasking
increases the CPU utilization and system performance. Multiprocessing allows
the operating system to support multiple processors in computer system and the
ability to have multiple processors on a single chip that increases system performance.
Multi users allow multiple users to us the same computer system simultaneously
without disturbing each other’s services.
Based on the knowledge
obtained in this course it will help me when deciding on my next computing
device purchase. In addition, the deep
dive into operating systems will also continue to be beneficial in my continued
studies to obtain my Cyber and Data Security degree.
Comments
Post a Comment