Final Exam Flashcards

1
Q

Describe the multiple processor system architecture…

A

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

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

Describe the master-slave processor…

A

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

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

Provide an example of the master-slave processor…

A

bank tellers - only one waiting line which balances the load amungest tellers

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

Describe symmetric multiprocessor…

A

one OS that anyone can run, OS is broken into small critical sections and locks are in place to prevent bottlenecks and race conditions

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

Describe multicomputer system architecture…

A

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

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

Describe the distributed system architecture…

A

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

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

Provide an example of a distributed system…

A

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

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

Describe virtualization system architecture…

A

multiple systems running on a computer with the appearance you are working on multiple computers

combine multiple servers and “hypervisor” controls the virtual machine

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

Provide an example of a virtualization system…

A

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

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

Describe what a page is…

A

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

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

Describe what page frames are…

A

memory broken into the same size chunks as pages

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

Describe the information stored in a page table and how it is used in virtual memory…

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe a modified bit…

A

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

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

Name the page replacement algorithms…

A
not recently used
first-in-first-out
second chance
least recently used
not frequently used
working set
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Describe the ‘not recently used’ page replacement algorithm…

A

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:

  1. not referenced, not modified
  2. not referenced, modified
  3. referenced, not modified
  4. referenced, modified

page is chosen for removal at random from the lowest non-empty class

look for pages with reference bit not cleared

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

Describe “not referenced, not modified”…

A

not referenced in a while

hasn’t been modified and can write over top of it

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

Describe “not referenced, modified”…

A

take and write page back out to disk before you can write over the top of it

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

Describe “referenced, not modified”…

A

don’t have to spend extra time to write back out to disk when a page is to be removed

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

Describe “referenced, modified”…

A

Answer.

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

Describe the ‘FIFO’ page replacement algorithm…

A

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

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

Describe the ‘second chance’ page replacement algorithm…

A

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

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

Describe the ‘least recently used’ page replacement algorithm…

A

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

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

Describe the alternative to the ‘least recently used’ page replacement algorithm…

A

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

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

Describe the ‘clock’ page replacement algorithm…

A

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

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

Describe the ‘not frequently used’ page replacement algorithm…

A

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

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

Describe the alternative to the ‘not frequently used’ page replacement algorithm…

A

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

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

Describe the ‘working set’ page replacement algorithm…

A

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!

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

What is a record type and how is it stored in memory?

A

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

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

Give an example of a record type…

A

C++ structs

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

What is a boolean and how is it stored in memory?

A

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

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

What is a character and how is it stored in memory?

A

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

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

What are the methods of user authentication?

A

something you know

something you have

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

What is user authentication?

A

how do we verify who someone is to give them access

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

Give an example of ‘something you know’ user authentication…

A

passwords

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

What is a problem with passwords as user authentication?

A

user selects own password - liable for dictionary attacks - when set up new account will be encrypted and stored, take a dictionary and encrypt and compare words to passwords; a system may select a password - then people write down the difficult password and others may find it

36
Q

Give examples of ‘something you have’ user authentication…

A

data media - combination with password; ex. ATM card and pin number

biometrics - finger print, retinal scan, facial recognition, voice recognition

37
Q

What is a problem with data media as user authentication?

A

can be lost, stolen, or forged

38
Q

Name the six system vulnerabilities…

A

trojan horse

trap door

buffer and stack overflow

social engineering

spyware

viruses

39
Q

Describe the trojan horse system vulnerability…

A

program that masquerades as something beneficial but actually causes damage or invades privacy

viruses and spyware are often introduced as trojan horses

40
Q

Give an example of the trojan horse system vulnerability…

A

ATM, user enters login information and trojan horse program logs keystrokes and returns a message to user that they incorrectly entered their login information, trojan horse program then directs user to the correct terminal where the user just though they entered the information incorrectly the first time and tries again; vital login information is now communicated across the Internet

41
Q

Describe the trap door system vulnerability…

A

program fragment that issues a sequence of commands that the program writers have inserted to circumvent (find a way around) the security system

trap doors are often left in applications/systems to help support staff

42
Q

Give an example of the trap door system vulnerability…

A

changing data in database, tampering with account activities; may be written into compilers where it would not be discovered by examining source code of the program - must examine source code of the compiler

43
Q

Describe the buffer and stack overflow system vulnerability…

A

user sends more data into a field than the program anticipates - this can overflow memory (stack, kernel)

44
Q

Give an example of the buffer and stack overflow system vulnerability…

A

hacker tampers with pointers to transfer control to malicious code; always validate user input before accepting it

45
Q

Describe the social engineering system vulnerability…

A

attempt made by an attacker who pretends to be a trusted and convinces someone to divulge confidential information

46
Q

Give an example of the social engineering system vulnerability…

A

