1/72
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
naked machine:
A computer without any helpful system software to facilitate its usage
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
System software
software responsible for the general operation of a computer system, including the operation of hardware, running application software, and file management
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.
Operating System (OS)
Software used to control the computer and its peripheral equipment.
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.
Language services - system software
Assemblers, compilers, and interpreters
Memory managers - system software
These programs allocate memory space for programs and data and retrieve this memory space when it is no longer needed
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.
I/O systems - system software
allow you to easily and efficiently use the input and output devices that exist on a computer system
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.
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.
Program Libraries
A collection of utilities organized by category
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.
second generation language
low level languages that use many symbolic representations, they were considered a major step forward in programming
high-level programming languages.
Third generation programming languages that have English-like instructions.
source program
program written in assembly language
object program
the machine language version of the high-level language program
assembler
A program that translates an assembly-language program into machine code
compilers
programs that automatically translate high-level language programs into executable programs
maintainability
The ease of performing maintenance on a product
pseudo-op
An assembly language command that does not actually produce a machine-language instruction but performs a service on behalf of the user
LOAD X
CON(X)→R
STORE X
R→CON(X)
CLEAR X
0→CON(X)
ADD X
R+CON(X)→R
INCREMENT X
CON(X)+1→CON(X)
SUBTRACT X
R - CON(X) → R
DECREMENT X
CON(X) - 1 → CON(X)
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
JUMP X
Get the next instruction from memory location X.
JUMPGT X
Get the next instruction from memory location X if GT = 1.
JUMPEQ X
Get the next instruction from memory location X if EQ = 1.
JUMPLT X
Get the next instruction from memory location X if EQ = 0
IN X
Input an integer value from the standard input device and store into memory cell X.
OUT X
Output, in decimal notation, the value stored in memory cell X
HALT
Stop program execution.
END
Must be the last line of the program in assembly. Placed after halt and .DATA entries.
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
Assembler
A program that translates an assembly-language program into machine code by converting op codes and symbolic addresses to binary.
op code (operation code)
a command word for an operation such as add, compare, or jump
assembler pass
the process of examining and processing every assembly language instruction in the program. Usually two passes are made.
symbol table
a data structure that links names to information about the objects denoted by the names.
binding
The process of associating a symbolic name with a physical memory address
location counter.
variable used to determine the address of a given instruction
Assembler pass 1
Handling data generation pseudo-ops
Assembler pass 2
producing the binary machine code required to run the program.
Loader
a program that loads an executable program into main memory
system commands.
Commands given by the user to the operating system to perform a service on the user's behalf
point-and-click
The most common form of system command where you click on an icon to issue the command.
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
System Security and Protection
A job of the operating system that guards your computer from unauthorized users.
superusers
Privileged users, usually computer center employees, with the ability to access and maintain password files and manage privaliges
encrypt
To create a code to keep a message hidden or secret
queue
a waiting line of tasks for a computer to preform so that the processor doesn't fun idle.
Safe Use of Resources
Using CPU resources in a way that prevent the computer from freezing by entering a deadlock state
Efficient use of resources
Involves things such as I/O queuing in order to prevent the CPU form sitting idle.
deadlock
When no cued programs can proceed
Deadlock Prevention
provides methods for ensuring at least one of necessary conditions cannot hold
deadlock recovery
algorithm to detect whether deadlock has occurred and algorithm to recover
job control language
The first command language ever used. Used in batch operating systems.
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
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
time-sharing system
A central computer system, such as a mainframe, that is used by multiple users and applications simultaneously.
compute-bound task
a task that primarily uses the processor and does little I/O
eg. calculating pi to a million decimal places
Time Slice
The amount of time given to each process in the round-robin CPU scheduling algorithm
network operating system (NOS)
The operating system that runs a network, steering information between computers and managing security and users
Real-Time Operating System
An operating system that reacts to current events and actions occurring around it.
Embedded Systems Programming
The programming of an embedded system in some device using the permitted programming interfaces provided by that system
multimedia user interfaces
Will interact with users and solicit requests in a variety of ways
parallel processing system
An operating system that controls the operation of computers with multiple processors
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
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