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

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;

31 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)

What is the Halting Problem?

Given a problem P that requires exactly one string input, and a string x, determine whether P halts on input x.


does-halt(P,x) = { true, if P(x) halts


false, if P(x) runs forever}

does- halt always halts

Solve Problem 3.1 in book



(cons 'B 'C)


(cons 'A (cons 'B 'C) )


(cons (cons 'A (cons 'B 'C) ) (cons 'B 'C) )

Also Problem 3.1


car -> 'A


cdr -> 'B 'C

lambda(x) (cons ( cons 'A x ) x ) (cons 'B 'C)

What does it mean to be Turing Complete?

All standard general-purpose programming languages give us the same class of computable functions

Define Partiality

Recursively defined functions may be partial functions. They are not always total functions. A func may be partial bc a basic operation is not defined on some argument or because a computation doe not terminate.

Define Computability

Some functions are computable and others are not. Programming langs can be used to define computable functions; we cannot write programs for funcs that are not computable in principle.

Define Undecidability

Many important properties of programs cannot be determined by any computable func. In particular, the halting problem is undecidable

Lexer / Parser

* Combines sequence of characters to lexems ( REGEX )


* Derives a sentence from a sequence of tokens ( GRAMMAR )

4 Main elements of a computer

Processor, Main Memory, I/O modules, System Bus

What is a Processor?

Controls the operations of the computer and performs its data processing functions. CPU (central processing unit ) when there is only 1

What is Main Memory?

Stores data and programs. Typically volatile; i.e. when the computer is shut down the contents are lost. Often referred to as Real Memory or Primary Memory

What are I/O modules?

move data between the computer and its external environment.

What is the System Bus?



Provides for communication among processors, main memory, and I/O modules

What is an interrupt?

a signal that tells the OS to stop its current operations and decide the best course of action next

4 classes of Interrupts

Program, Timer, I/O, Hardware Failure

Difference between simple paging & Virtual Memory paging

Explain Thrashing

Internal vs External Fragmentation



3 objectives to OS Design

Convenience, Efficiency, Ability to Evolve

What is the kernel of the OS?

the Nucleus which contains the most frequently used functions in the OS and, at a given time, other portions of the OS currently in use

Multiprogramming

allowing memory to be able to hold 3, 4 or more processes at a time switching between them

also known as multitasking

What is a process?

a program in execution, an instance of a running program, the entity that can be assigned to/executed on a processor

4 main causes of OS errors

Improper synchronization, failed mutual exclusion, nondeterminate program operation, Deadlocks

5 Memory Management OS responsibilities

Process isolation, Automatic allocation and management, support of modular programming, protection and access control, long-term storage

difference between a real address & a virtual address

Virtual address consists of a page number and an offset within that page; Real address is the physical address in main memory

Specifically with regards to Operating systems

what is the round robin scheduling technique?

to give each process in the queue some time in turn; a circular queue

monolithic kernel vs microkernel

one large kernel that was prominent until recently- provided most of the OS functionality; a small kernel and only assigns a few essential functions at a time to the kernel

What is multithreading?

a technique in which a process, executing an application, is divided into threads that can run concurrently

Key design issues of the SMP operating system

Simultaneous concurrent processes or threads, scheduling, synchronization, memory management, reliability & fault tolerance

SMP - symmetric multiprocessing

What is an instruction trace?

the sequence of instructions that execute for that process

Different ways a program will be uniquely characterized

Identifier, State, Priority, Program Counter (PC), Memory pointers, Context data, I/O status information, Accounting information