Intro to Operating Systems - Test 1
True or False. When downloading a C++ program file from Cloud9, you must choose the file without the .cpp extension.
false
to execute BASH commands in the Cloud9 environment, you would paste each command into the code editor and then click the run button.
false
In Cloud9, you view and interact with with files and folders in the ____ window, edit code in the ___ window and execute BASH commands in the ____.
file explorer, code editor, terminal
Match the time period to the computing development: late 1950s to mid 1960s 1980s late 1960s
late 1950s to mid 1960s - mainframes 1980s - real-time systems late 1960s - UNIX
Developers use Git, ___ ___ system, for ___ ___ in files and for collaboration with team members.
version control, tracking changes
If fork returns a value of -1 to the parent process, this means the new process ________ created successfully.
was not
A process is always associated with a specific program. True or False.
True
Two or more processes can be related to the same program (e.g., TextEdit). True or False.
True
The git data structure for storing information is called a
repository
The state of a process in which it is being executed by a CPU is called a _____ state.
running
Match the special purpose register with their descriptions. 1 - Program Counter or PC: 2 - Stack Pointer 3 - Program Status Word
1- Stores the address of the instruction that needs to be fetched next in the stream of instructions being executed currently. 2 - Stores the address of the top of the stack 3 - Stores several bits of information that are relevant to the current state of the system
Match the time period to the computing development. 1940s to early 1950s late 1950s to mid 1960s late 1960s
1940s to early 1950s - vacuum tubes late 1950s to mid 1960s - transistors late 1960s - integrated circuits or ICs
A single group of people were responsible for the entire pipeline, from design through maintenance during the ________ . The programmers and operators became separate people during the late ________
Answer 1: 1940s to early 1950s Answer 2: late 1950s to mid 1960s
A special type of I/O mode called _____ Memory Access or DMA is used when a ___ amount of data needs to be transferred between an I/O device and ____ memory.
Answer 1: Direct Answer 2: large Answer 3: main
A process is an ___ that the Operating System uses to represent a ___ ___ ___
Answer 1: abstraction Answer 2: running Answer 3: program Answer 4: instance
CPU & I/O devices work _______. The 'Donkey's Choice' way to deal with I/O devices is for the CPU to stop what it is doing and ask each device if it is ready. This is called ________ and is very slow. A faster approach is for the I/O device to send an _________ to let the CPU know that it is ready.
Answer 1: asynchronously Answer 2: polling Answer 3: interrupt
The C in the triad stands for _____ and means that information must be kept private and ____ . The I in the triad stands for ____ and means that data should not be changed by unauthorized persons or ____. Finally the A in the triad stands for ________ and means that systems must be available to whomever _____ them.
Answer 1: confidentiality Answer 2: secure Answer 3: integrity Answer 4: systems Answer 5: availability Answer 6: requires
Each hardware device connected to a computer has its own _____. As hardware devices can be extremely complex, there is special software that knows how to interact with the hardware and that provides a simpler ______. This concept of hiding complexity is called _______
Answer 1: controller Answer 2: interface Answer 3: abstraction
The operating system provides ways to create _____, read and write file and also provides ways for users to control _____ to their files.
Answer 1: create Answer 2: access
The ____ family of system calls allows a child process to change its memory image so that it may execute a program that is different from the one its parent executes.
Answer 1: exec
Real-time systems came about in the 1980s and were divided into two categories: ___ real-time systems, where a violation of the time deadline would be catastrophic, and ____ real-time systems, where the time deadline is not critical.
Answer 1: hard Answer 2: soft
When using 'fork', the creating process is called the ___ process and the new process that gets created is called the ___ process.
Answer 1:parent Answer 2:child
A computer has a memory ____, rather than just a single memory component. The lowest level is some form of ______ storage such as a magnetic disk. The next level is the _______ memory where a subset of the data from the hard disk is stored temporarily. The _______ memory is the next level and uses SRAM to store frequently used data. Finally, the ______ store variables and temporary results for the current CPU computations.
Answer 1: hierarchy Answer 2: permanent Answer 3: main Answer 4: cache Answer 5: registers
An ____ is any external (asynchronous) event that interrupts the CPU's current operations and causes a change in the _____ of execution.
Answer 1: interrupt Answer 2: flow
An operating system provides multiple levels _____ of abstraction as it provides a simple interface for applications or user programs to the underlying _____
Answer 1: levels Answer 2: hardware
In the 1940s to early 1950s computers were programmed in _____ language and by the late 1950s ____ programming languages came into play such as Fortran, which as written by the developer on punch cards and processed in batches.
Answer 1: machine Answer 2: basic
The typical structure for a monolithic architecture is to have one ____ procedure and multiple _____ procedures
Answer 1: main Answer 2: service
A magnetic disk has several ______ mechanical components, which is why random access of data is very _____ slow .
Answer 1: mechanical Answer 2: slow
There are two styles of architecture for operating systems. The first is called ____ architecture whereby the entire operating system exists in a single program. The second is a ____ architecture whereby each type of operation or service is handled by a different layer.
Answer 1: monolithic Answer 2: layered
Permanent memory, also known as _______ memory, retains whatever data is stored on it and comes in two types: __- or Read ______ memory, where data is typically stored once and cannot be modified, and Read/____ memory, where data can be both read and written to.
Answer 1: non-volatile Answer 2: ROM Answer 3: Only Answer 4: write
____ is the idea where the CPU instruction execution sequence is split up into multiple stages so multiple instructions can make progress ____
Answer 1: pipelining Answer 2: concurrently
In an operating system, _____ refers to the procedures or rules that are used to decide which action to take among a set of possibilities, whereas _____ corresponds to the actual data structures and operations that are used to implement a particular service.
Answer 1: policy Answer 2: mechanism
In order to execute a ____, a corresponding ___ must be created.
Answer 1: program Answer 2: process
The computer's cache primarily works on a principle called locality of _____. _____ locality is the principle whereby a piece of data that is accessed at some time t is likely to be accessed again in the near future. ______ locality is the principle that states if data at a certain address is accessed at time t, data items close to it in memory are likely to be accessed in the near future.
Answer 1: reference Answer 2: temporal Answer 3: spatial
The operating system's _____ management functionality manages access permissions and other functions, like logging in to a computer system.
Answer 1: user
In an operating system, ____ mode is a protected mode where with no direct access to hardware, whereas _____ mode is a privileged mode with direct access to the hardware.
Answer 1: user Answer 2: kernel
Temporary memory, also known as volatile ____ , is cleared once the computer is powered off. RAM or _____Access Memory is an example of this type of memory. There are two types: _____ RAM or SRAM, where the data is stored indefinitely as long as the computer is not powered off, and _______ RAM or DRAM, where data is retained only if it is
Answer 1: volatile Answer 2: Random Answer 3: static Answer 4: dynamic
____ is a process creation ____ where an existing process spawns a new process that is a copy of itself.
Answer 1:Cloning Answer 2:mechanism
A fork bomb is an attack on ___ as it prevents users from being able to use ____ when they need them.
Answer 1:availability Answer 2:systems
The CIA triad allows security professionals to ____ various _____ and attacks and is a key concept in information ____
Answer 1:categorize Answer 2:threats Answer 3:security
The second parameter passed to the execvp system call is an array of ___ ____ ____to be passed to the new program to be executed by the process making the execvp system call.
Answer 1:command Answer 2:line Answer 3:parameters
As a computer science student are on the front-line of cyber-_____ and key to protecting critical _____ assets and _______
Answer 1:defense Answer 2:information Answer 3:infrastructure
The purpose of the 'echo' program is to ____ whatever is passed to it on the ____
Answer 1:display Answer 2:console
Creating processes for all programs that may need to be executed on a computer when the computer is started up may be appropriate for an _____ system, but not for a _____computer like a laptop
Answer 1:embedded Answer 2:general Answer 3:purpose
While the CPU will initiate a DMA memory transfer, the transfer itself is handled by special _______ dedicated to DMA operations. Once the transfer is complete this hardware will send an to _____ signal completion
Answer 1:hardware Answer 2:interrupt
System administrators can protect systems against the fork bomb attack by ______ the number of new ____ created by a user with the ____ BASH command.
Answer 1:limiting Answer 2:processes Answer 3:ulimit
The memory space allocated for a given process is called its __ ___
Answer 1:memory Answer 2:image
If a parent process terminates before its child process, the child process becomes a/an ____ process and is adopted by the ____ process.
Answer 1:orphan Answer 2:init
In a system with multiple processes, the question of when an OS switches to a different process is answered by a policy and the question of how process switching is performed is answered by a mechanism .
Answer 1:policy Answer 2:mechanism
A ___ is said to occur when the execution of a running process is ____ so that another process can be scheduled.
Answer 1:preemption Answer 2:interrupted
The Operating System uses a data structure called a ___ ___ ____ to maintain information about each process in the system
Answer 1:process Answer 2:control Answer 3:block
A process can go through the____-______ -_____ cycle any number of times.
Answer 1:ready Answer 2:running Answer 3:waiting
The ___ value from the fork statement can be used to enable ____ execution after the fork statement. This allows the parent and child processes to have different behavior even though they execute the same program.
Answer 1:return Answer 2:conditional
The decision of what process to run and when is made using a ___ ___
Answer 1:scheduling Answer 2:policy
On a _____ _____ ____, only one process can be in the running state at a given time.
Answer 1:single Answer 2:processor Answer 3:system
In UNIX, the fork __ ___ is used for process cloning.
Answer 1:system Answer 2:call
Modern operating systems provide a __ ___ for process creation.
Answer 1:system Answer 2:call
A fork bomb is also known as a rabbit ____ or wabbit and is a denial of ____ attack that targets a system by launching new ____ until no more can be created because the process ___ is full
Answer 1:virus Answer 2:service Answer 3:processes Answer 4:table
Global data is data that can be accessed only by specific functions within a program. True or False.
False
What is true of the git clone command?
It copies the remote repository to your Cloud9 workspace It creates all of the files and folders in the remote repository in your Cloud9 workspace
Select ALL that apply. The pros of a layered architecture include:
It is easier to debug, design and implement compared to monolithic architectures It is easier to extend compared to monolithic architectures
Select ALL that apply. The cons for a monolithic architecture include:
It is harder to debug It can quickly become very unweildy and hard to understand An error in any one procedure could potentially bring down the entire OS
Which of the following actions/events can lead to a process being terminated?
Process finishes executing entire program that it is associated with Process is killed explicitly by the user Process experiences an error
When the CPU executes a stream of instructions, it does so in a particular sequence or order. Match the sequence step number to operation.
Step 1: Fetch an instruction from memory Step 2: Determine the type of instruction to be executed Step 3: Fetch some data for the instruction from memory Step 4: Execute the instruction Step 5: Update the Program Counter (PC) register
The part of the computer that is responsible for performing the instructions given to it by programs is called the ____ ____ ____
central processing unit (CPU)
C++ is a ___ language. Once you have compiled the program, you will see a new _______ without the ____ extension.
compiled, file, .cpp
Look up the manual entry for the rm command by typing the following into the terminal in your Cloud9 workspace: man rm Use the down arrow key to scroll through the manual entry. Read the description and the information on the -r and -f options. Fill in the blanks below with the correct answers: By default, the rm command does not remove _______. The -r option removes directories and their contents _______.. This means the rm command will continue to call itself until all files and directories have been removed.
directories, recursively
True or False. The following command will run the helloworld program:./helloworld.cpp
false
A process __ _____ equivalent to a program.
is not
In ____ memory a collection of 1 bit cells are organized into sets called _____.
main, supercells
The CPU retrieves data from the computer's _____ and _____ components
memory, storage
The ID of a child process created using fork is a ___ number.
positive
The Operating Systems uses processes to manage concurrently running
programs
Once a new process is admitted into the system, it transitions into a _____ state.
ready
The header file ___ must be included to get access to the execvp system call.
unistd.h