• 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/33

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;

33 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)

Why do we need this automated management system - this third party between the user and the machine?

System complexity

Primary purpose of the OS?

To allow users to achieve their goals in a quick and efficient manner.


- different users have different goals


- such goals are often in conflict on a given system


- OS must contend with trade-offs and optimization

Define operating system

A set of programs that manage computer hardware resources and provide common services for application software. It's job is to provide convenience, efficiency, and is extensible.

OS pyramid

OS is composed of 2 parts

Kernel and shell

What does the kernel do?

Fairly apportion resources and predetermined what else should be executing on the computer and precisely how everything else should behave.

Virtualization

A technique used by the OS to make sure the system operates correctly and efficiently in an easy to use manner. The OS takes a physical resources (processor, memory, or disk) and transforms it into a more general abstraction, powerful, and easy to use virtual form of itself.

Von Neumann Architecture

A model for designing and building computers.

3 characteristics of Von Neumann Architecture

1. 4 major subsystems: memory, i/o, arithmetic/logic system, Control Unit


(ALU and CU combined is processor)


2. The Stored Program Concept


3. Sequential execution of instructions

Economics of Memory

1. Registers


2. Cache


3. Main memory


------------------- electromagnetic divide


4. Disk cache


5. Magnetic Disk


6. Removable media



Top is faster, more expensive, and less capacity.

Purpose of cache memory

Improves the efficiency of the CPU, allowing instructions to be completed faster.


Cache memory provides a fast memory buffer between the CPU registers and the main RAM memory of the computer system.

What is a cache line? How many cache lines would there be in a system?

1. Main memory divided into portions called cache lines.


2. Each cache line is the same size as a cache slot


3. There are many times more cache line than there are cache slots in most systems.


4. When info is moved from RAM into the cache memory, one cache line is copied into one cache slot.


5. Cache line co rains instructions or data.


6. Take the size of main memory and divide it by the size of one cache line, we will end up with the number of cache lines.


7. E.g. 1GB/128kb gives 2^13

Mapping Function

A mapping function defines which cache slots a given cache line may be loaded into.

Replacement Policy

Based on when any slots chosen by the mapping function were last used, the replacement policy tells us how to choose which of the slots should have the new cache lines placed in.

Step by step on how CPU access data that is not in cache memory.

1. A request is made to memory location X.


2. We know what the starting address of the cache line in each occupied cache slot in the cache is, so we can check each cache slot to see if location X is in any of the cache line presently loaded into cache slots in the cache


3. Depending on mapping function, we either need to check or cache slots or just some. If the cache line containing our desired memory location is mapped by the mapping function to a single cache slot then we just look at that one cache slot. If it's not in that cache slot then we need to loaded into it and replace the existing content. On the other extreme, if the cache line may be mapped to any cache slot, then we need to check every cache slot in the cache to check if it holds the cache line containing memory location X.


4. Use replacement algorithm to choose which cache slot should be replaced by the cache line containing our memory location X.


5. We go to main memory and find the cache line containing location X.


6. Copy the information in the cache line containing memory location X into cache slot chosen by our replacement algorithm.


7. The CPU can now access the desired memory location.

Cache hit

A state where the data requested for processing is found in the cache memory.

L1 cache

Cache that is built onto the microprocessor chip itself.

L2 Cache

Slower than L1 cache and may be on a separate chip.

Instruction Cycle

The fundamental cycle between memory and CPU for Von Neumann architecture.


1. Fetch


2. Decode


3. Execute

Interrupt

An event that alters the sequence in which the processor executed instructions. It allows for the transfer of control between programs and greatly increased efficiency.

CPU instruction set

The set of instructions a CUP can be asked to perform.

Algorithm

A well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result.

What are the 3 types of programming languages?

Machine language


Assembly language


Higher level languages

What is GUI?

Graphic user interface


Windows


Icon


Menu


Pointer

WIMP

What is CLI?

Command line interface


Dos

Give an example of a hybrid between GUI and CLI.

Unix

Kernel

A computer program that is the core of a computer's operating system, with complete control over everything in the system.

Shell

Software that provides and interface for users of an operating system, providing access to the services of a kernel.

Multiprogramming

Running more than one program at a time.

Multiprocessesing

Computer using more than 1 CPU

Multitasking

Tasks share a common resource like 1 CPU

Kernel space

Need this to distinguish between kernel mode and user mode to prevent data corruption

System calls

Used to go from user space and access stuff in kernel space


E.g. read write execve fork