Procesy Flashcards

1
Q

Co je program?

A

Staticky, vykonatelny subor na disku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Co je proces?

A

Program, ktory sa prave vykonava a ma stav

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Z jedneho programu moze bezat kolko procesov?

A

Viac

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Moze byt vykonavanych procesov sucasne viac ako pocet procesorov?

A

Ano

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Procesy su _____ a ______ (s ohladom na prostriedky)

A

nezavisle a izolovane

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mozu procesy spolu komunikovat?

A

Ano ale musia o to poziadat OS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Kto robi time sharing procesov?

A

OS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

preco treba striedat procesy?

A

lebo sa musia delit o jadra procesora

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ako reprezentujeme proces?

A

PCB (Process Controlm Block)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Co obsahuje PCB?

A

stav CPU, registre, flags..
stav pamati (text, data, stack, heap), tabulky stranok
otvorene subory, zamky, signaly
alokovane a spotrebovane prostriedky, stav, priorita, PID, rodic, UID, CMD…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

PCB vsetkych procesov tvori _______

A

tabulku procesov

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Na linuxe je PCB implementovany structom ____

A

task_struct

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

tabulka PCB je reprezentovana ako …

A

dvojity spajany zoznam task_struct

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

aky pointer ukazuje na aktualne vykonavany proces?

A

current

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

v akom pseudosuborovom systeme a akym prikazom je dostupna tabulka procesov?

A

/proc alebo

ps, top

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ako sa nazyva zmena beziaceho procesu na iny?

A

context switch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

kedy je potrebna zmena procesu?

A

ak uz beziaci nemoze bezat dalej, napr z dovodu V/V operacie alebo spotrebuje pridelene casove kvantum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

kedy moze nastat prepnutie procesu?

A

pri systemovom volani alebo preruseni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

sucastou obsluhy prerusenia je ____

A

odlozenie stavu CPU do PCB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

po preruseni jadro ____

A

zvoli novy proces na vykonavanie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

potom co sa vyberie novy proces, tak ______

A

sa aktualizuje CPU podla PCB noveho procesu, aj register ukazujuci na tabulky stranok cim sa “prepne pamat”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Akou instrukciou sa na inteloch vieme dostat z prerusenia?

A

IRET

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

ako sa overuje vycerpanie casoveho kvanta procesu?

A

interruptmi od casovaca

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Co je on-deman interrupt?

A

Ak nie je ziaden proces beziaci, tak procesor nebude zbytocne budeny
Ak bezi jeden, tak netreba sledovat jeho casove kvantum a netreba zahlcovat CPU preruseniami

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Ako najmenej casto treba prerusovat CPU a preco?

A

Raz za sekundu kvoli aktualizovaniu statistik pre planovac

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Ake pozname stavy procesu?

A

New, Terminated, Ready, Blocked, Running

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Kedy ma proces stav new?

A

novovytvoreny proces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Kedy ma proces stav terminated?

A

ukonceny proces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Kedy ma proces stav ready?

A

pripraveny na vykonanie a caka kym dostane od OS CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

kedy ma proces stav running?

A

planovac pridelil procesu CPU a vykonava sa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

kedy ma proces stav blocked?

A

proces sa nemoze vykonavat kym nenastane udalost na ktoru caka

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Kam sa vieme dostat zo stavu new?

A

Ready

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Kam sa vieme dostat zo stavu ready?

A

Running

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Kam sa vieme dostat zo stavu Running?

A

Terminated, Blocked, Ready

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Kam sa vieme dostat zo stavu Terminated?

A

Nikam

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Kam sa vieme dostat zo stavu Blocked?

A

Ready

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Co znamena zmena stavu Scheduled?

A

Ready -> Running

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Co znamena zmena stavu Descheduled

A

Running -> Ready, procesor mu bol odobrany

39
Q

Co znamena zmena stavu I/O started?

A

Running -> Blocked, proces caka kym dostane to co potrbeuje

40
Q

Co znamena zmena stavu I/O Completed?

A

nastala udalost na ktoru proces cakal

41
Q

Na co caka blokovany proces?

A

Externu udalost nezavislu od OS, nemusi to byt len I/O

42
Q

Aka je skratka stavu R?

A

Ready

43
Q

Aka je skratka stavu S?

A

sleep, prerusitelne cakanie

44
Q

Aka je skratka stavu I?

A

prilis dlhe cakanie Idle

45
Q

Aka je skratka stavu D?

A

neprerusitelne cakanie, typicky cakanie na I/O

46
Q

Aka je skratka stavu T?

A

stopped, suspended, po signale SIGSTOP, moze pokracovat SIGCONT

47
Q

Aka je skratka stavu Z?

A

Zombie, ukonceny

48
Q

Vie proces kedy a na ako dlho mu bude prideleny CPU?

A

Nie

49
Q

Co vie robit proces namiesto predpokladov o case od CPU?

A

explicitnu synchronizaciu s inymi procesmi pomocou prostriedkov OS

50
Q

Co je cielom planovania?

A

Zvysit priepustnost, co najkratsi cas vykonavania ulohy, nizky cas odozvy pre ulohy

51
Q

Ake politiky planovaca pozname bez preempcie?

A

First Come First Server a Shortest Job First

52
Q

Aka politika je FCFS?

A

