Section 1

Preview this deck

mutual exclusion

Front

Star 0%
Star 0%
Star 0%
Star 0%
Star 0%

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Active users

0

All-time users

0

Favorites

0

Last updated

6 years ago

Date created

Mar 1, 2020

Cards (76)

Section 1

(50 cards)

mutual exclusion

Front

only one process at a time can use a resource - part of a semaphore is ensured by the flag being set to either true or false and only allowing one job to run while true and one job to run while false. Important to check flags in order to see what happens

Back

If you were going to allow the disabling of interrupts by the user, how would this mess up the synchronization primitives?

Front

If the user could disable interrupts it would then be able to disable the timer interrupt and this can prevent switching from happening and this would mean that a process could run without letting other processes get a chance to execute.

Back

progress

Front

- step in the three things needed in a semaphore - you have to be able to accomplish things is ensured because both jobs cannot be in there busy wait at the same time. So, one is always making progress while the other is in its busy wait and vice versa.

Back

Concurrency vs Parallelism

Front

It is possible to have concurrency but not parallelism. Concurrency means that where there are two different tasks or threads are working together in an overlapped period of time, it does not mean they ran at the same time. Parallelism is when two tasks start the execution at the same time and they run simultaneously. They are forms of an operating system. But in order to complete a task the methods need to finish the task. The priority is to select which form is better and it depends on the requirement of the system and the operating system coding had created.

Back

interrupts

Front

An interrupt differs from a trap because a interrupt signals the CPU when there is a completion of a task, but a trap is triggered by the user to make a function happen.

Back

medium term cpu scheduler

Front

A Medium-term scheduler is used with time-sharing systems. It is used to remove partially running programs from memory and bring them back later to continue where they were stopped.

Back

Non-preemptive scheduling

Front

CPU scheduling that occurs when the currently executing process gives up the CPU voluntarily

Back

Dining Philosophers Problem

Front

simple representation of the need to allocate several resources among several processes in a deadlock-free and starvation-free manner.

Back

firmware

Front

it is the permanent software that is programed into the ROM. It also provides low level control of the device's specific hardware.

Back

starvation

Front

- is the program letting other things sitting in the que or stoping people from doing things

Back

kernel

Front

- it is a computer program that is the main part of the computers operating system. It is the one programing that is running all the time on the computer. It's one of the first programs loaded when the startup happens

Back

cpu bound

Front

means that a program is held up by the cpu. CPU bound would go faster if the cpu was faster

Back

I/O bound

Front

means that the program is held up by I/O like reading a disk. The I/O would go faster if the subsystem was faster

Back

multiprocessing

Front

These systems are growing in the use and importance. They could be known as parallel systems, and tightly-couples' systems. They have 3 advantages: increased throughput, economy of sale, increased reliability. There are two types, Asymmetric and Symmetric. Asymmetric is each processer is assigned a specific task, and symmetric is each processer performs all tasks. A dynamic assignment, it has multiple processers which is hardware.

Back

some kind of restarting

Front

The first action would be stopping the process and restoring the CPU's state. Then you would retrieve the details of the next process from memory. Then you return to the place that is indicated by the program in order to continue that specific process. Saves context of the current process and then loads the new process

Back

embedded computer system

Front

- These devices are found everywhere. It is a controller programed program that uses real time systems to actively respond to things happening. Like cars, planes or trains. Some systems have hundreds of computers in them, they are embedded in and they can have hardware and mechanical parts.

Back

Shortest Job Next

Front

scheduling policy that selects for execution the waiting process with the smallest execution time. ____ is a non-preemptive algorithm

Back

find wait time

Front

when the job arrived to when the job finished

Back

devices that cant be shared

Front

Three types of devices that cannot be shared is a speaker, keyboard and mouse.

Back

short term cpu scheduler

Front

is the CPU scheduler. It will select a process that is ready to be executed and then gives it to the CPU.

Back

find average turn around time

Front

all turn arounds divided by number of jobs

Back

atomic operation

Front

An operation that is uninterruptible

Back

mutex

Front

A mutex is meant to be taken and released, always in that order, by each task that uses the shared resource it protects.

Back

batch system

Front

the batch operating system does not require you to interact with the computer directly. Someone will make punch cards and give to a computer operator to run; similar tasks are batched together to be run at the same time. There is lack of interaction between a user and the job, CPU is often idle, and it's hard to provide priority. There is a strict time constraint on them, they will normally run them overnight when the computer is less active.

