OPERATING SYSTEMS FUNDAMENTALS Flashcards
Input
A user running a word-processing program types the letter A on the keyboard, which results in sending a code to the computer representing the letter A.
Processing
The computer’s CPU determines what letter was typed by looking up the keyboard code in a table that resides within the computer’s memory and is part
of the operating system.
Output
The CPU sends instructions to the graphics cards to display the letter A, which is then sent to the computer monitor.
operating system (OS) Features
User interface, Storage management, Process and service management, Memory and I/O management, Security and resource protection, The kernel
User interface
The user interface provides a method for users to interact with the computer, usually with a keyboard and mouse or touch screen. A user clicks, touches, or types; the computer processes the input and provides some type of output.
Storage management
A key function of business computers is the storage of
information. The file system is the method by which an OS stores and organizes files and manages access to files on a storage device, such as a disk drive, SD card, or USB flash drive.
Process and service management
A process is a program that’s loaded into memory
and run by the CPU. It can be an application a user interacts with, such as a Web browser, or a program with no user interface that communicates with and provides
services to other processes. A process without a user interface that runs in the background is usually called a service in Windows and a “daemon” in Linux. Most
operating systems have built-in services to handle network communication, control access to various input/output devices, manage the file system, and so forth. The
operating system controls the loading, execution, and termination of both built-in and user-installed processes.
Memory and I/O management
When a user performs an action that starts an
application, the OS must determine if sufficient memory exists to load the application and where in memory it should be loaded. When an application terminates, the OS must mark the memory used by the application as free so other
applications may use it. In addition, the OS ensures that I/O devices such as USB ports and video cards are accessed by only one process at a time.
Security and resource protection
Operating systems used on business systems provide
methods for securing access to resources. This function includes protection from accidental unauthorized access, such as when a poorly written program attempts
to access memory outside of its allocated space, and from purposeful unauthorized access, such as from malware or an outside attacker. The OS also provides access
controls that can be configured to limit which users can access particular files or make system configuration changes.
The kernel
The kernel is the heart of the OS and runs with the highest priority. It performs many of the tasks mentioned in this list. The kernel schedules processes to run, making sure high-priority processes are taken care of first; performs memory and I/O management; and provides a number of security and resource protection functions.
single-tasking operating system
execute only a single process at a time. This means that if you are browsing the Internet with a Web browser,
you can’t be listening to Spotify at the same time on the computer.
A multitasking operating system
quickly switches between all the processes
that are loaded into memory and scheduled to run, so Spotify can play music while you’re typing a document and the Chrome browser is downloading a file.
An embedded system
is a computing device designed for a specific task, such as
controlling a dishwasher or handling the braking system in an automobile. They often use inexpensive microcontrollers that run at speeds as low as 1 MHz, don’t have multitasking
capabilities, might have as little as 8 KB of memory, and run a simple OS that does little more than load a program and start it. That isn’t to say that all embedded systems are
single-tasking, but many are.
cooperative multitasking.
In this method, the operating system gives CPU control to a process and waits for it to terminate or enter a waiting state, thereby giving up control of the CPU. The OS then gives CPU control to the next process waiting for CPU time. The problem with this method of multitasking occurs when a process doesn’t relinquish control of the CPU timely manner, either due to poor software design or an error that keeps the process in an infinite loop
preemptive multitasking
the running process can be replaced with another
process at any time based on a system interrupt, a higher-priority task requiring the CPU, or the time-slice timer expiring. Operating systems used on server, desktop, and laptop computers developed since the early 2000s use preemptive multitasking operating systems. In preemptive multitasking, the operating system is in strict control of which processes get CPU time.
single-user operating system
allows only one user at a time to interact with the OS
user interface, start processes, make system configuration changes, and interact directly with the file system. Single-user systems may be single-tasking systems as well, but they
don’t have to be. However, all single-tasking systems, such as those mentioned in the previous section, are also single-user systems
multiuser operating system
allows multiple users to sign in to it, start and
stop processes (that is, run user applications), interact with the user interface, and access the local file system. Linux/UNIX operating systems have always supported multiple users, and Windows Server versions also allow multiple users through RDP, where one user can be signed in to the local console and other users can be signed in remotely
general-purpose operating system
is designed to provide a convenient
user interface and run applications in a home or business environment with reasonable performance. These operating systems usually require a responsive user interface because
users expect a file or application to load quickly when they double-click it. Users are not typically concerned with background processes unless they affect the application that
is currently running.
A real-time operating system (RTOS)
is designed to process inputs and produce outputs not just in a reasonable amount of time, but in a very specific
and repeatable amount of time. Real-time systems perform tasks like controlling assembly line robotic systems, controlling Federal Express sorting facilities, managing the electrical grid, running amusement park rides, and controlling self-driving automobiles. In such
systems, the difference between completing a task in .5 seconds or .7 seconds could mean a restart of the assembly line at least or the loss of life at worst.