procesy dostanu procesor vporadi v akom prisli, maju ho az kym ho neuvolnia alebo sa nezablokuju, nevyhoda je dlha odozva pri vela ulohach

53
Q

Aka je politika SJF?

A

Planovac musi vediet na ako dlho potrebuje proces CPU, nevyhoda je ze dlhe ulohy cakaju

54
Q

Aka je politika Round Robin?

A

Kazdemu priradi rovnake casove kvantum a striedaju sa v poradi v akom prisli

55
Q

Aka je politika podla priority?

A

Vyberaju sa podla priority, nevyhoda ze nizka priorita sa nemusi dostat na rad

56
Q

Ako sa da vyriesit problem s nizkou prioritou?

A

Dynamicky menit prioritu, napr podla toho kolko uz cakaju na vykonanie

57
Q

Co je to preempcia?

A

přerušení právě vykonávaného procesu (úlohy) bez toho, aby byla vyžadována jeho spolupráce. Přerušená úloha je pozastavena, nahrazena jinou úlohou a později je pomocí stejného mechanismu její činnost opět obnovena

58
Q

Co OS pre kazdy proces zaznamenava?

A

objem prostriedkov ktore pouziva, napr cas kedy mal prideleny procesor a vykonaval sa (user time), cas kedy vykonaval systemove volania (system time), velkost pamate, pocet vypdkov stranok a pod

59
Q

Ako vieme v linuxe ziskat info o pouzitych zdrojoch procesom?

A

getrusage()

60
Q

Co je RSS - Resident Set Size?

A

velkost obsadenej fyz pamate

61
Q

Ako sa da pracovat s limitmi pre objem prostriedkov?

A

soft limit sa da nastavit max po hard limit, hard limit sa da len znizit

62
Q

Co znaci zatazenie procesorov?

A

Priemerna dlzka radu pripravenych a vykonavanych procesov

63
Q

Kedy je system pretazeny?

A

Ak je zataz L vyssia ako pocet CPU

64
Q

Ake prikazy pozname na sledovanie zataze?

A

top, uptime

65
Q

Co je zatazenie systemu?

A

procesy v stave neprerusitelneho cakania + zatazenie procesorov

66
Q

Co je realny cas procesu?

A

Cas od spustenia, je tam zaratany cas aj ked sa nevykonaval

67
Q

Ako moze byt vytvoreny novy proces?

A

po zavedeni programu zo suboru do pamate, alebo pre program ktory uz je v pamati

68
Q

pri volani fork sa skopiruje takmer vsetko okrem___

A

PID

69
Q

ak chceme vykonavat novy proces, tak po fork volame ____

A

exec

70
Q

navratova hodnota fork pre novy proces je

A

0, PID pre rodica

71
Q

Proces sa vie ukoncit prikazom ____

A

exit

72
Q

Rodic na exit caka volanim ____

A

wait

73
Q

Ako sa vytvaraju procesy od botu v unixe?

A

Prvy proces pri starte PID 1 je vytvoreny jadrom, ostatne mechanizmom fork + exec

74
Q

Co robi volanie execve(char *filename, …)?

A

Nahradí obraz volajúceho procesu v pamäti obsahom súboru filename

75
Q

Co obsahuje mapa pamati procesu?

A

Kernel, stack, memory mappings, Heap, BSS segmert, Data segment, Text segment

76
Q

Co je memory mappings?

A

mapovane files, dynamicke kniznice

77
Q

stack rastie smerom

A

dole

78
Q

ako sa docieli aby neprerastol jeden segment na druhy?

A

su tam medzery (gaps)

79
Q

Preco si proces uklada namapovane jadro?

A

Je to efektivnejsie

80
Q

Co je vlakno?

A

Samostatny tok riadenia v ramci procesu

81
Q

Aky je rozdiel medzi vlaknom a procesom?

A

vlakna sa mozu vykonavat subezne v jednom pamatovom priestore - efektivnejsie

82
Q

vlakna vie planovat kto?

A

bud kernel alebo samostatne vlakna sa vedia delit

83
Q

Co nezdielaju vlakna pricesu?

A

lokalne premenne, stack, registre

84
Q

aky je rozdiel volania clone a fork?

A

pri clone sa da zvolit ake prostriedky sa budu kopirovat

85
Q

preco je vytvorenie vlakna efektivnejsie ako vytvorenie procesu?

A

netreba vsetko tahat a kopirovat z PCB

86
Q

ako implementuje Linux vlakna?

A

ako procesy

87
Q

Ake su problemy pri vlaknach?

A

Ktore vlakno obsluzi prerusenie pre proces, moze niektore vlakno zatvorit subor ak ine ho este cita?, co s globalnymi premennymi a pod

88
Q

programy pre prostredie s vlaknami musia byt pisane s ohladom na ______

A

subezne vykonavanie v spolocnej pamati

89
Q

ako v POSIX threads vytvorime vlakno?

A

pthread_create

90
Q

Ako v POSIX threads ukoncime vlakno?

A

pthread_exit

91
Q

Ako v POSIX threads cakame na ukoncenie vlakna?

A

pthread_join

92
Q

Ako volame binarny semafor, teda zamok?

A

mutex, pouzivame pthread_mutex_init, lock, destroy, unlock

93
Q

Okrem zamku co vieme pouzit?

A

podmienene premenne, teda cond