System Software (Operating System)

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Cooperative multitasking

(old legacy)- programs were designed to save HW resources, programs were written to cooperate

Major function of operating system

1. Manages Memory 2. Manages Central Processing Unit 3. Manages secondary storage 4. Manages i/o devices 5. Manages Applications 6. Manages the user interface

Context Switch

A context switch is the mechanism to store and restore the state or context of a CPU in Process Control block so that a process execution can be resumed from the same point at a later time. Using this technique a context switcher enables multiple processes to share a single CPU. Context switching is an essential part of a multitasking operating system features.

Virtual Memory

A secondary storage as an extension of RAM. Moving information in RAM to hard disk (expanding RAM at no cost)

Process Control Block

An ID number that identifies the process Pointers to the locations in the program and its data where processing last occurred Register contents States of various flags and switches Pointers to the upper and lower bounds of the memory required for the process A list of files opened by the process The priority of the process The status of all I/O devices needed by the process

Real Time Soft System

Application based- Critical real-time task gets priority over other tasks and retains the priority until it completes

CPU Status

Each process has a status associated with it. Many processes consume no CPU time until they get some sort of input. For example, a process might be waiting for a keystroke from the user. While it is waiting for the keystroke, it uses no CPU time. While it's waiting, it is "suspended". When the keystroke arrives, the OS changes its status. When the status of the process changes, from pending to active, for example, or from suspended to running, the information in the process control block must be used like the data in any other program to direct execution of the task-switching portion of the operating system.

File Extension

Files will always have an extension that shows the application it is associated with and what type of file it is

GUI

Graphical User Interface (window, icons, pictures)

Memory managed by the operating system

High-speed cache -- This is fast, relatively small amounts of memory that are available to the CPU through the fastest connections. Cache controllers predict which pieces of data the CPU will need next and pull it from main memory into high-speed cache to speed up system performance. Main memory -- This is the RAM that you see measured in megabytes when you buy a computer. Secondary memory -- This is most often some sort of rotating magnetic storage that keeps applications and data available to be used, and serves as virtual RAM under the control of the operating system.

interrupts

Interrupts are special signals sent by hardware or software to the CPU. It's as if some part of the computer suddenly raised its hand to ask for the CPU's attention in a lively meeting. Sometimes the operating system will schedule the priority of processes so that interrupts are masked -- that is, the operating system will ignore the interrupts from some sources so that a particular job can be finished as quickly as possible. There are some interrupts (such as those from error conditions or problems with memory) that are so important that they can't be ignored. These non-maskable interrupts (NMIs) must be dealt with immediately, regardless of the other tasks at hand.

Files

Normally found o secondary storage, OS defines the storage by a letter (C: drive etc)

Virtual Machine

Partitioning 1 hard drive to have separate operating systems. (host OS running a virtual machine)

Schedulers

Schedulers are special system software which handles process scheduling in various ways. Their main task is to select the jobs to be submitted into the system and to decide which process to run. Schedulers are of three types Long Term Scheduler Short Term Scheduler Medium Term Scheduler

Scheduling Queues

Scheduling queues refers to queues of processes or devices. When the process enters into the system, then this process is put into a job queue. This queue consists of all processes in the system. The operating system also maintains other queues such as device queue. Device queue is a queue for which multiple processes are waiting for a particular I/O device. Each device has its own device queue.

Distributive Sharing

Serve multiple real time application and multiple users. Multiple central processors to serve multiple real time application and multiple users. Data processing jobs are distributed among the processors accordingly to which one can perform each job most efficiently. User at one site can use resources available at another. Reduction of the load on the host computer.

Open Source

Software that is free and available for public use ie. Linux

Time Sharing

Terminal based operating system, 1 system in the back doing processing. Enables many people located at various terminals to use a particular computer system at the same time. shared processor time by multiple users. Time-sharing minimizes response time. provide quick response, avoids duplication of software, reduces CPU idle time. Several jobs are executed by the CPU simultaneously by switching between them.

bootstrap loader

The bootstrap loader is a small program that has a single function: It loads the operating system into memory and allows it to begin operation. In the most basic form, the bootstrap loader sets up the small driver programs that interface with and control the various hardware subsystems of the computer. It sets up the divisions of memory that hold the operating system, user information and applications. It establishes the data structures that will hold the myriad signals, flags and semaphores that are used to communicate within and between the subsystems and applications of the computer. Then it turns control of the computer over to the operating system.

thrashing

The operating system itself requires some CPU cycles to perform the saving and swapping of all the registers, queues and stacks of the application processes. If enough processes are started, and if the operating system hasn't been carefully designed, the system can begin to use the vast majority of its available CPU cycles to swap between processes rather than run processes.

Memory storage and management

When an operating system manages the computer's memory, there are two broad tasks to be accomplished: Each process must have enough memory in which to execute, and it can neither run into the memory space of another process nor be run into by another process. The different types of memory in the system must be used properly so that each process can run most effectively.

Swapping

When the OS is executing one process and swaps to another

At computer startup