Back

real time system

Front

a real time system is something that is constantly giving you information and updating, like a heart monitor. This system reacts to real time things happening, it doesn't wait for something to happen, its constantly updating. Embedded systems almost always use real time systems

Back

cloud computing

Front

cloud computing is a type of computing that will deliver computing, storage and application as a service across the network. It can be considered an extension of virtualization because it uses it as a base of functionality. There's public (available to everyone), private (only available to certain people like employees), and hybrid (includes both public and private ideas) clouds. It is done remotely and you can tap into things remotely.

Back

preemptive scheduling

Front

CPU scheduling that occurs when the operating system decides to favor another process, preempting the currently executing process and kicking it out

Back

shortest remaining time

Front

A scheduling algorithm that deals with each user or task based on a calculating an estimated time remaining to complete, is preemptive will kick people out

Back

to find turn around time

Front

how long it takes to finish based on when it arrives

Back

p nd v

Front

p subtracts and v adds

Back

first come first served (FCFS)

Front

a priority sequencing rule that specifies that the job or customer arriving at the workstation first has the highest priority non premptive

Back

processes vs threads

Front

The primary difference is that threads within the same process run in a shared memory space, while processes run in separate memory spaces. Threads are not independent of one another like processes are, and as a result threads share with other threads their code section, data section, and OS resources (like open files and signals). But, like process, a thread has its own program counter (PC), register set, and stack space.

Back

find weighted turn around time

Front

turnaround time / cpu time

Back

deadlock

Front

when a resource wants on resources who wants a different resources and they cant use each other

Back

thread

Front

A thread is a path of execution within a process. A process can contain multiple threads.

Back

bounded waiting

Front

is preserved because even if one process gets sent back to the waiting que it will become available to be serviced again and will keep happening until it is finished what it needs to have done.

Back

wait command

Front

Controls how much time is allocated for each operation.

Back

excelp

Front

- overwrites the space it was using and then it doesn't print it, it overrides anything that is happening

Back

multiprogramming

Front

The technique of keeping multiple programs in main memory at the same time, competing for the CPU

Back

Process Synchronization

Front

(1) the need for algorithms to resolve conflicts between processors in a multiprocessing environment; or (2) the need to ensure that events occur in the proper order even if they are carried out by several processes.

Back

orphan process

Front

An Orphan process is a process whose parent process no longer exists. This parent process terminated before the child process terminated. This means that the child process becomes and orphan process.

Back

how to find multiprogramming

Front

Time remain * jobs = how many ticks needed + then add it to the last time of the last job

Back

Round Robin Scheduling

Front

A PREEMPTIVE scheduling designed for Time Sharing Systems The Ready Queue is treated as a circular queue A small execution time interval is defined as the Time Quantum, or TIME SLICE - When the executing interval of a process reaches the time quantum, a SYSTEM TIMER will cause the OS to interrupt the process The OS carries out a CONTEXT SWITCH to the next selected process from the ready queue. Length of the Time Quantum Time quantum that is too short will generate many context switching and results in lower CPU efficiency. Time quantum too long may result in poor performance time. preemptive

Back

fork

Front

splits into child and parent each has its own copy but what you do to the parent doesn't affect the child and vice versa

Back

zombie process

Front

A zombie process is left over bits of a dead process that was not deleted or cleaned correctly. You cannot kill this process again because it is already dead. When a parent process is not programmed correctly to delete the zombie process when it dies immediately, that's when it is able to hang around.

Back

Multiprogramming

Front

multiprogramming will increase the utilization of the CPU. It will organize jobs so that the CPU will always be doing something. Its more efficient because its doing things all the time.

Back

multithreading

Front

allows multiple commands, or threads to run simultaneously

Back

zombie process again

Front

When a process is stopped, it shifts to a zombie state and remains that way until the parent process calls wait(). If a parent does not use wait(), the child process remains a zombie until the parent process is terminated. Once the parent process is terminated then the Init process becomes the new parent of the zombie process. The init process will call wait() often which releases the zombie process. If the parent did not initiate the wait call then the init has to do it for the zombie program, and then once it terminates the parent process did not have a wait then the process that just terminated becomes the zombie until the init ocmes along If the parent is allvie and the child dies then the init grab it and clean it up

Back

signal command

Front

signals when to let something in or move on

Back

long term cpu scheduler

Front

A Long-term scheduler is a job scheduler. It will determine the jobs brought to the memory to be processed. One of the biggest differences is the frequency of the execution. Long term would be used less often then short term and medium term for example

