Memory management is a process of allocating necessary memory space for each process, moving between hard drive and memory
Allocating storage for data and instructions;
Keeping track of free and occupied parts of memory;
Deals with the management of a computer’s physical memory or RAM.
Each computer has preinstalled main memory which is used for processing running applications and services.
Shares and organizes RAM between different applications.
Ensures one app doesn't interfere with memory used by another app (prevents overwriting memory (integrity))
Regardless of the size of the memory capacity, it cannot accommodate all ready/running programs or processes simultaneously.
Underlying mechanism of virtual memory implementation, which allows all modern OS to use the secondary as if it was the primary
It is used in the formation of virtual memory / use of secondary memory;
To increase the amount of primary memory;
Memory divided into (tagged) “pages”;
Which are then transferred in and out as required;
The technique of keeping multiple programs in main memory at the same time, competing for the CPU
Review Question: Which OS service/s is/are part of this OS's function?
A device driver is a low-level computer program that operates or controls a peripheral device that is attached to a computer.
Provides a software interface (set of APIs) to control hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details of the hardware being used.
Without the required device driver, the corresponding hardware device fails to work.
are operating system-specific and hardware-dependent.
Acts as a translator between the hardware device and the programs or operating systems that use it.
It sole purpose is to provide an interface for the computer to communicate with the I/O device by translating the operating system’s instructions into a language that the device can understand.
Review Question: Which OS service/s is/are part of this OS's function?
The act of keeping track of how and where programs are loaded in main memory
OS allows more than one program/process to share the memory;
By allocating separate memory to each program;
Provides memory isolation for each of processes;
The act of keeping track of information for active processes
To allow (the appearance of) more than one program running at the same time;
By the allocation of time slices;
Decides which process runs at a certain point in time;
Arrange the execution of applications so that you believe that there are several things happening at once (scheduler);
Prioritizes tasks by importance (interrupts);
Review Question: Which OS service/s is/are part of this OS's function?
The basic unit of software that the OS deals with in scheduling the work done by the processor is either a process or a thread, depending on the OS.
The dynamic representation of a program during execution
The smallest unit of processing that can be performed in an OS. It exists within a process - that is, a single process may contain multiple threads.
An application causes several other processes to begin.
E.g. a word processor is a process itself but has also started other processes for tasks like communications with other devices or other computers.
Processes occur without the computer giving the user direct evidence that they exist (An example of abstraction)
E.g. Windows or OS X can have several background processes running to handle the network, memory management, disk management, virus checks, etc.
Thus a process is software that performs some action and can be controlled by a user, by other applications or by the operating system.
A process, in the simplest terms, is an executing program. One or more threads run in the context of the process.
A thread is the basic unit to which the operating system allocates processor time.
A thread can execute any part of the process code, including parts currently being executed by another thread.
A system in which CPU time is shared among multiple interactive users at the same time.
Since processors (CPUs) can only do one to two actions at once, timesharing of active tasks to ensure that each process and application receives enough of the processor’s time to function properly occurs.
The period of time for which a process is allowed to run uninterrupted in a pre-emptive multitasking operating system. The scheduler is run once every time slice to choose the next process to run.
Time slicing allows process to execute for a fixed time/each process is given a fixed period of time (time slice) for which the process is allowed to run/;
Prioritizing enables execution of the (highest priority) process until a higher priority task enters;
The OS/scheduler puts processes (jobs) in the right place in a queue in order of priority
(Example: an I/O operation has higher priority than calculations because it uses less CPU time);
is running multiple programs or subprograms concurrently, or seemingly concurrently to the user. (Example: Apps that share CPU time)
An act of determining which process in the ready state should be moved to the running state.
CPU scheduling algorithms decide which process should be given over to the CPU so that is can make computational progress.
Scheduling and managing processor time of different applications in a multitasking system.
Responsible for efficient allocation of resources so that an app can run smoothly
Apps must share CPU time (multitasking)
Hardware interface: Between Hardware and Systems Software; kernel and device drivers--low-level languages.
Software interface: Between System Software and Application Software; programming APIs--high-level languages.
User interface: Between Application Software and the User; graphical user interfaces (GUIs).
A consistent Application Program Interface (API) allows software developers to write applications on one computer and have a high level of confidence that it will run on other computers.
The differing amount of memory or quantity of storage between the machines should be irrelevant.
Is a text-based interface that is used to operate software and operating systems while allowing the user to respond to visual prompts by typing single commands into the interface and receiving a reply in the same way.
An interface through which a user interacts with electronic devices such as computers, handheld devices and other appliances.
Uses dialogs, toolbars, menus and other visual indicators to display information and user input controls.
Commands do not have to appear as text unlike CLIs--GUIs are manipulated by a pointing device such as a mouse, trackball, stylus or a finger on a touch screen.
Uses a combination of technologies to provide a platform that the user can interact with, for the tasks of gathering and producing information.
The most common combination of such elements in GUIs is the WIMP (“window, icon, menu, pointing device”).
Smaller mobile devices e.g. smartphones typically use the class of GUIs named post-WIMP.
These support styles of interaction use more than one finger in contact with the display, which allows actions such as pinching and rotating.
These are unsupported by one pointer and mouse.
Review Question: Which OS service/s is/are part of this OS's function?
A set of specific steps or measures used to protect the OS from threats (such as viruses, worms, malware or remote hacker intrusions).
A security measure that encompasses all preventive-control techniques, which safeguard computer assets capable of being stolen, edited or deleted if security is compromised.
Provides security through user accounts with authentication and encryption (User login/password - Multiuser);
Log files to keep a record of which user has been using the computer;
Controls the access rights of users to system resources;
The use of virus scanning utilities and setting up a firewall to block suspicious network activity;
Review Question: Which OS service/s is/are part of this OS's function?
The process of manipulating files in computer system, which includes the process of creating, modifying, storing and deleting files.
A file is a container in a computer system for storing information. Files include text files, data files, directory files, binary and graphic files that store different types of information.
Storage is a process through which digital data is saved within a data storage device by means of computing technology. Storage is a mechanism that enables a computer to retain data, either temporarily or permanently.
Organizes file systems with internal and external storage devices.
Disk Access and Data Management
OS is responsible for keeping track of files
Structured into files and folders for easy access
Coordinates transfer between primary and secondary
Operating System controls NIC and interacts with OSI Models.
Operating Systems provide interface and programs for users to manage and interact with other devices on a network
Modern OS contains built-in software designed to simplify networking. Typical OS software includes an implementation of TCP/IP and related utility programs such as ping and traceroute, along with device drivers and other software to automatically enable the Ethernet or wireless interface for a device.
A network interface controller is a computer hardware component that connects a computer to a computer network
NIC allows computers to communicate over a computer network, either by using cables or wirelessly.
The NIC is both a physical layer and data link layer device, which provides physical access to a networking medium
A computer program that is the core of a computer's operating system, with complete control over everything in the system.
Since kernel handles many fundamental processes, it must be loaded at the beginning of the boot sequence when a computer starts up.
The kernel performs a system check and recognizes components, such as the processor, GPU, and memory.
It also checks for any connected peripherals.
A signal sent from an input device to a computer causes the processor, and the main program that operates the computer (the operating system), to stop and figure out what to do next;
The OS allows each application process to run for short time slices, then uses a system of interrupts to suspend the execution until it is time to continue the process execution.
It is processes (not applications!) that the operating system controls and schedules for execution by the CPU.
The operating system allows the application to begin running, suspending the execution only long enough to deal with interrupts and user inputs.
It's a continuous checking of all input devices by processor to see what state they are in/to see whether they are still connected/want to communicate; So a faulty device that is polled will not reply;