Chapter 6 An Introduction to System Software and Virtual Machines

0.0(0)
studied byStudied by 1 person
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/72

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

73 Terms

1
New cards

naked machine:

A computer without any helpful system software to facilitate its usage

2
New cards

User Interface

Hides from the user the messy details of the underlying hardware
• Presents information about what is happening in a way that does not require in-depth knowledge of the internal structure of the system
• Allows easy user access to the resources available on this computer
• Prevents accidental or intentional damage to hardware, programs, and data

3
New cards

System software

software responsible for the general operation of a computer system, including the operation of hardware, running application software, and file management

4
New cards

virtual machine / virtual environment

The apparent machine that the operating system presents to the user, achieved by hiding the complexities of the hardware behind layers of operating system software.

5
New cards

Operating System (OS)

Software used to control the computer and its peripheral equipment.

6
New cards

Graphical User Interface (GUI)

A visual display on a computer's screen that allows you to interact with your computer more easily by clicking graphical elements.

7
New cards

Language services - system software

Assemblers, compilers, and interpreters

8
New cards

Memory managers - system software

These programs allocate memory space for programs and data and retrieve this memory space when it is no longer needed

9
New cards

Information managers - system software

These programs handle the organization, stor- age, and retrieval of information on mass storage devices such as the hard drives, CDs, DVDs, flash drives, and tapes. They allow you to organize your information in an efficient hierarchical manner, using directories, folders, and files.

10
New cards

I/O systems - system software

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

11
New cards

Scheduler - system software

This system program keeps a list of programs ready to run on the processor, and it selects the one that will execute next. The scheduler allows you to have a number of different programs active at a single time, for instance, surfing the Web while you are waiting for a file to finish printing.

12
New cards

utilities - system software

These collections of library routines provide a wide range of useful services either to a user or to other system routines. Text editors, online help routines, image and sound applications, and control panels are examples of utility routines. Sometimes these utilities are organized into collections called program libraries.

13
New cards

Program Libraries

A collection of utilities organized by category

14
New cards

Assembly Language

Programming language that has the same structure and set of commands as machine languages but allows programmers to use symbolic representations of numeric machine code.

15
New cards

second generation language

low level languages that use many symbolic representations, they were considered a major step forward in programming

16
New cards

high-level programming languages.

Third generation programming languages that have English-like instructions.

17
New cards

source program

program written in assembly language

18
New cards

object program

the machine language version of the high-level language program

19
New cards

assembler

A program that translates an assembly-language program into machine code

20
New cards

compilers

programs that automatically translate high-level language programs into executable programs

21
New cards

maintainability

The ease of performing maintenance on a product

22
New cards

pseudo-op

An assembly language command that does not actually produce a machine-language instruction but performs a service on behalf of the user

23
New cards

LOAD X

CON(X)→R

24
New cards

STORE X

R→CON(X)

25
New cards

CLEAR X

0→CON(X)

26
New cards

ADD X

R+CON(X)→R

27
New cards

INCREMENT X

CON(X)+1→CON(X)

28
New cards

SUBTRACT X

R - CON(X) → R

29
New cards

DECREMENT X

CON(X) - 1 → CON(X)

30
New cards

COMPARE X

if CON(X) > R then GT = 1 else 0 if CON(X) = R then EQ = 1 else 0 if CON(X) < R then LT = 1 else 0

31
New cards

JUMP X

Get the next instruction from memory location X.

32
New cards

JUMPGT X

Get the next instruction from memory location X if GT = 1.

33
New cards

JUMPEQ X

Get the next instruction from memory location X if EQ = 1.

34
New cards

JUMPLT X

Get the next instruction from memory location X if EQ = 0

35
New cards

IN X

Input an integer value from the standard input device and store into memory cell X.

36
New cards

OUT X

Output, in decimal notation, the value stored in memory cell X

37
New cards

HALT

Stop program execution.

38
New cards

END

Must be the last line of the program in assembly. Placed after halt and .DATA entries.

39
New cards

algorithmic problem solving cycle

The sequence of designing an algorithm, coding it into a programming language, translating it into machine language, and then running it on a Von Neumann computer to solve the problem

40
New cards

Assembler

A program that translates an assembly-language program into machine code by converting op codes and symbolic addresses to binary.

41
New cards

op code (operation code)

a command word for an operation such as add, compare, or jump

42
New cards

assembler pass

the process of examining and processing every assembly language instruction in the program. Usually two passes are made.

43
New cards

symbol table

a data structure that links names to information about the objects denoted by the names.

44
New cards

binding

The process of associating a symbolic name with a physical memory address

45
New cards

location counter.

variable used to determine the address of a given instruction

46
New cards

Assembler pass 1

Handling data generation pseudo-ops

47
New cards

Assembler pass 2

producing the binary machine code required to run the program.

48
New cards

Loader

a program that loads an executable program into main memory

49
New cards

system commands.

Commands given by the user to the operating system to perform a service on the user's behalf

50
New cards

point-and-click

The most common form of system command where you click on an icon to issue the command.

51
New cards

command language

When working with a command-line interface, the set of commands entered into the computer is called this. As is the case when using command prompt or DOS

52
New cards

System Security and Protection

A job of the operating system that guards your computer from unauthorized users.

53
New cards

superusers

Privileged users, usually computer center employees, with the ability to access and maintain password files and manage privaliges

54
New cards

encrypt

To create a code to keep a message hidden or secret

55
New cards

queue

a waiting line of tasks for a computer to preform so that the processor doesn't fun idle.

56
New cards

Safe Use of Resources

Using CPU resources in a way that prevent the computer from freezing by entering a deadlock state

57
New cards

Efficient use of resources

Involves things such as I/O queuing in order to prevent the CPU form sitting idle.

58
New cards

deadlock

When no cued programs can proceed

59
New cards

Deadlock Prevention

provides methods for ensuring at least one of necessary conditions cannot hold

60
New cards

deadlock recovery

algorithm to detect whether deadlock has occurred and algorithm to recover

61
New cards

job control language

The first command language ever used. Used in batch operating systems.

62
New cards

batch operating system

A type of operating system in which a batch of programs are collected and then run as a group, all at once, one after the other

63
New cards

multiprogrammed operating system

A type of operating system in which multiple user programs are loaded into memory at the same time, and the computer takes turns running them

64
New cards

time-sharing system

A central computer system, such as a mainframe, that is used by multiple users and applications simultaneously.

65
New cards

compute-bound task

a task that primarily uses the processor and does little I/O
eg. calculating pi to a million decimal places

66
New cards

Time Slice

The amount of time given to each process in the round-robin CPU scheduling algorithm

67
New cards

network operating system (NOS)

The operating system that runs a network, steering information between computers and managing security and users

68
New cards

Real-Time Operating System

An operating system that reacts to current events and actions occurring around it.

69
New cards

Embedded Systems Programming

The programming of an embedded system in some device using the permitted programming interfaces provided by that system

70
New cards

multimedia user interfaces

Will interact with users and solicit requests in a variety of ways

71
New cards

parallel processing system

An operating system that controls the operation of computers with multiple processors

72
New cards

distributed computing environment

A system that hides the exact location of specific pieces of information and allows the user to view the system as one large collection of resources

73
New cards

Cloud Computing

A system in which all computer programs and data is stored on a central server owned by a company (e.g. Google) and accessed virtually