Test 1 Flashcards

1
Q

Computers are comprised of 2 components:

A

Hardware

Software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is hardware?

A

Electronic and mechanical equipment that makes up a computer

It is tangible(physical)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is software?

A

Instructions that tells the hardware how to perform

Not tangible!!(not physical)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Example of hardware:

A

Monitor
CPU
Memory
Hard Drive
Ect.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Two types of software:

A

System software

Application software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Interface between a user and the hardware. Controls the operations of the hardware . Also known as the Operating System (OS) . Very small % of software is system software

A

System software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does OS require to execute?

A

Computer resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

is a system software. Runs application software. Manages computer resources

A

Operating System (OS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Core OS programs that handle important, routinely executed functions

A

OS Kernel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the OS Kernel known as?

A

Memory Resident

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Programs designed to perform specific tasks or solve specific problems for users

Very large % of software falls in this category

A

Application software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

In applications software a computer’s __________ is directly related to the amount and type of application software written for that computer

A

Power

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

___________________ require hardware

Hardware is controlled by _________________

A

Application software

system software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Requests for Service are made through one or more:

A

OS interfaces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hardware functionality is also provided through:

A

OS interfaces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

System software and a computer’s hardware communicate through these:

A

OS interfaces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Modern ______________ support a broad range of:

A

system software

application software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

The OS hides how it performs specific tasks through:

A

resource abstraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

The first electronic digital computers were built in the:

A

late 1930s or early 1940s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Digital computers

1937-1942:

1941:

1943-1946:

A

The Atanaoff-Berry computer (not programmable)

Z3(programmable)

ENIAC(programmable)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Inventors

The Atanaoff-Berry computer (not programmable)

Z3(programmable)

ENIAC(programmable)

A

Dr. John Atanaoff & Clifford Berry

Konrad Zuse

John mauchly & J. Presper Eckert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

As computer systems evolved, so did:

A

operating system theory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Operating systems are generally classified as one of the following :

A

Single Program (Operating) Systems (SPOS)

Multiprogramming (Operating) Systems (MPOS)

Real-Time (Operating ) Systems (RTOS )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Advantage of single program os

A

Simple to implement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Disadvantages of single program os
Inefficient use of resources Programmer must wait to use computer User interface is not friendly
26
A excecuting program is either:
1. Using the CPU to execute instructions 2. Using a system resource 3. Waiting to use the CPU 4. Waiting to use a system resource
27
What does each mean? MultiProgramming Operating System (MPOS) Multiple Program Operating System (MPOS) MultiProgramming System ( MPS) Multiple Program System (MPS)
All mean the same thing !!!
28
A multiprogramming (multiple program ) operating system loads multiple programs into _________________ while ________________ the CPU
space - multiplexed memory time- multiplexing
29
Most modern OS utilize what os?
multiprogramming operating systems
30
resource has multiple instances of the resource Each instance is allocated to a process to use
space-multiplex
31
resource has only one instance of the resource The single instance can only be allocated to one process at a time
time-multiplex
32
Advantage of Multiprogramming Systems
1. Better utilization because multiple processes share computer resources
33
Disadvantage of Multiprogramming Systems
1. Depends on the type of multiprogramming system 2. Complex
34
Multiprogramming operating systems can be further classified as follows:
1. Batch Processing ( Operating ) Systems (BPOS) 2. Timesharing (Operating) Systems (TSOS)
35
is a multiprogramming ( operating ) system that services "jobs" from a queue
batch program/processing (operating) system
36
consists of a sequence of commands, one or more programs, and data that are combined into a single unit and submitted to the operating system
A "job "
37
Batch operation steps:
1. Submits a "job" to the operating system 2. Waits for the "job" to finish executing 3. Collects the output (if any) generated by the job The user has no direct interaction with the job" during executing
38
Advantages of Batch Processing Systems
1. It's a Multiprogramming System 2. Forces users to think about how to create a “job" that will execute properly (the first time )
39
Disadvantage of Batch Processing Systems
1. Lack of user interaction when executing “jobs"
40
is a multiprogramming (operating) system that supports multiple interactive users
timesharing (operating) system
41
Each user interactively submits commands, programs, and data to the system as needed or required
timesharing (operating) system
42
In a Timesharing OS user interactively provides input to the computer and receives output from the computer using a:
terminal
43
In a timesharing OS does the user have direct interaction with their executing programs?
Yes
44
Advantages of Timesharing Systems
1. It's a Multiprogramming System Device 2. Users can interaction with the system
45
Disadvantages of Timesharing Systems
1. Users generally don't think about the commands they issue or the programs they execute 2. Programmers spend less time on design and more time "slinging code"
46
is often dedicated to providing service to one application Or a small number of applications
real-time ( operating ) system
47
Because there is often only one application executing , this os rarely provide resource sharing access
Real-time
48
Where RTOS are used?
Military Vehicles Nuclear Power Plants Assembly Line Robots Medical Devices Etc.
49
The goal of most real-time os is to provide ____________________ for any request the application makes to perform work
guaranteed response time
50
What is meant by guaranteed response time?
Processing must be completed on or before a defined deadline or the system controlled by the RTOS will fail
51
Two types of RTOS:
1. Hard RTOS 2. Soft RTOS
52
service work requests that have absolute deadlines that must be met, or else
Hard RTOS
53
Examples of hard RTOS
Military Vehicle Nuclear Power Plant Medical Device
54
service work requests have defined deadlines, but missing an occasional deadline is tolerable
Soft RTOS
55
Example of soft RTOS
Assembly Line Robots
56
In addition to the operating system strategies discussed earlier, several other computer systems / configurations strategies have evolved since the 1940's
1. Personal Computing 2. Centralized Computing 3. Distributed Computing 4. Client / Server Computing
57
When the concept of Personal Computing (PC) as first proposed in the late ______, roughly ____ years worth of research in the area of computer operating systems existed.
1970s 30
58
PCs were brought to the commercial market in _____ by _____
1980 IBM
59
Thus, OS for PC evolve just like the earlier computers; ______, then ______ Original MS DOS was a ______ variant MS Windows is a ______ variant
SPOS, then MPOS SPOS MPOS
60
Advantage of Personal Computing
1. Each person/user within an organization has their own computer
61
Disadvantages of Personal Computing
1. Administration and user access control can be problematic
62
Before the advent of PCs, all computing was performed by: This was known as:
mainframe/mini computers Centralized Computing
63
Advantage of Centralized Computing
1. Easy to control user access, install , etc.
64
Disadvantages of Centralized Computing
1. Single Point of Failure 2. Limitation on the length of a data communication line
65
can be networked together to form a
Local Area Network (LAN)
66
The concept of networking computers ( primarily mainframes) evolved during the:
1970's
67
The ability to network PCs led to:
distributed computing
68
Today, _____ perform some or all of the processing previously performed by a central computer
PCs
69
Advantage of Distributed Computing
1. Computing can literally occur anywhere in the world
70
Disadvantage of Distributed Computing
1. Administration and user access control can be problematic
71
is generally considered to be a more powerful and expensive computer than PCs
workstation
72
Workstations are often used for work that requires intensive:
calculations and/or computer graphics
73
is a computer that manages the shared resources on a network
server ( file server )
74
control access to software , printers , and other devices on the network
Servers
75
They also provide additional storage capacity for other computers on the network
Server
76
is any computer that uses or accesses the resources provided by a server
A client
77
Client/Server Computing is a form of:
Distributed Computing
78
exists to execute a program
A process
79
Processes are comprised of the following components ...
- Object code - Program data - Resources (allocated by the OS) - The status of the program's execution
80
Processes require that an OS environment exists to manage ______________ and __________ among all processes executing in the computer
resource isolation resource sharing
81
manages processes and resources, allocating resources to processes when they are requested
The OS environment
82
A Program and a Process _______ the same entity made up of instructions that define process behavior when executed on some set of data that executes a program on a particular set of data using resources supplied by the operating system environment
are not static entity dynamic entity
83
In a process Only _____ copy of any given program exists But, ____________ processes can execute the same program
one one or more
84
The OS tracks all: Process Control Block ( PCB) exists for each: PCB consumes: When a process terminates, the memory associated with the PCB is:
executing processes executing process memory released
85
contains information about the status of each executing process .
PCB
86
The amount and type of information stored in the PCB varies from operating system to operating system
Process ID (unique identifier ) Current program instruction Allocated resources (memory, disk, etc )
87
Each time the OS creates a process to execute a program it "_____________” a PCB for the process
instantiates
88
If we think of the PCB as a class, then the " instantiation " is an ________ that represents the process
object
89
Each active process has a:
PCB
90
All processes compete for resources that are managed by the operating system:
Central Processing Unit ( CPU) Printer Hard Disk
91
The operating system creates processes to _____________ programs
execute / run
92
begins execution when the computer is booted
initial process
93
All other processes are spawned from the “________ " process Spawned processes are known as:
initial Children of the Parent
94
The ________ process of the system spawns all other processes Any process that spawns processes is said to be the ________ of the spawned processes
initial parent
95
The spawned processes are referred to as: A ___________ process may have one or more children processes
children parent
96
A child process always has _____ parent process A parent process will have __________ children
one one or more
97
Spawned processes generally have access to their own address space, separate from the ________ process ' :
initial address space
98
__________ refers to the resources allocated to each process for execution purposes:
Address space Memory Resources (i.e. Keyboard , Printer , Hard Disk ...)
99
Spawned processes begin by executing the same program the ________ process is executing The ______ changes the program the spawned process executes soon afterwards
initial OS
100
Because all processes are allocated their own resources and address space, communication between processes occurs through:
signals, message passing, or file sharing
101
In a classic Von Neumann architecture, at any give time, _________ process is every executing ( i.e. active) All other processes are ______________ for the processor
only one blocked waiting (i.e. suspended )
102
A process will loses control of the processor when:
1. It finishes execution of its program 2. It request a resource 3. It decides to wait for an event to occur 4. It's timeslice has expired
103
When a process loses control of the processor, the operating system gives control of the processor to another process This reallocation of the processor is referred to as:
context-switch
104
requires considerable work on the part of the processor
context-switch
105
Not only does context-switch have to remove access from one process and grant access to another process, but it has to update the:
PCB's of both processes to reflect the correct current states of the processes
106
Three basic states of a process:
Ready ( ready- waiting) Running Blocked (blocked - waiting )
107
When a job enters the system it is immediately placed in this state
ready state
108
A job is in the ready state is able to execute, except: When the CPU is idle, one job from the group of jobs in the ready state is:
it has not been allocated the CPU selected and then allocated the CPU
109
Only one job is in this state in a single processor system at any given time
running
110
A job will remain in the running state until one of the following events occurs:
The job finishes executing The jobs CPU timeslice expires The job requests a resource that is not available
111
When a process finishes executing, it: When a process's CPU timeslice expires, the state of the process changes from running back to: When a process requests a resource that is not available, the state of the process changes from running to:
leaves the system ( #3) ready (#2) blocked (#4)
112
A process in this state will remain in this state until the resource the process requested is available and has been allocated to the process
blocked
113
When I’m the blocked state, the state of the process changes from blocked to:
ready (#5)
114
What is PERL: Interpreted or not interpreted: Dynamically or Loosely Typed Founder: When:
Practical Extraction and Reporting Language Interpreted Loosely Typed Larry Wall 1987
115
Forces you to code properly to make your program less error - prone
use strict;
116
Helps you find typing mistakes. Warns you whenever it sees something wrong with your program
use warnings;
117
the shell will run execute the application that has its path on the hash- bang line
#!/usr/bin/perl
118
UNIX/Linux command and system call which is used to change the access permissions of file system objects (files and directories)
chmod u+x file
119
User: Group: Other:
u g o
120
Give user (u) execute (x) permission on the file
u + x
121
Remove execute (x) permission from user (u)
u - x
122
A system call that suspends the execution of the process for # units of time. Returns nothing
sleep (#)
123
A system call that is used to create a new child process. Takes no arguments. Returns an integer 0 to the child. Child's PID to the parent
fork()
124
A system call that tells the process to stop executing the current program and to begin executing a new program. The new program executed by the process is defined by the "program" argument
exec (‘program')
125
A system call that blocks the calling process until one of it's child processes exits or a signal is received. Returns the process ID of the completed process
wait()
126
Two ways to capture user input:
1. Prompt user to enter input during program execution 2. Allow user to enter input on command line when program execution initiated
127
are similar to processes in that both are schedulable units of computation
Threads
128
However, in the ____________, all threads are associated with a single process
thread model
129
provide computation, and share the resources allocated to the process. Can also share the program of the process
threads
130
Threads are generally called:
light-weight processes/little overhead OS
131
The process to which the treads are associated is called a:
heavy - weight process
132
Each thread is uniquely identified and has it's own allocated resources:
1. A stack 2. Portion of the process's status information 3. Some operating system table entries
133
The process is a: Threads are ___________ that carry out the execution of the program(s)
passive entity active entities
134
similar to a process scheduler, is required to switch the processor among the active threads
thread scheduler
135
A thread scheduler, similar to a process scheduler, is required to switch the processor among the active threads:
1. Sometimes a user program 2. Other times an operating system function
136
Even though threads are similar to processes they differ in two ways:
1. Context - Switching 2. Communications
137
is the method through which one thread loses control of the processor and another thread gains access to the processor
Thread context-switching
138
Since threads have little state information to maintain, transferring control of the processor between threads is: Thus, threads require:
simple minimal context- switching!
139
Communication between processes occurs through:
message passing , signals , sharing
140
Since threads share the resources and the program of a process, they can communicate easily through the:
process's resources (e.g. address space !!!)
141
PERL threads module
use threads;
142
Instantiate a thread object: the thread will execute: An identifier passed to the thread:
thread->create(‘subroutine’ , id) ‘subroutine' id
143
wait for a thread to finish
join()
144
PERL shared threads module. Allows programmer to define variables that will be shared between threads
use threads::shared;
145
Variable defined in the parent program
my $variable shared = SOMEVALUE ;
146
The Central Processing Unit (CPU) is comprised of the:
Arithmetic Logic Unit (ALU) and the Control Unit (CU)
147
fetches and decodes program instructions: executes program instructions:
The CU The ALU
148
The ALU is comprised of the following components:
A Function Unit Registers
149
The ___________ is responsible for executing program instructions for ALU
function unit
150
There are two types of registers used by the ALU:
1. General Register 2. Status Registers
151
are used to store the operands of a program instruction:
General registers
152
Modern CPU's usually have between _____________ general registers.
32 to 64
153
Register size depends on computer's:
architecture
154
are used to store information regarding the computation currently begin carried out by the function unit
Status registers
155
The control unit. 1. ________ a program instruction from the memory unit: 2. ________ the program instruction: 3. ________ the decoded program instruction to ALU's Function Unit to execute: 4. ________ the result after execution:
Fetches Decodes Provides Stores
156
The control unit must store the memory address of the program instruction that the ALU will next process. The _________________ holds this data
program counter (PC)
157
The control unit must also store the actual program instruction the ALU is currently processing The ______________ holds this data
instruction register (IR)
158
The CPU, Memory, and Devices are connected to at least ____ bus
one
159
is any path along which bits, in an electronic form, are transmitted:
bus
160
A bus is comprised of ___ wires Think of a bus as a ____ lane highway
N
161
flow across one or more busses:
data, addresses, and control information
162
Three types of busses:
Data Bus Address Bus Control Bus
163
is used to transfer addresses of the data that the data bus is currently accessing:
The address bus
164
carries necessary control signals that specify how the information transfer is to occur:
The control bus
165
The memory unit is used to store both:
program instructions and data
166
The memory unit is comprised of the following components:
Memory Address Register (MAR) Memory Data Register (MDR) Command Register (CR )
167
To write a datum to the memory unit the following actions must occur:
1. The datum to be written to memory is placed in the MDR 2. The memory address where the datum is to be written is placed in the MAR 3. A "write" command is placed in the CR 4. The datum in the MDR is written to the memory unit specified by the address held by the MAR
168
To read a datum from the memory unit the following actions must occur:
1. The memory address where the datum exists in the memory unit is placed in the MAR 2. A read" command is placed in the CR 3. The contents of the memory unit specified by the address in the MAR is read and the value is placed in the MDR for retrieval by a program
169
In a von Neumann computer, anything that isn't associated with the CPU or Memory is an:
I/O (Input/Output) device
170
A program and data are entered into a von Neumann computer through an __________ and __________ The program and data are transferred from the __________ to the __________
input device and device controller input device to the memory unit
171
The CPU:
1. conducts the transfer 2. or allows the input device and memory unit to conduct the transfer directly
172
There are three classes of I/O devices:
1. Storage Devices 2. Character Devices 3. Communication Devices
173
Storage devices:
Internal and external Tape drives Hard drives
174
Character devices:
Monitors Printers Keyboards
175
Communication devices:
MODEM Network interface card
176
The main difference between I/O devices is in their:
interfaces
177
is the mechanism through which the computer will communicate with the I/O device, and vice versa
The interface
178
allow the processor to distinguish between when it is executing a program on behalf of the OS and a user
Processor modes
179
Processor modes allow the processor to distinguish between when it is executing a program on behalf of:
the operating system ( supervisor / monitor mode) a user ( user mode )
180
Distinguishing between ___________ and ___________ is accomplished using the mode bit
supervisor mode user mode
181
Distinguishing between supervisor mode and user mode is accomplished using the:
mode bit
182
When the mode bit of a program is set to be in "____________", the processor can execute every instruction allowed to in its hardware repertoire. When the mode bit of a program is set to be in "____________", then the processor can only execute a subset of it's hardware instructions
supervisor mode user mode
183
Early "________________" operating systems did not distinguish between user programs and supervisor programs
single user / single program
184
Multiprogramming operating systems use the mode bit to:
restrict a process executing a user program to only accessing memory / resources that has/have been allocated to the process prevents a process from accessing another processes ' memory /resources
185
A ___________ of memory and a ___________(base + N bytes - 1) are defined for each process executing a user program
base address bound address
186
Any process executing a user program is not allowed to access memory outside the ______ and ______!
base bound
187
If a user program is located at base address 0x1258F712 and the number of bytes allocated is 8, then the bound address is:
0x1258F719
188
The _________ concept can be extended and used to define areas of memory accessible when the processor is in supervisor mode
mode bit
189
When the processor is executing in supervisor mode, it has access to:
all memory and all resources
190
When the processor is executing in user mode, it has access to only the:
memory/resources allocated to the process executing the user program
191
There are two methods through which programs executing in user mode can request services provided by the OS:
1. Systems Calls 2. Message Passing
192
are run - time library functions provided by a programming language
System calls
193
User programs execute system calls to:
request services from the operating system
194
The operating system executes the instructions associated with the specific __________ on behalf of the user program
system call
195
Examples of PERL programming language system calls include :
fork ( ) exec ( ) open ( ) read ( ) print ( ) sleep ( ) close ( )
196
When a system call executes:
1. A service routine within the operating system processes the system call as a software interrupt (i.e. " trap " ) , and the mode bit is set to supervisor mode User process status is now blocked -waiting 2. The operating system identifies the specific system call requested by the user program , and executes the associated instructions 3. Once all the instructions associated with the system call have been executed , the operating system sets the mode bit back to user mode 4. CPU control passes to the process the initiated the system call OR another a Ready process
197
When a user program requests operating system services using message passing:
1. The user program forms a message and sends the message to the operating system. 2. The operating system receives the message sent by the user program, checks the message , executes the necessary instructions to satisfy the request for service , and then sends a reply back to the user program
198
The main difference between system calls and message passing is in the implementation costs:
The cost associated with a system calls is in the software interrupt The costs associated with passing a message are in process multiplexing, message formation, and message copying
199
In general, ____________ are a more efficient method of requesting services from the operating system than message passing It is in your best interest to attempt to:
system calls reduce the number of system call initiated by your programs .
200
When a process requires access to a resource that is currently allocated to another process, the process must wait until the process that currently holds the resource releases the resource
Red purse request
201
How will the process know or realize that the resource has been released by a process so that it can begin using that resource? What if there are N processes waiting to use a resource that is currently allocated to another process ?
1. Make the process responsible for recognizing that a resource it is waiting for has been released by the process that was previously using the resource. We will call this the Busy-Wait Method 2. Make the operating system responsible for recognizing that a resource has been released by a process and then allocate that resource to another process
202
No process may hold indefinitely the: represents the amount of time the OS gives to a process to use the CPU:
CPU A time slice
203
Initially, the OS retrieves the current state of the process using information stored in the processes: After a process timeslice expires, the OS:
PCB updates the processes PCB and allocates the CPU to another process
204
If a process is responsible for determining when a resource has been released, then it will spend its time slice executing what is known as a:
busy - wait
205
During a _________, a process is continuously checking the status register flags (i.e. busy/done) of a resource to see if the resource is idle If the resource is idle , then the process performs an:
busy-wait I/O operation
206
Advantages of Busy-Wait
1. It is fairly simple to implement from a programming standpoint 2. No overhead on the part of the operating system
207
Disadvantages of Busy-Wait
1. Tremendous waste of CPU resource !!! 2. The resource may become available while the process is in the "ready" queue for the CPU 3. If N processes are requesting the same resource , then there exists the probability that one of the process may never gain access to the resource -This is referred to as "starvation"
208
If the operating system is responsible for determining when a resource has been released , then the resource is required to send a signal to the operating system when it is idle. These signals called:
device interrupts
209
During this, the operating system suspends the execution of the process that is currently allocated the CPU. The state of the process that was allocated the CPU is saved and the operating system switches from user mode to supervisor mode The operating system then processes the device interrupt and allocates the resource to a process that requested the resource (update that processes PCB)
device interrupt
210
The operating system:
Then retrieves the state information about the process that was using the CPU when the device interrupt occurred and... Then switches from supervisor mode back to user mode
211
Advantages of Device Interrupts
1. Eliminates the need for busy-waits, and hence CPU cycles are not wasted! 2. The operating system is responsible for allocating a newly idle resource. Prevents starvation??? 3. One process, waiting for a resource, will be allocated the newly idle resource as soon as the operating system processes the device interrupt
212
Disadvantages of Device Interrupts
1. Processing a device interrupt is non- trivial !
213
Three basic states of a process
Ready (ready-waiting) Running Blocked (blocked -waiting)
214
When a process enters the system it is immediately placed in this queue. The OS will allocate memory for this process:
ready state
215
A process in this queue is able to execute, but it has not been allocated the CPU:
Ready state
216
When the CPU is idle, one process from the group of processes in this queue is selected and then allocated the CPU The state of the " selected" process is changed from:
ready ready to running (#1)