Back

Section 2

(26 cards)

handling deadlock

Front

o Prevention Prevent occurrence of one condiotn • Mutual exclusion resource holding no rpeemtion circule wait o Avoidance Avoid deadlock if it becomes portatble o Detection Detect deadlock when it occurs o Recovery Resume system normalcy quickly and gracefully

Back

mobile devices operating system

Front

A Mobile devices operating system needs a middleware to be designed in order for operation systems to support software. Mobile users need to be able to touch the screen and swipe across it and such so you need a system to work with that function. It also must be able to balance between performance and battery life because if the battery doesn't last then people can use it. But it also has to be able to support things like GPS. There are limited abilities to the mobile devices which is why it is still nice to have a pc or mac. Also, it is important for mobile devices to have strong security. Non-mobile operation systems do not have to take into consideration all these possible problems. Has to be object oriented no command lines to type into, limited processing power, needs to be lightweight.

Back

api

Front

application programming interface

Back

atoi

Front

means ascii to interger

Back

interrupts

Front

o When it wants to read the file it has to retrieve the information and how fast the transferr is compared is slow bc you don't have the transfer it's a slow process o This is all run by the OS o When you touch the key board that's an interrupt o The cpu is just running aroung taking care of stuff, it has to get each character you touch and get them to be displayed, theres different interrupts that can take place o What happens whne you get an interrupt - we say we have an interrupt handler Handler is software that someone wrote that handles interrupts When something happens somethigns gotta handle it or its crash and burn o In figure 1.2 It shows what happens as you get these interactions

Back

bootstrap

Front

o It's a process that starts the other processes o This resides in ROM or chip o There has to be a bootstrap to get the program to launch

Back

a process is

Front

is asynchronous , which means it does not get generated at a regular pace There is the words task, user programs, and jobs we can think of all of htem as process's The state the process is in is the most important

Back

operating system

Front

acts as a communication bridge (interface) between the user and computer hardware. The purpose of an operating system is to provide a platform on which a user can execute programs in a convenient and efficient manner.

Back

kernel thread

Front

something the kernel works one

Back

user thread

Front

something the user works on

Back

two ways to deal with interrupts

Front

- Can use a default - Ignore it

Back

semaphore

Front

a variable used to control access to a common resources so like cpu time by multiple process in a concurrent system like am multitasking operating system

Back

deadlock avoidance

Front

o Requires that the operating system be given in advance addirtional information conering which esources a process will reauest

Back

important operating system

Front

linux unix mac os and windows

Back

operation system

Front

is a resource matter

Back

test and set

Front

o Exchange the value to true o There's a semaphore two variables active in semaphore o What it says there it is active o It's an integer

Back

spooling

Front

Operating system process that sends documents to be printed to a buffer instead of sending them immediately to the printer. keep things organized so random papers arent getting printed out

Back

deadlock prevention

Front

o You see deadlock on the horizon so your like I will aovid doing this in order to not have deadlock

Back

pipes

Front

acts as a conduit allowing two processes to communicate

Back

multiprogramming environment

Front

o Maximize throughput Run as many jobs as possible in given amount of time o Minimize repsonise time Quickly turn around interactive requests o Minimize turnaround tiem Move entire job in and out of system quickly o Minimize waiting time Move job out of ready que quickly How long were you not using the cpu

Back

schedulers

Front

- You make a request to come in and the Long term scheduale is the one who lets you in, long term is just letting you into the system - Theres no specific scheduale for new to ready, it just kinda happens - The short term is the one who puts you in the ready que , short term is ready to run - Cpu has the run the job but he alwaos needs to take a couple of seconds to pic the schedualre and run them

Back

Process Control

Front

- A process is software it runs your program - It's an asynchronous activity - You have to have the ability to end it abort it load it ect.

Back

process control block

Front

- That has all the information in it that is like what state are you In what program counter how far are you into the stack - It keeps track of everyhtign about you while your in the system

Back

busy waiting

Front

While a process is in its critical section, any other process that tries to enter its critical section must loop continuously in the call to acquire().

Back

Bounded Waiting

Front

A bound must exist on the number of times that other processes are allowed to enter their critical sections after a process has made a request to enter its critical section and before that request is granted

Back

interactive systems

Front

- Faster turnaround than batch - Slower then real time - Introduced to provide fast turnaround when debugging - Complex algorithims share processing power

Back