• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/122

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

122 Cards in this Set

  • Front
  • Back
what is an operating system?
software that manages system resources to provide services that allow applications to execute properly
(T/F) Operating systems manage only hardware
false. they manage applications and other software abstractions such as virtual machines
what are the primary purposes of an operating system
to enable applications to interact with a computer's hardware and to manage a system's hardware and software resources
why were assembly languages developed
to speed up programming process. they enabled programmers t specify instructions as English-like abbreviations that was easier for humans to work with than machine-language instructions
what limited the size and capabilities of programs in the 1950's
the entire program had to be loaded into memory to execute
how did interactive computing and its improvement in turnaround time increase programmer productivity
the time between submission of a job and the return of its results was reduced from hours or days to minutes or even seconds.
what new concepts did TSS, Multics, and CP/CMS all incorporate? why was it so helpful to programmers
TSS, Multics, and CP/CMS all incorporated virtual memory. Virtual memory allows applications access to more memory than is physically available on the system. this allows programmers t develop larger, more powerful applications. also virtual memory systems remove much of the memory management burden from the programmer
what developments in the 1970s improved communication between computer systems
the DoD's TCP/IP standards became widely used in network communications. primarily in university and military computing environments. Also, Xerox's PARC developed the Ethernet standard, which made relatively high-speed local area networks (LAN) practical and economical.
what new problem was introduced by the increased communication between computers? How was the problem addressed?
security problems because data was sent over vulnerable communication lines. Encryption was employed to make data unreadable to anyone other than the intended recipient.
what aspect of personal computers, popularized by the apple macintosh, made them especially easy to learn and use?
GUI's.
(T/F) A server cannot be a client
false. a computer can be a client and a server.
how did the ARPAnet differ from traditional computer networks? what was its primary benefit?
the ARPAnet was decentralized, so the network continued to be able to pass information even if portions of the network failed. the benefit was its capability for quick and easy communication via email.
what creation did Berners-Lee develop to facilitate data sharing over the internet?
Berners-Lee developed the HyperText Markup Language (HTML) and the Hypertext Transfer Protcol (HTTP), making possible the World Wide Web
how did object-oriented technology affect operating systems
allow reuse of objects when developing new components.
what are some benefits of open-source development
can be viewed and modified by anyone in the software development community. greater chance that bugs will be fixed bc ppl constantly test, debug, and use the software. also users and organizations are able to modify a program to meet their particular needs.
what technologies can be used to bridge the gap between different operating systems? how would these technologies make it possible to execute the same applications on multiple platforms
virtual machines and OS emulators.
why is distributed computing useful for computations performed by mobile devices
because it allows mobile devices to delegate jobs to other machines with more resources.
what type of system would a temperature monitor in a nuclear power plant be described as?
a hard real-time system.
describe the advantages and disadvantages of virtual machines
promote portability by enabling software to run on multiple platform, but they tend to be less efficient than the real machines because VM must execute software instructions that simulate hardware operations.
Name the OS components
1. process scheduler
2. memory manager
3. I/O manager
4. interprocess communication manager (IPC)
5. file system manager
I/O manager
write to disk
processor scheduler
determines which process will run next
memory manager
determines where in memory a new process should be placed
file system manager
organizes files on disk
interprocess communication (IPC) manager
enable one process to send data to another
why is it dangerous to allow users to perform read or write operations to any region of disk at will
users could accidentally or maliciously overwrite critical data or read sensitive information without authorization
what are the OS goals
1. scalability
2. extensibility
3. portability
4. security
5. interactivity
6. usability
how does device driver support contribute to an OS extensibility
enables developer to add support for hardware that did not exist when the OS was designed.
what is the defining characteristics of a monolithic OS
every component of the OS is contained in the kernel
why do monolithic OS tend to be efficient? what is a key weakness of monolithic kernels
efficient bc few calls cross from user space to kernel space. BC all OS code in monolithic kernels operates with unrestricted access to the computer's hardware and software, these systems are particularly susceptible to damage from errant code.
how are layered OS more modular than monolithic OS.
in layered OS, implementation and interface are separate for each layer. this allows each layer to be tested and debugged separately. also enables designers to change each layer's implementation without needing to modify the other layers.
why do layered OS tend to be less efficient than monolithic OS
in layered OS, several calls may be required to communicate between layers, whereas this overhead does not exist in monolithic kernels.
what is the difference between a purely layered architecture and a microkernel architecture?
a layered architecture enables communication exclusively between OS components in adjacent layers. a microkernel architecture enables communication between all OS components via the microkernel.
what is the major difference between networked and distributed OS
a networked OS controls one computer but cooperates with other computers on the network. in a distributed OS, one OS controls many computers in a network.
what is the primary advantage of a distributed OS?
the primary advantage is that processes do not need to know the locations of the resources they use, which simplifies applications programming.
List some common hardware and software resources managed by OS
-processors, memory, secondary storage, processes, threads, files, and databases
what is the primary function of a mainboard
serves as the backbone for communication between hardware components, allowing them to communicate via the electrical connections on the board.
why is the BIOS crucial to computer systems
performs basic hardware initialization and management and loads the initial component of the OS into memory. the BIOS also provides instructions that enable the OS to communicate with system hardware
Differentiate between a CPU and a coprocessor. how might a system benefit from multiple CPU's? how might a system benefit from multiple coprocessors
a CPU executes machine-language instructions. a coprocressor is optimized to perform special-purpose instructions. Multiple CPU's would allow a system ti execute more than one program at once. multiple coprocessors could improve performances by performing processing in parallel with a CPU
What aspects of a system does a processor architecture specify
a CPU's architecture specifies the computer's instruction set, virtual memory support, and interrupt structure.
why is access to registers memory faster than access to any other type of memory, including L1 cache?
registers are hard-wired to the processor circuitry and physically located near the execution units
(T/F) All components of a system operate at the same clock speed
false. devices usually use a multiplier or a divider that defines the device's speed relative to the speed of the frontside bus.
what problems arises if one component on a bus has an extremely high multiplier and another component on the same bus has an extremely high divider
bottlenecks could occur, bc a component with a high divider will operate at a much slower speed than a device with a high multiplier. a high multiplier device that relies on information from a high-divider device will be made to wait.
compare main memory to disk in terms of access time, capacity, and volatility.
access time for main memory are much smaller than those for disk. disks typically have larger capacities than main memory bc the cost per unit stoarge for disks is less than for main memory. main memory is typically volatile whild disks store data persistently.
why is main memory called random access memory
processes can access main memory locations in any order and at about the same speed, regardless of location
why is accessing data stored on disk slower than accessing data in main memory
main memory can be accessed by electrical signals alone, but disks require mechanical movements to move the read/write head, rotational latency as the disk spins to move the requested data to the head and transfer time as the data passes by the head.
compare and contrast CDs and DVDs
CDs and DVDs are the same size and are accessed by laser light, but DVDs store data in multiple layers using thinner tracks and thus have higher capacity
How does FSB speed affect system performance
the FSB determines how much data can be transferred between processors and main memory per cycle. If a processor generates requests for more data than can be transferred per cycle, system performance will decrease bc that processor may need to wait until its requested transfer complete.
how do controllers simplify access to shared buses
controllers prioritize multiple simultaneous requests to access a bus so that devices do not interfere with one another
why is DMA more efficient than PIO
in a system that uses PIO, a processor waits idly for each memory transfer to complete. DMA frees processors from performing the work necessary to transfer information between main memory and I/O devices which enables the processor to execute instructions instead
how does first-party DMA (direct memory access) differ from third-party DMA?
third party DMA requires a controller to manage access to the bus. first party DMA enables devices to take control of the bus without additional hardware
what is the main difference between a peripheral device, such as a printer, and a device such as a processor?
peripheral devices do not require for a computer to execute software instructions. in contrast, all computers need at least one processor to run.
compare and contrast USB and FireWire
both provide large bandwidths and powered connections to devices. FireWire has a greater capacity than USB and enables devices to communicate without being attached to a computer.
what is the rationale for implementing multiple execution states?
provides protection by preventing most software from maliciously or accidently damaging the system and accessing resources without authorization.
how do exceptions differ from other types of interrupts?
exceptions indicate that an error has occured and invoke the OS to determine how to respond. the OS may then decide to do nothing or terminate the process. If the OS encounters a serious error that prevents it from executing properly, it may restart the computer
how does an interval timer prevent one process from monpolizing a processor
the timer generates interrupts periodically. the processor responds to each interrupt by invoking the OS, which can then assign a different process to a processor
why should the OS prevent users from accessing the boot selector
if users could access the boot sector, they could accidently or maliciously modify the OS code, making the system unusable or enabling an attacker to gain control of the system.
why is it necessary for a plug-and-play device to uniquely identify itself to the OS
before an OS can configure and make a device available to users, it must determine the resource needs that are unique to the device.
why is power management particularly important for mobile devices
mobile devices rely on battery power managing a device's power consumption can improve battery life
how does caching improve a system performance
caches improve performance by placing in fast storage information that a process is likely to reference soon. processes can reference data and instructions from a cache much faster than from main memory.
why do buffers generally not improve performance if one device or process produces data significantly faster than it is consumed
if the producing entity is much faster than the consuming entity, the buffer would quickly fill, then the relationship would be limited by the relatively slow speed of the consuming entity
(T/F) Computers typically execute assembly code directly
false. assemblers translate assembly code into machine-language code before the code can execute
is software written in machine language portable?
no. machine languages are machine dependent, so software written in machine language executes only on machines of the same type
discuss the benefits of high-level languages over assembly languages
1. require fewer instructions than assembly
2. easier bc closer to english language and mathematical notations
why are programs compiled to byte code more portable than those compiled to machine code
bytecode is compiled to execute on a virtual machine that can be installed on many different machines
list these languages as structured or OO:
1. C#
2. C
3. Java
4. C++
1. OO
2. Structured
3. OO
4. OO
what are some benefits of OOP
1. easier to understand, debug, and modify
2. focuses on creating reusable software components
what problems in early software development did structured programming languages address
developers did not have a systemic approach to constructing complex programs, resulting in high costs, missed deadlines, and unreliable products. structure programming filled the need for a disciplined approach to software development.
how did the Ada programming language differ from other structured programming languages such as Pascal and C
Ada was designed to facilitate concurrent programming
how is the central focus of OO programming different from that of structured programming
OO focuses on manipulating objects, whereas procedural programming focuses on actions
how do objects facilitate modifications to existing software
objects hide much of the detail of an overall application, allowing programmers to focus on the big picture. programmers can focus on modifying one object without worrying about the effect on another object
why must processes issue system calls to request OS services
to protect the system, tje OS cannot allow processes to access the S or privileged instructions directly. instead the services that an OS can provide to processes are packaged into API's.
how does the POSIX (portable operating system interface) attempt to improve application portability
POSIX specifies a standard API for UNIX-based systems.
what is the difference between compiling and assembling
the assembly process simply translates assembly-language code into machine-language code and may also optimize code.
Could a java program run directly on a physical machine instead of a virtual machine
yes by using a compiler that translates java source code or byte code into the corresponding machine language
how does linking facilitate the development of large programs built by many developers
linking permits programs to be written as many separate modules.
what is one possible drawback of using a dynamic linker. what is a benefit
-if a library cannot be found during execution, an executing program will be forced to terminate, possibly losing all of the work performed up to that point
- a benefit is that programs that are dynamically linked do not have to be relinked when a library changes
how might absolute loading limit a system's degree of multiprogramming
-two programs that specify overlapping addresses cannot execute at the same time, because only one can be resident at the same location in memory at once
how does dynamic loading improve a systems degree of multiprogramming
modules are loaded as needed, so memory contains only the modules that are used.
(T/F) there are no instructions smaller than machine-language instructions
false. microcode specifies a layer of programming below a processor's machine language
describe the role of firmware in a computer system
firmware specifies simple, fundamental instructions necessary to implement machine-language instructions.
why is a process's address space divided into multiple regions
each region of an address space typically contains information that is accessed in a similar way. processes read and write data in any order. separating a processes address space into different regions enables the OS to enforce such access rules.
(T/F) the terms process and programs are synonymous
false. a process is a program in execution; a program is an inanimate entity
(T/F) at any given time, only one process can be executing instructions on a computer
false. on a multiprocessor computer, there can be as many processes executing instructions as there are processors
a process enters the blocked state when it is waiting for an event to occur. name several events that might cause a process to enter a blocked state
-if it issues a requestfor data located on a high-latency device, such as a hard disk or requests a resource that is allocated to another process and is currently unavailable
-block until an event occurs (user pressing a key)
what is the difference between processes that are awake and those that are asleep
-awake is in active contention for a processor
-asleep cannot use a processor even if one becomes available
what is the purpose of the process table
-enables OS to locate each process's PCB (process control block)
(T/F) A process may have zero parent processes
true. the first process that is created, init, does not have a parent.
why is it advantageous to create a hierarchy of processes as opposed to a linked list
-allows the OS to track parent/child relationships. simplifies operations such as locating all the child processes of a particular parent
in what three ways can a process get t o the suspended ready state
-if it is suspended from running state
-if it is suspended from the ready state by a running process
-if it is suspended-blocked state and the I/O completion or event completion it is waiting for occurs
in what scenario is it best to suspend a process rather than to abort it
when a user or system administrator is suspicious of a process's behavior but does not want to lose the work performed by the process.
from where does the OS load the execution context for the process to be dispatched during a context switch
stored in the PCB
why should an OS minimize the time required to perform a context switch
during a context switch, a processor cannot perform instructions on behalf of processes, which can reduce throughput
what does it mean for an interrupt to be synchronous
occurs due to software execution
what is an alternative interrupt and why is it rarely used
a system can perform polling, in which the processor periodically checks the status of devices.
it is rarely used bc it creates significant overhead when the processor polls devices whose status has not changed
why are interrupt handlers generally not stored in linked lists
the system must be process each interrupt quickly. traversing a linked list could take a long time. therefore most systems use interrupt vector (an array) to quickly access the location of an interrupt handler
why is the process's execution context saved to memory while the interrupt handler executes
interrupt handler can overwrite the process's registers if the process's execution context is not saved in memory
what is the major drawback of using signals for IPC
signals do not support data exchange between two processes
what are the three ways in which a process can respond to a signal
1. catch
2. ignore
3. mask
why do distributed systems rely on message passing instead of signals
-signals are architecture specific
-signals do not allow processes to transmit data
when a process performs a blocking send, it must recieve acknowledgement message to unblock. what problem might result from this scheme, and how can it be avoided
-the sender may never receive acknowledgement message.
-this can be remedied by timeout mechanism
why can a parent and its child share the parent's text segment after a fork system call
-the text segment contains instructions that cannot be modified by either processes, meaning that bth the parent and child process will execute the same instructions.
why must a process use IPC to share data with other processes
the OS does not allow unrelated processes to share the data segment of their address spaces. therefore the OS must provide some mechanism to make data from one process available to another
how do programmers manage to write multithreaded code in C and C++
by using specific code libraries that help with multithreading
what advantageous would you get from running a multithreaded application on a multiprocessor system over running it on a uniprocessor system
the multithreads of the application that perform parallel tasks could run truly simultaneously on separate processors, speeding application execution.
why is it difficult to write portable multithreaded applications
there is no standard threading library that is implemented on all platforms
how does improved software design help to make multithreaded applications execute faster
many applications contain code that can execute independently of one another. when these segments of code are assigned to seperate threads, they can execute on multiple processors simultaneously
why is it typically more effecient for threads of the same process to communicate than it is for separate processes to communicate
they can communicate via shared address space and do not have to rely on IPC mechanisms that invoke the kernel
how can a thread enter the dead state
when it completes its task or when anothe thread terminates it
how are the waiting, blocked, and sleeping states similar. how are they different
-similar in that the threads in them could use a processor, even if one wer available.
-a blocked thread cannot be dispatched bc it is waiting on an I/O request
-a waiting thread cannot be dispatched until it recieves an event from hardware or software that the OS does not initiate
- a sleeping thread cannot execute bc it has explicitly notified the system that it shuld not execute until its sleep interval expires
how does the cancellation signal differ from the abort signal
-abort gets terminated immediately.
-when it is cancelled it may continue to exist until it unmasks the cancellation signal
why does thread creation typically require fewer processor cycles than process creation
-thread creation requires that the OS intialize only the resources that are local to the thread controle
explain why user-level thread implementation promote portability
-user-level threads present an API to applications that is independent f the OS operating systems API.
in what scenarios are kernel-level threads more effecient than user lever threads
if an application contains threads that block or that can perform their instructions in parallel, kernel-level threads are more efficient that user-level threads
why is synchrnous signal delivery simpler than asynchronous signal delivery
-a synchronous signal is generated due to a process or thread that is tjat os currently executing on a processor. a OS can eaily identify the reciepientof the signal
name three ways a thread can terminate
-completing executing
-raising a fatal exception or recieving cancellation
why should a thread be allowed to disable its cancellation
a thread that modifies a value in its process's shared address space
difference between the zombie state and the dead state
-zombie, tasks are not removed from the system so other threads can be notified of its termination
-dead state may be immediately removed from the system
what purpose does fibers serve in windows XP
-exist to improve capabilities with applications and schedule their own threads
how does a primary thread differ from other threads
when a primary thread returns, the process to which it belongs terminated
why should programmers name java threads
allows the programmer to identify each thread when debugging
how does java allow programmers to create threads from objects that do not extend thread
implement the Runnable interface so that objects of the class can control the life cycle of threads with their run methods