Mod 1: Introduction Flashcards
What is concurrency?
(1) Concept of managing multiple tasks,
(2) Two or more things happening (seemingly) at the same time,
(3) Several tasks making progress, sharing CPU
What is a task?
Unit of a program
What is parallell programming?
(1) When two or more tasks run at the same time (actually, not seemingly),
(2) NOT sharing the computer’s CPU,
(3) Requires at least two cores in the CPU (if only one)
With the support of which three is concurreny achieved?
(1) The underlying hardware
(2) The Operating system
(3) The application
What is a “scheduler”?
Program runned by the OS or Runtime, deciding which process should run within the next period of time
What is the purpose of a scheduler?
Decide which process should be allowed to run within the next period of time
What are the two types of scheduling?
(1) Preemptive
(2) Cooperative
What is preemptive sheduling?
> priority-based
gives every task exclusive access to a computing resource for a given time
common i multitasking OS
What is cooperative scheduling?
Mechanism that give every task exclusive access until the task is done, or let the computing resource go
What is an interrupt?
Signal to the processor produced by hardware or software indicating an event needing immediate attention
What does multitasking refer to?
It refers to
(1) the OS ability to run more than one process at the time,
(2) utilizing one or more CPU resources
Give an example of multitasking
Multithreading
multitasking within an application, executing several tasks concurrently
What is a process?
Application in execution
What does a process consists of?
(1) Program instructions
(2) Stack memory/Call Stack
(3) A heap memory
(4) Program counter (register)
(5) Other resources eg. security info
Does two different processes share memory space?
No