phishing - act of sending out an email that appears to be from a trusted institution - link takes user to attacker’s website and confidential information is requested

attacker makes a phone call and poses as someone else who is asking for confidential information

47
Q

Describe the spyware system vulnerability…

A

includes innocuous software cookies that monitor the user’s browser habits and report back to the application when the user is online

48
Q

Give an example of the spyware system vulnerability…

A

hack the user’s web browser so that web searches are diverted to an unexpected website

49
Q

Describe the virus system vulnerability…

A

invasive/malicious software - programs with the property of being self-replicating and/or self-propagating (spread from one computer to another)

50
Q

Give an example of the virus system vulnerability…

A

fragments of OS script code found in parts of files - usually hidden in the boot sector; first thing a virus does is make a copy of itself to one or more files

51
Q

Name the network security issues…

A

IP port scanning

server attacks

denial of service

firewalls

52
Q

Describe the network security issue of IP port scanning…

A

can make connections to computer system; someone can send a message to every port on the IP address - can figure out which ports are active and which ports are not and can taylor attack based on port accessed

53
Q

Describe the network security issue of server attacks..

A

each type of server listens on a particular port; once the attacker knows there is a particular type of server listening, they can attempt to exploit unknown security flaws

ex. web service on port 80, you can try to poke at various security holes at web servers

54
Q

Describe the network security issue of denial of service…

A

don’t take data from system, but tie up system and prevent valid use

websites go down because of these attacks

multiple computers do nothing but send sync messages to a system and get a message back and flood system with so many sync messages that it has no time to do anything but send out acknowledgements

55
Q

Describe the network security issue of firewalls…

A

method to keep unauthorized users from accessing the system

firewalls control which messages can come in from the outside and where they may go

hardware firewall can make systems behind the firewall invisible to the outside world

software firewalls can also detect programs unexpectedly accessing the internet; designed to prevent spyware from transmitting data without your knowledge throughout the internet

tables are used to configure firewalls

56
Q

What is the use for virtual machines?

A

allows us to eliminate the number of servers running

makes it easy to test applications on different platforms - don’t have three different computers running three different OS

new software only has to be installed in the virtual system and every time a computer is booted up the new software is updated

powerful if done correctly

57
Q

What are the requirements for virtual machines?

A

fidelity

performance

safety

58
Q

What is a virtual machine?

A

programs that run on a computer that make it appear as though the computer is something other than what it is

59
Q

Describe the fidelity requirement for virtual machines…

A

programs run the same on virtual machine as they do on a real machine

60
Q

Describe the performance requirement for virtual machines…

A

close as possible to a real machine speed; won’t get the same performance due to emulation

61
Q

Describe the safety requirement for virtual machines…

A

must not damage, alter, or interfere on the host system or any other system

62
Q

Describe a page frame number…

A

index to access the corresponding table entry

63
Q

Describe a present/absent bit…

A

indicates if the page is currently stored in physical memory

if not in memory, the OS interrupts the process and starts a routine to fetch the page from virtual storage

64
Q

Describe a protection bit…

A

indicate privileges

65
Q

Describe a referenced bit…

A

checks if the referenced page corresponds to a valid reference

66
Q

Describe the relationship between process address space and physical memory…

A

early implementation used base and limit registers (base held the starting address and limit held the size of the address space)

general problem is that the total of the address spaces of all running processes may be larger than the available memory

address spaces can be allocated in a contiguous or noncontiguous physical address space

memory swapping - simple strategy for contiguous space allocation; the entire address space for a process is copied from disk when the process runs; if there is no room, the address space of one or more of the blocked processes are copied to disk; a process address space can expand, adjacent process address spaces my never be swapped out; memory can become fragmented (manages free memory through bitmaps and linked lists)

67
Q

In relation to user authentication, what is protection?

A

mechanism to control what an authenticated user can do (file protection, memory protection, web protection)

mechanism to keep unauthorized users from accessing the system (firewalls, virus detection, spyware detection)

68
Q

What is an integer?

A

a reflection of the hardware so mapping is trivial

may be as many as eight different integer types in a language depending on the number of bytes used

69
Q

What is a floating point?

A

model real numbers but only as an approximation of numbers; 4 bytes; stored as an exponent (the shift to represent the number) and fractional component (decimal point to the left of it)

ex. IEEE floating point standard

70
Q

What is a string?

A

values are stored as an array of characters

some layouts begin with a count of the number of characters

other layouts use a special character for termination

71
Q

What are 1D arrays?

A

occupies successive locations of memory

access function maps subscript expressions to an address in the array

72
Q

What are 2D arrays?

A

values stored in one dimensional memory in row major order (by rows) or in column major order (by columns)

causes the computer to do 2 multiplications and an addition

73
Q

What is a double?

A

8 bytes

adding 3 bits to exponent gives a higher power!

