Chapter 6: An Introduction to System Software and Virtual Machines

Ace your homework & exams now with Quizwiz!

grace hopper

-debunked the common belief that was computers could only do arithmetic -created the first operational compiler in 1952 -believed that programs should be written in a language that was close to english rather than in machine code or assembly language -popularized the idea of machine-independent programming languages -created COBOL

assembly language (OAM)

-low-level programming language -each symbolic assembly language instruction is translated into exactly *one* binary machine language instruction -better than machine language -machine specific (tied to OAM architecture) -design decisions: --op codes --include/exclude specific functions

multi-user operating system

-many users can use a computer's resources simultaneously -must balance the requirements of the users -a problem with one user doesn't affect other users -unix, mainframe operating systems

higher-level languages

-more abstract than assembly language -user oriented -not machine specific (portable) -use both natural language and mathematical notation in their design these programs get translated into the appropriate machine instructions

single-user, single task operating system

-one user can effectively do one thing at a time -example: palm OS for Pal handheld computers

typical operation: turn on computer

-power on self test (POST) --checks the CPU, memory, basic input output systems (BIOS) for errors

binding

-processing of associating a symbolic name with a physical memory address -OAM: --symbolic name (label) --memory address (line number)

basic tasks of an operating system

-processor mgmt -memory mgmt -device mgmt -storage mgmt -application interface -user interface

operating systems can be modified without having to scrap the device

-security update -system patch

primary purpose of the first pass of an assembler

-to bind all symbolic names to address values -to enter those bindings into the symbol table

single user, multi-tasking operating system

-typical operating system on desktop and laptop computers -microsoft's windows and apple's MacOS platforms -single user has several programs in operation at the same time

real-time operating system (RTOS)

-used to control machinery, scientific instruments, industrial systems -very little user interface capability -no-end user utilities

problems with machine language

-uses binary -is difficult to read -is difficult to change -is difficult to create data

location counter

-variable used to determine the address of a given instruction

in assembly language:

a symbol is defined when it appears in the label field of an instruction of data pseudo-op

memory managers

allocate memory space for programs and data

i/o systems

allow you to easily and efficiently use the input and output devices that exist on a computer system

language services (assemblers, compilers, and interpretert)

allow you to write programs in a high level

advantage of assembly language

allows use of symbolic addresses

op code table

alphabetized list of all legal assembly language op codes and their binary equivalents

first pass over source code

assembler looks at every instruction

second pass

assembler translates source program into machine language

deadlock

deadlock prevention -operating system uses resource allocation algorithms that prevent deadlock from occurring in the first place deadlock recovery algorithms -detect and recover from deadlocks

information managers

hand the organization, storage and retrieval of information on mass storage devices

Efficient allocation of resources

i/o controller -frees the processor to do useful work while the I/O operation is being completed to ensure that a processor does not sit idle if there is useful work to do: -operating system keeps a queue of programs that are ready to run

scheduler

keeps a list of programs ready to run on the processor and selects the one that will execute next

utilities

library routines that provide useful services either to a user or to other system routines

summary of OS responsibilities

major responsibilities of operating systems -user interface mgmt (a receptionist) -control of access to system and files (a security guard) -program scheduling and activation (a dispatcher) -efficient resource allocation (an efficiency expert) deadlock detection and error detection (a traffic officer)

after completion of pass 1 and pass 2

object file contains the translated machine language object program

Types of system software

operating system -communicates with users -determines what they want activates other system programs, applications packages, or user programs to carry out their request user interface language services memory managers imformation managers i/o systems scheduler utilities

system security and protection

operating system -controls access to the computer and its resources -safeguards password file -sometimes uses encryption to provide security access control: -use of a legal username and password

the safe use of resources

operating system -prevents programs or users from attempting operations that cause the computer system to enter a "frozen" state deadlock -each program is waiting for a resource to become available that will never become free

pass

process of examining and processing every assembly language instruction in the program, one instruction at a time

source program

program written in assembly language

user interface

provides user with an intuitive visual overview

activate hard disk drive

runs the first piece of the operating system: the bootstrap loader -small program that loads the operating system into memory and allows it to begin operation/sets up driver programs that interface with and control hardware subsystems

object program

source program must be translated into a sorresponding maching language program

assember

system software that carries out translation

functions of an operating system

the user interface -operating system commands usually request access to hardware resources, software services, or information -to communicate with a user, a GUI supports visual aids and point and click operations

assembler

translates a symbolic assembly language program into machine language tasks performed: -convert symbolic op codes to binary -convert symbolic addresses to binary -perform the assembler services requested by the pseudo-ops -put the translated instructions into a file for future use

system commands

used to translate, load and run programs

operating system

waits for requests and activates other system programs to service these requests

well known operating systems

windows, macintosh, unix


Related study sets

Accounting 1000 Midterm Quiz 1-4

View Set

Intro to Business - Module 1: Exploring the World of Business and Economics

View Set

Chapter 4: Cascading Style Sheets

View Set

Chapter 34: Assessment and Management of Patients with Inflammatory Rheumatic Disorders

View Set