When you turn on the power to a computer, the first program that runs is usually a set of instructions kept in the computer's read-only memory (ROM). This code examines the system hardware to make sure everything is functioning properly. This power-on self test (POST) checks the CPU, memory, and basic input-output systems (BIOS) for errors and stores the result in a special memory location. Once the POST has successfully completed, the software loaded in ROM (sometimes called the BIOS or firmware) will begin to activate the computer's disk drives. In most modern computers, when the computer activates the hard disk drive, it finds the first piece of the operating system: the bootstrap loader.

Command Line

a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (commands)

Embedded System

a special-purpose system in which the computer is completely encapsulated by the device it controls. Unlike a general-purpose computer, such as a personal computer, an embedded system performs pre-defined tasks, usually with very specific requirements. (microwave)

Application Program Interface

allows a software developer to write an application on one computer and have a high confidence that it will run on another computer of the same type.

compare and contrast cooperative and preemptive OS

both multitasking, which allows multiple application to be used at a time. Preemptive is real-time response, cooperative relies on each process regularly giving up time to other processes on the system. one program can consume all the CPU time

Real Time Operating System

data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. Real time processing is always on line whereas on line system need not be real time. scientific instruments and industrial systems. Very little user-interface capability and no end-user utilities. Managing the resources of the computer so that a particular operation executes in precisely the same amount of time, every time it occurs.

thread

deal with all the CPU-intensive work of a normal process, but generally does not deal with the various types of I/O and does not establish structures requiring the extensive process control block of a regular process. A process may start many threads or other processes, but a thread cannot start a process.

Single-user, single task

designed to manage the computer so that one user can effectively do one thing at a time.

Symmetric operating systems

divide themselves among the various CPUs, balancing demand versus CPU availability even when the operating system itself is all that's running.

Virtualization

emulation of an OS environment (VM Ware)

Folders/directories

folders in GUI, directories in command line

Real Time Hard system

guarantee tasks completed on time (automation). Guarantee the critical tasks complete on time. Secondary storage is limited or missing with data stored in ROM. No virtual memory.

Driver

is a computer program that operates or controls a particular type of device that is attached to a computer.

Multiuser

more than 1 user, using the same OS. allows different users to take advantage of the computer's resources simultaneously. Must make sure that the requirements of the various users are balanced and that each of the programs they are using has sufficient and separate resources.

Serial Movement

moving data 1 bit at a time

Parallel Movement

moving data 1 byte at a time

Operating System

plays the role in making sure each application gets the necessary resources needed to run. Ensuring the managing of the computer resources to maximize efficiency. Applications I/O Management Device Drives Memory Management CPU Management Hardware

Preemptive multitasking

preferred method, OS maintains control of hardware, maintains each process a regular amount of operating time therefore one program cannot consume all the cpu time.

Network Operating System

runs on a server and provides server the capability to manage data, users, groups, security, applications and other networking functions. Allow shared file and printer access among multiple computers in a network. Server managed security

Master Boot Record

selecting which OS platform to run

queues and buffers

special storage facilities that take a stream of bits from a device, perhaps a keyboard or a serial port, hold those bits, and release them to the CPU at a rate with which the CPU can cope. This function is especially important when a number of processes are running and taking up processor time. The operating system will instruct a buffer to continue taking input from the device, but to stop sending data to the CPU while the process using the input is suspended. Then, when the process requiring input is made active once again, the operating system will command the buffer to send data. This process allows a keyboard or a modem to deal with external users or computers at a high speed even though there are times when the CPU can't use input from those sources.

Root

start of the OS view, point where it starts looking for files and folders. Root of USB (E:)

Multiprogramming

two or more jobs residing in memory at the same time, sharing processor. CPU always has a job to execute, jobs organized.

Asymmetric operating systems

use one CPU for their own needs and divide application processes among the remaining CPUs

Batch Operating Systems

users of batch operating system do not interact with the computer directly. Users prepare jobs on an off-line device like punch cards and submits to the computer operator. Jobs with similar needs are batched together and run as a group. Lack of interaction between the user and job, CPU is often idle Jobs held in memory and processed in order of submission first come first served fashion (memory held) and then released after execution.

Multithreading

when the process enters the system then it is put in a job queue

single-user, multi-tasking

will let a single user have several programs in operation at the same time. A process occupies a certain amount of RAM. It also makes use of registers, stacks and queues within the CPU and operating-system memory space. When two processes are multi-tasking, the operating system allots a certain number of CPU execution cycles to one program. After that number of cycles, the operating system makes copies of all the registers, stacks and queues used by the processes, and notes the point at which the process paused in its execution. It then loads all the registers, stacks and queues used by the second process and allows it a certain number of CPU cycles. When those are complete, it makes copies of all the registers, stacks and queues used by the second program, and loads the first program.


Ensembles d'études connexes

Quiz 3: Project Management Process Groups

View Set

Unit 6 - Communication with Clients

View Set

Psychology: Lifespan Development - Middle Adulthood | Chapter 8

View Set

Renewable and Nonrenewable Energy Sources

View Set

chapter 6 - rock identification study guide

View Set