Cs 490 test 1

5.0(2)
studied byStudied by 40 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/38

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

39 Terms

1
New cards

Interrupt

a mechanism by which other modules (I/O, memory) may interrupt the normal sequencing of the processor. The process checks for an interrupt flag at the end of each fetch-execute cycle to determine if something needs to be dealt with.

2
New cards

difference between a multiprocessor and a multicore system

A multicore computer is a special case of a multiprocessor, in which all of the processors are on a single chip.

3
New cards

Multiprocessing

a mode of operation that provides for the physical computation of processes in parallel, on different CPUs/computing hardware

4
New cards

I/o bound

Process spends more time waiting for i/o instead of computing instructions on alu/cpu

5
New cards

CPU bound

Process spends more time computing instructions than waiting for i/o

6
New cards

Multiprogramming

a mode of operation that provides for the interleaved execution of two or more computer programs by a single processor

7
New cards

Scheduling

Most installations used a hard copy sign up sheet to reserve computer time

8
New cards

kernel

a portion of the operating system that includes the most heavily used portions of software

9
New cards

difference between a monolithic kernel and a microkernel design

Microkernels implement the most important core features in the memory resident portion of the operating system where Monolithic kernels include all possible OS features in the core. Microkernels use memory more efficiently by allowing some operating system features to be managed as if they were normal processes and can be swapped in/out of memory.

10
New cards

Process

Supports goal of an operating system as a resource manager

Comprised of:

  • a program in execution

  • Associated data in memory

  • Process control block (Created and managed by os software)

11
New cards

5 state model

1) running - process currently being executed

2) ready - process is ready to execute

3) blocked - process can’t resume execution until some event occurs

4) new - process just created, not yet loaded into memory

5) exit - process is completed and its pcb storage can be reclaimed

12
New cards

7 state model

Adds ready/suspend and blocked/suspend to 5 state model

13
New cards

State transitions

Admit, event complete, dispatch, time out, event wait, release

<p>Admit, event complete, dispatch, time out, event wait, release</p>
14
New cards

Multithreading

In this process an environment contains a virtual memory address space that holds the process image and protected access to processors, communication, files, and other resources

15
New cards

Single threaded vs multi threaded processes

knowt flashcard image
16
New cards

User level threads

All details of thread management are performed by the application itself via thread libraries

17
New cards

Kernel level threads

The operating system can map many user level threads into some subset of kernel level

18
New cards
19
New cards

Mutual exclusion

a program object that prevents multiple threads from accessing the same shared resource simultaneously

20
New cards

Dekkers algorithm

A solution to mutual exclusion. works to enforce mutual exclusion without locking the processes

21
New cards

Atomic actions

Multiple actions on a memory location completes within a single instruction cycle

22
New cards

Multiple applications

multiprogramming was invented to handle this, and allow processing time to be shared among multiple active applications

23
New cards

Structured applications

modular design sometimes encompasses developing problem solutions built from multiple concurrent processes

24
New cards

Operating system structure

OS services can be developed as a set of concurrent processes

25
New cards

Semaphore

A special variable type with an integer value. Used with shared memory systems, processes can each utilize the shared semaphores

26
New cards

Binary semaphores

Semaphores that start with 1

27
New cards

Counting semaphores

Semaphores that start with >= 1

28
New cards

SemWait

Decrements the value as an atomic action

29
New cards

SemSignal

Semaphore value is incremented

30
New cards

Monitor

Controls the shared data. Provides types of locks using condition variables or condition flags

31
New cards

positives of semaphore

Allows more than one thread to access critical regions. Flexible resource management. Machine independent.

32
New cards

Negatives of semaphores

a primitive tool, and may be scattered throughout the code, requiring programmers to be disciplined at verifying the correctness of the combined operations

33
New cards

Condition variables

Manages synchronization. Cannot be scattered in code

34
New cards

Producer/consumer problem

Common buffer/sync problem. Need to ensure that a producer doesn’t try to add to a full buffer and that a consumer doesn’t try to take from an empty buffer.

35
New cards

Reader/writer problem

A data area is shared among many processes. Some processes only read the data area, (readers) and some only write to the data area (writers)

Conditions that must be satisfied:

Any number of readers may simultaneously read the file

Only one writer at a time may write to the file

If a writer is writing to the file, no reader may read it

variations include reader priority (writers starve)

36
New cards

Deadlock

the permanent blocking of a set of processes that compete for system resources or communicate with each other

37
New cards

Starvation

A process or resource is unable to make progress or access a resource it needs due to allocation of resources to other processes or tasks

38
New cards

4 conditions for deadlock to occur

Mutual exclusion, hold & wait, no preemption, circular wait

39
New cards

Uniprocessor

Only one process can run at a time, and to run another one you’d have to wait until the current one is finished.