74
Q

Name the four necessary and sufficient conditions for deadlock to occur…

A

mutual exclusion

hold and wait

no preemption

circular wait

75
Q

Explain mutual exclusion…

A

each resource is available or allocated to exactly one process; resources are not shared

76
Q

Explain hold and wait…

A

a process is holding resources can request and wait for an additional resources

77
Q

Explain circular wait…

A

a circular chain of processes where each process is waiting on a resource that is held by the next process in the chain

ex. dining philosopher’s problem - every philosopher was holding their left fork and waiting for the left fork

78
Q

Explain no preemption…

A

resources allocated to a process may not be forcibly taken away

79
Q

Describe priority-based scheduling methods…

A

preemptive method

priority is assigned to each type of process; processes are queued based on decreasing priority; highest priority processes are given CPU time and will be interrupted if a higher priority process arrives; interrupted processes will return to the end of the queue

static - keeps priority until job finishes; assigned at creation; any fixed decision about I/O processes will tend to be wrong and not maximize system performance

dynamic - based on processes behavior while in the system; know past history, may indicate future history

80
Q

Describe processes…

A

an instance (multiple copies of the program running) of a program; actual execution of instructions; there is a hierarchy and the children are additional processes of the main process

they are created at system startup, by another process, by the user or by a batch job

they are terminated by a normal exit, an error exit, a fatal error or kill process

there are two types of processes - user and system processes

a data structure called a process descriptor is created for each process in a system; this is where the OS stores all data about a process

81
Q

Describe threads…

A

one flow of control through a program; movement of the processor through the code; may have multiple threads that operate in parallel (ex. producer/consumer), faster than processor because there is less information to be stored - program counter, registers, stack, state

actions

    - creation - returns an identifier
    - exit - called by the thread when it’s done doing what it needs to do
    - join - allows for synchronization; waits for other threads to complete
    - yield - moving from state of run to state of ready
82
Q

Describe the use of rank to determine what parts of the code are executed by which processes…

A

rank will be assigned to each processor in a cluster – starting at zero for the head processor/node; incremented by one for all the other processors in the cluster

having this rank is a way of identifying the processors in the cluster

it can be concluded which processor executed particular parts of code, which processor sent a message and which processor broadcasted a message.

MPI has a function call that is associated with getting the rank of the node using that line of code. MPI::COMM_WORLD.Get_rank() returns an integer of the rank number of the node from the host file. That integer that is returned is then used for comparisons (if/else statements) so that some nodes perform tasks that other nodes should not

83
Q

Describe the MPI Broadcast function…

A

MPI Broadcast function is used for performing collective data distribution tasks; it will broadcast (send and receive) a message to all other processes

84
Q

Describe the MPI Send and Receive functions…

A

MPI Send and MPI Receive are communication routines

provide the transfer of information between processes

send function will send messages to other processes

receive function will receive a message from sending processes

85
Q

Describe semaphores…

A
  • abstract data type that functions as a software synchronization tool that can be used to implement a solution to the critical section problem; an object whose methods are invoked by the processes that need to share a resource
    • analogy - solution would be to add a traffic light at the intersection
    • types
      • binary semaphore - integer attribute can only take 2 values of 0 or 1; used to allow mutual exclusion
      • counting semaphore - can take any non-negative integer value
    • critical section in every process is enclosed between the wait and signal operations
      • sequence of instructions
        • invoke wait on a semaphore mutex - this tests the value of its integer value; if greater than 0, decremented and process proceeds to the critical section; if integer value is 0, the wait operation suspends the process and places the semaphore in a queue
        • execute the critical section of the process
        • invoke the signal operation on semaphore mutex; increments the integer value of the attribute and reactivates the process waiting at the head of the semaphore queue - wakes up the process
        • normal sequence continues to execute; reactivated process becomes the current process
86
Q

Describe monitors…

A

high-level programming language concept; encapsulation; views as a class in oop - can have methods and data in the object; view monitor as a room and the methods are doors to enter the room - if one processes enters the room all of the doors get locked - only one process can be in the room at any given time - must wait for the process to complete and leave the room - other processes will be queued and randomly picked; processes shouldn’t be able to blocked or go into a waiting state - if blocked, will be pulled out of the monitor and put on a separate queue to avoid deadlock

87
Q

Describe message passing…

A

communication and synchronization; can use a blocking version of send and receive - each process will have to wait until message is completely communicated; barrier command will require all processes to get to a particular point

synchronized - producer produces an item and will wait for the consumer and will build a message, receives message, extracts data, sends message and waits

unsynchronized- relying on the buffer; allows multiple values stored in the buffer; produces item, builds, and sends repeatedly - if buffer fills up, the consumer end will be block until there is space in the buffer; consumer receives and processes message - consumer will wait until a message is put in the buffer