Final Exam Flashcards
Describe the multiple processor system architecture…
separate CPU and a shared memory system; multiple ways of connecting in
have multicore chips that abide by Moore’s Law - number of transistors on chip doubles every two years
Multiprocessor OS - each CPU shares OS code, but has its own OS data structures
Describe the master-slave processor…
each CPU has its own data in relation to the OS
one master processor sees what needs to be done and allocates work to the other processors while keeping track of processor availability - balances the load
creates a bottleneck with increase in processors
Provide an example of the master-slave processor…
bank tellers - only one waiting line which balances the load amungest tellers
Describe symmetric multiprocessor…
one OS that anyone can run, OS is broken into small critical sections and locks are in place to prevent bottlenecks and race conditions
Describe multicomputer system architecture…
multiple individual computers; striped down usually without peripherals, may have network card with high performance
to have access, there would be one access point to the head node with separate access to communicate through the various other nodes of the structure - this is a way of parallel computing; send and receive, blocking and non-blocking
has load balancing with heuristic based processor allocation algorithms
Describe the distributed system architecture…
multiple full computers spread out over a wide area
independent; each computer is running part of the process to get to a solution to a larger problem
Provide an example of a distributed system…
BOINC (berkley open infrastructure for network computing) - anyone can download a client and help the researchers solve problems - when your computer isn’t doing anything else, it will aid in run their program
WWW
Describe virtualization system architecture…
multiple systems running on a computer with the appearance you are working on multiple computers
combine multiple servers and “hypervisor” controls the virtual machine
Provide an example of a virtualization system…
Windows machine running Mac OS X - problem with this is that, specialized things don’t work - graphics card doesn’t work, sound doesn’t work
Describe what a page is…
process address spaces that are broken into chunks
only some of the process’s pages may be in memory
process can run even if part of it is in memory
Describe what page frames are…
memory broken into the same size chunks as pages
Describe the information stored in a page table and how it is used in virtual memory…
page table consists of a page frame number, present/absent bit, protection bits, modified bit, and referenced bit
program in broken into chunks called pages and scattered into memory in an organized fashion; memory is broken into the same size chunks called page frames; virtual memory swaps pages in and out of memory as needed; all that needs to be in memory is the code that needs to be executed and the data; when a location needs to be accessed that is not in memory, the system has to decide if there is a free block and must load the page into the page frame; if there is no space in memory, the system has to decide what must be taken out of memory to make space
multilevel page tables:
- two page table indices
- first page table gives the address of the second page table
- each index is offset within that table
- only needed tables are in memory
inverted page tables:
- one entry per page frame
- virtual address is hashed into the table to see if the page is in memory and where
Describe a modified bit…
aka. dirty bit
if a modified bit has a value of 0, nothing has been changed
if a modified bit is set, something changed and if it needs to be removed from memory, it must be copied to disk or the information will be lost
Name the page replacement algorithms…
not recently used first-in-first-out second chance least recently used not frequently used working set
Describe the ‘not recently used’ page replacement algorithm…
when a page is modified, the bit is set and stays set
when a page is accessed, the system sets the page’s reference bit
system periodically goes through and clears all the reference bits
when space is needed, the system classifies pages into four categories:
- not referenced, not modified
- not referenced, modified
- referenced, not modified
- referenced, modified
page is chosen for removal at random from the lowest non-empty class
look for pages with reference bit not cleared
Describe “not referenced, not modified”…
not referenced in a while
hasn’t been modified and can write over top of it
Describe “not referenced, modified”…
take and write page back out to disk before you can write over the top of it
Describe “referenced, not modified”…
don’t have to spend extra time to write back out to disk when a page is to be removed
Describe “referenced, modified”…
Answer.
Describe the ‘FIFO’ page replacement algorithm…
as pages are added to memory, the page number is also added to the end of the list - new pages are first
things brought into memory early are not likely to be needed
when space is needed, the system removes the first page on the list
the page removed is the page that has been in memory the longest ***it may not be needed anymore because it has been there so long, but it may also be there so long because it is frequently used
Describe the ‘second chance’ page replacement algorithm…
as pages are added to memory, the page is also added to the end of a list
when space is needed, the system looks at the first page on the list
- if referenced bit is 0, page is removed
- if referenced bit is 1, bit is reset and the page is moved to the end of the list and give it another block to execute
pages that have been around for a while and not used since the last referenced bit clearing cycle are removed
Describe the ‘least recently used’ page replacement algorithm…
list of pages is kept in order of last used
when a page is used, it is brought to the front of the list
close to optimal
costly - list has to be searched for each page access to find the page to move to the front
Describe the alternative to the ‘least recently used’ page replacement algorithm…
system has a counter that is incremented with each page and each instruction
counter is stored in the page table entry for the accessed page
counter isn’t associated with anyone process
when space is needed, the page table entry with the smallest value indicates the page to remove
Describe the ‘clock’ page replacement algorithm…
page frames are kept in a circular list with a pointer to the oldest page
when space is needed, system looks at the page the pointer points to
- if referenced bit is 0, page is removed and a new page takes its place in the list
- if referenced bit is 1, reference bit is reset and the pointer moves to the next page - repeated until page is found to remove
clears referenced bits
Describe the ‘not frequently used’ page replacement algorithm…
each page has a referenced bit and counter
at each clock cycle, the referenced bit is added to the counter - a page being referenced frequently is set to 1 and its counter keeps going up; there are low counts for pages used infrequently
when space is needed, the page with the lowest counter value to removed
Describe the alternative to the ‘not frequently used’ page replacement algorithm…
shifting bits is quicker
bits in the counter are shifted right by one bit and outs the referenced bit in the leftmost bit which divides the counter in half
Describe the ‘working set’ page replacement algorithm…
for each process, there is a set of pages that it’s using now
code that is to be executed is in a tight space
page faults bring in initialization pages and then moves to processes and issuing page faults - cycles up and down with each new working set
if a process is working and not issuing page faults, it’s in memory
if a process is blocked, all the pages it has in memory are its working set - take it out and free up space, then other things can be brought in, when ready to run again, bring entire working set back in and it will not cause page faults - tough to figure out!
What is a record type and how is it stored in memory?
record types combine multiple data fields that can be off different types into one new type
each individual piece of the record is stored in sequential memory
Give an example of a record type…
C++ structs
What is a boolean and how is it stored in memory?
a binary variable, having two possible values called “true” and “false”
can be implemented as bits, but more often as bytes as they are represented in computers as full words
What is a character and how is it stored in memory?
unit of information that is mapped to a numeric value
stored as numeric coding
ASCII and Unicode (2 byte) are examples of encoding standards where each character/digit is mapped to a numeric value
What are the methods of user authentication?
something you know
something you have
What is user authentication?
how do we verify who someone is to give them access
Give an example of ‘something you know’ user authentication…
passwords