LaTeX/PGF/TikZ

Један начин да цртате графику директно са TeX командама је PGF/TikZ. Ti''k''Z може да продукује графику у PDF и PostScript формату користећи обичан (pdf)TEX, (pdf)Latex или ConTEXt. Долази са веома добром и обимном колекцијом примера:
PGF ("portable graphics format") је основни слој, који пружа сет команди за прављење графике, и Ti''k''Z ("Ti''k''Z ist ''kein'' Zeichenprogramm") је предњи крај слоја са специјалном синтаксом, која омогућава олакшано коришћење PGF-а . Ti''k''Z команде су претежно сличне Metafont командама, опциони механизам је сличан PsTricks синтакси.
Док се претходни систем (picture, epic, pstricks или metapost) фокусирао на то ''како'' да црта, TikZ се фокусира на то ''шта'' се црта. Може се рећи да оно што је TikZ за цртање у LaTeX-у, то је LaTeX за дигитални typesetting. Препоручује се његово коришћење ако га Ваша LaTeX дистрибуција подржава.
други пакети рађени по Ti''k''Z (на пример за цртање електричних кола) могу се пронаћи овде:
У следећеим одељцима неке основе Ti''k''Z су приказане.
1 Учитавање пакета, Библиотеке - tikzpicture окружење
За коришћење Ti''k''Z у LaTeX-у документу неопходно је учитавање tikz пакета:
\usepackage{tikz}
негде у преамбули. Ово ће аутоматски учитати pgf пакет. Да бисте учитали даље коришћење библиотеке
\usetikzlibrary{⟨листа библиотека одвојених зарезима⟩}
Примери библиотека су "arrows", "automata", "backgrounds", "calendar", "chains", "matrix", "mindmap", "patterns", "petri", "shadows", "shapes.geometric", "shapes.misc", "spy", "trees".
Команде цртања морају да буду затворене у оквиру tikzpicture окружења
\begin{tikzpicture}[⟨options⟩]
⟨tikz commands⟩
\end{tikzpicture}
или алтернативно
\tikz[⟨options⟩]{⟨tikz commands⟩}
Једна могућа опција корисна за уређену графику је
baseline=⟨dimension⟩
Без те опције доњи крај слике постављен је на основну линију текста који је окружује. Коришћењем ове опције, можете прецизирати који део слике треба да буде спуштен или подигнут тако да висина ⟨димензија⟩ буде на основној линији.
Још једна опција за скалирање целе слике је
scale=⟨factor⟩
или другачије за висину и ширину, на пример:
xscale=2.5, yscale=0.5
5 Прецизирање координата
Координате се прецизирају у округлим заградама у уобичајеним TEX димензијама користећи Cartesian координате (одвојене заградама), на пример 1cm у x правцу и 2pt у y правцу
(1cm,2pt)
или коришћењем поларних координата (двотачком одвојене), на пример 1cm у 30 степени правцу
(30:1cm)
Без прецизирања мерних јединица (1,2), стандардно су cm (1cm,2cm).
Релативне координате за претходно задату тачку додељуу се тако што се стављају један или два знака плус испред координата. Са "++" последња тачка пута постаје тренутна позиција, са "+" претходна тачка остаје тренутна тачка пута. Пример: 2 стандардне мере десно од последње коришћене тачке:
++(2,0)
6 Синтакса за путеве
Пут је низ правих и кривих линија (упрошћено објашњење). Инструкција мора да се заврши са тачкомзарез.
\path[<options>]⟨specification⟩;
Једна инструкција може да се протеже кроз више линија, или се више инструкција може провући кроз једну линију.
Опције за акције пута су на пример: "draw", "fill", "pattern", "shade" (фил, у ком се боја лагано мења од једне до друге), "clip" (сви следећи нацрти све до краја of тренутног поља подсечени противно тренутном путу и величина следећих путева неће бити важна за величину слике), "use as bounding box".
"\path" команда са овим опцијама може се повезати са: "\draw", "\fill", "\filldraw", "\pattern", "\shade", "\shadedraw", "\clip", "\useasboundingbox" .
Геометријска опција пута: "rotate=<angle in degree>", "xshift=<length>", "yshift=<length>", "scaling=<factor>", "xscale=<factor>", "yscale=<factor>".
Опција за бојење пута: "color=<color name>", "draw=<line color>", "opacity=<factor>". Following colors are predefined: red, green, blue, cyan , magenta, yellow, black, gray, darkgray, lightgray, brown, lime, olive, orange, pink, purple, teal, violet and white.
Опција за дебљину линије: "line width=<dimension>", and abbreviations "ultra thin" for 0.1pt, "very thin" for 0.2pt, "thin" for 0.4pt (the default width), "semithick" for 0.6pt, "thick" for 0.8pt, "very thick" for 1.2pt, "ultra thick" for 1.6pt.
Опција за крај линије и опција за спајање линија: "line cap=<type: round, rect, or butt>", "arrows=<start arrow kind>-<end arrow kind>", "rounded corners", "rounded corners=<size>", "line join=<type: round, bevel, or miter>".
Опција за шаблон линије: "dash pattern=<dash pattern>" (e.g. "dash pattern=on 2pt off 3pt on 4pt off 4pt"), "dash phase=⟨dash phase⟩", "solid", "dashed", "dotted", "dashdotted", "densely dotted", "loosely dotted", "double".
Опције за фил пута су на пример. "fill=<fill color>", "pattern=<name>", "pattern color=<color>"
Праве линије се додељују са координатама одвојеним са два минуса,
Прва координата представља move-to операцију . Која је испраћена низом “path extension операција”, као "-- (coordinates)".
Исти пут са нешто опција за цртање:
Повезани пут може се затворити са "--cycle" операцијом:
Даља move-to операција у постојећем путу започиње нови део пута, који није повезан са претходним делом пута. Обде: Помери до (0,0) праву линију до (2,0), помери до (0,1) праву линију до (2,1):
Повезивање две тачке са две праве линије које су само хоризонталне или вертикалне, коришћење за хоризонталну па за вертикалну
\draw (0,0) -| (1,1);
или прво за вертикалну па за хоризонталну
\draw (0,0)
7 Чворови
Чвор је обично правоугаоник или кружић или неки други једноставни облик који има текст на себи. у најпростијем случају чвор је само неки текст који се налажи на некој координати.
Чворови нису део самог пута, додају се слици након што је она нацртана
Унутар операције пута користите следећу синтаксу после унетих координата:
node[<options>](<name>){<text>}
"(<name>)" је име за касније референцирање и оно је опционо.
Ако желите да назовете одређену позицију без уношења текста постоје две опције:
node[<options>](<name>){}
coordinate[<options>](<name>)
Писање текста дуж унетог пута коришћењем node команде приказано је у једноставном примеру испод :
\draw[dotted]
(0,0) node {1st node}
-- (1,1) node {2nd node}
-- (0,2) node {3rd node}
-- cycle;
могуће опције за node комадну су "inner sep=<dimension>", "outer sep=<dimension>", "minimum size=<dimension>", "shape aspect=<aspect ratio>", "text=<color>", "font=", "align=<left_right_center>".
Чвор је центриран у тренутној координати у основном случају. Често је боље да чвор буде изван самих координата: Десно ("right" или "anchor=west"), лево ("left" или "anchor=east"), изнад ("above" или "anchor=south"), испод ("below" или "anchor=north"). Комбинације су такође могуће, као "anchor=north east" или "below left".
\fill[fill=yellow]
(0,0) node {1st node}
-- (1,1) node[circle,inner sep=0pt,draw] {2nd node}
-- (0,2) node[fill=red!20,draw,double,rounded corners] {3rd node};
Да ставите чворове унутар линије или криве користите "pos=<fraction>" опцију, где је разломак floating point број између 0 која представља претходну координату и 1 која представља тренутну координату.
\draw (0,0) -- (3,1)
node[pos=0]{0} node[pos=0.5]{1/2} node[pos=0.9]{9/10};
Постоје неке обзервације: "at start" за "pos=0", "very near start" за "pos=0.125", "near start" за "pos=0.25", "midway" за "pos=0.5", "near end" за "pos=0.75", "very near end" за "pos=0.875", "at end" за "pos=1".
"sloped" опција узрокује ротацију чвора и он постаје тангента криве.
Како су чворови једине операције напутевима, постоје специјалне команде за креирање
путева који садрже само чворове, први са излазним тесктом, други без:
\node[<options>](<name>) at (<coordinate>){<text>};
\coordinate[<options>](<name>) at (<coordinate>);
Можете спајати чворове преко њихових координата и ознака. Имајући "\path(0,0) node(x) {} (3,1) node(y) {};" дефиницане, чвор на (0,0) има име "(x)" и овај на (3,1) има ознаку "(y)".
\path (0,0) node(x) {}
(3,1) node(y) {};
\draw (x) -- (y);
Еквивалентно са
\coordinate (x) at (0,0);
\coordinate (y) at (3,1);
\draw (x) -- (y);
Вишелинијски текст може бити укључен унутур чвора. Нови ред се унуси са две косе црте "\\", али додатно морате нагласити поравнања користећи опцију чвора "align=". Ево примера:
\filldraw
(0,0) circle (2pt) node[align=left, below] {test 1\\is aligned left} --
(4,0) circle (2pt) node[align=center, below] {test 2\\is centered} --
(8,0) circle (2pt) node[align=right, below] {test 3\\is right aligned};
Операције за креирање путева покучавају да буду паметне, тако што пут почиње на граници облика чвора, а не од његовог центра.
\path (0,0) node(x) {Hello World!}
(3,1) node[circle,draw](y) {$\int_1^2 x \mathrm d x$};
\draw[->,blue] (x) -- (y);
\draw[->,red] (x) -| node[near start,below] {label} (y);
\draw[->,orange] (x) .. controls +(up:1cm) and +(left:1cm) .. node[above,sloped] {label} (y);
Када је чвор x дефинисан, можете користити уточишта као што је горе дефинисано релативна у односу на (x) као "(x.<anchor>)", као "(x.north)".
8 Примери
Пример 1
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[thick,rounded corners=8pt] (0,0) -- (0,2) -- (1,3.25)
-- (2,2) -- (2,0) -- (0,2) -- (2,2) -- (0,0) -- (2,0);
\end{tikzpicture}
\end{document}
Пример 2
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
\draw[step=.5cm, gray, very thin] (-1.2,-1.2) grid (1.2,1.2);
\filldraw[fill=green!20,draw=green!50!black] (0,0) -- (3mm,0mm) arc (0:30:3mm) -- cycle;
\draw[->] (-1.25,0) -- (1.25,0) coordinate (x axis);
\draw[->] (0,-1.25) -- (0,1.25) coordinate (y axis);
\draw (0,0) circle (1cm);
\draw[very thick,red] (30:1cm) -- node[left,fill=white] {$\sin \alpha$} (30:1cm
Један начин да цртате графику директно са TeX командама је PGF/TikZ. Ti''k''Z може да продукује графику у PDF и PostScript формату користећи обичан (pdf)TEX, (pdf)Latex или ConTEXt. Долази са веома добром и обимном колекцијом примера:
PGF ("portable graphics format") је основни слој, који пружа сет команди за прављење графике, и Ti''k''Z ("Ti''k''Z ist ''kein'' Zeichenprogramm") је предњи крај слоја са специјалном синтаксом, која омогућава олакшано коришћење PGF-а . Ti''k''Z команде су претежно сличне Metafont командама, опциони механизам је сличан PsTricks синтакси.
Док се претходни систем (picture, epic, pstricks или metapost) фокусирао на то ''како'' да црта, TikZ се фокусира на то ''шта'' се црта. Може се рећи да оно што је TikZ за цртање у LaTeX-у, то је LaTeX за дигитални typesetting. Препоручује се његово коришћење ако га Ваша LaTeX дистрибуција подржава.
други пакети рађени по Ti''k''Z (на пример за цртање електричних кола) могу се пронаћи овде:
У следећеим одељцима неке основе Ti''k''Z су приказане.
1 Учитавање пакета, Библиотеке - tikzpicture окружење
За коришћење Ti''k''Z у LaTeX-у документу неопходно је учитавање tikz пакета:
\usepackage{tikz}
негде у преамбули. Ово ће аутоматски учитати pgf пакет. Да бисте учитали даље коришћење библиотеке
\usetikzlibrary{⟨листа библиотека одвојених зарезима⟩}
Примери библиотека су "arrows", "automata", "backgrounds", "calendar", "chains", "matrix", "mindmap", "patterns", "petri", "shadows", "shapes.geometric", "shapes.misc", "spy", "trees".
Команде цртања морају да буду затворене у оквиру tikzpicture окружења
\begin{tikzpicture}[⟨options⟩]
⟨tikz commands⟩
\end{tikzpicture}
или алтернативно
\tikz[⟨options⟩]{⟨tikz commands⟩}
Једна могућа опција корисна за уређену графику је
baseline=⟨dimension⟩
Без те опције доњи крај слике постављен је на основну линију текста који је окружује. Коришћењем ове опције, можете прецизирати који део слике треба да буде спуштен или подигнут тако да висина ⟨димензија⟩ буде на основној линији.
Још једна опција за скалирање целе слике је
scale=⟨factor⟩
или другачије за висину и ширину, на пример:
xscale=2.5, yscale=0.5
5 Прецизирање координата
Координате се прецизирају у округлим заградама у уобичајеним TEX димензијама користећи Cartesian координате (одвојене заградама), на пример 1cm у x правцу и 2pt у y правцу
(1cm,2pt)
или коришћењем поларних координата (двотачком одвојене), на пример 1cm у 30 степени правцу
(30:1cm)
Без прецизирања мерних јединица (1,2), стандардно су cm (1cm,2cm).
Релативне координате за претходно задату тачку додељуу се тако што се стављају један или два знака плус испред координата. Са "++" последња тачка пута постаје тренутна позиција, са "+" претходна тачка остаје тренутна тачка пута. Пример: 2 стандардне мере десно од последње коришћене тачке:
++(2,0)
6 Синтакса за путеве
Пут је низ правих и кривих линија (упрошћено објашњење). Инструкција мора да се заврши са тачкомзарез.
\path[<options>]⟨specification⟩;
Једна инструкција може да се протеже кроз више линија, или се више инструкција може провући кроз једну линију.
Опције за акције пута су на пример: "draw", "fill", "pattern", "shade" (фил, у ком се боја лагано мења од једне до друге), "clip" (сви следећи нацрти све до краја of тренутног поља подсечени противно тренутном путу и величина следећих путева неће бити важна за величину слике), "use as bounding box".
"\path" команда са овим опцијама може се повезати са: "\draw", "\fill", "\filldraw", "\pattern", "\shade", "\shadedraw", "\clip", "\useasboundingbox" .
Геометријска опција пута: "rotate=<angle in degree>", "xshift=<length>", "yshift=<length>", "scaling=<factor>", "xscale=<factor>", "yscale=<factor>".
Опција за бојење пута: "color=<color name>", "draw=<line color>", "opacity=<factor>". Following colors are predefined: red, green, blue, cyan , magenta, yellow, black, gray, darkgray, lightgray, brown, lime, olive, orange, pink, purple, teal, violet and white.
Опција за дебљину линије: "line width=<dimension>", and abbreviations "ultra thin" for 0.1pt, "very thin" for 0.2pt, "thin" for 0.4pt (the default width), "semithick" for 0.6pt, "thick" for 0.8pt, "very thick" for 1.2pt, "ultra thick" for 1.6pt.
Опција за крај линије и опција за спајање линија: "line cap=<type: round, rect, or butt>", "arrows=<start arrow kind>-<end arrow kind>", "rounded corners", "rounded corners=<size>", "line join=<type: round, bevel, or miter>".
Опција за шаблон линије: "dash pattern=<dash pattern>" (e.g. "dash pattern=on 2pt off 3pt on 4pt off 4pt"), "dash phase=⟨dash phase⟩", "solid", "dashed", "dotted", "dashdotted", "densely dotted", "loosely dotted", "double".
Опције за фил пута су на пример. "fill=<fill color>", "pattern=<name>", "pattern color=<color>"
Праве линије се додељују са координатама одвојеним са два минуса,
Прва координата представља move-to операцију . Која је испраћена низом “path extension операција”, као "-- (coordinates)".
Исти пут са нешто опција за цртање:
Повезани пут може се затворити са "--cycle" операцијом:
Даља move-to операција у постојећем путу започиње нови део пута, који није повезан са претходним делом пута. Обде: Помери до (0,0) праву линију до (2,0), помери до (0,1) праву линију до (2,1):
Повезивање две тачке са две праве линије које су само хоризонталне или вертикалне, коришћење за хоризонталну па за вертикалну
\draw (0,0) -| (1,1);
или прво за вертикалну па за хоризонталну
\draw (0,0) |- (1,1);
Закривљени путеви могу да се праве помоћу Безијерових кривих, које се могу направити помоћу "..controls() ..()" команде, са једном или две контролне тачке.
Путеве које корисник дефинише могу се направити помоћу "to" операције. Без опције кореспондира са правом линијом, баш као команда са дуплим минусом. коришћењем "out" и "in" опције закривљени пут се може направити. На пример "[out=135,in=45]" узрукује да се пут напусти под углом од 135 степени на првој координати и да стигне под углом од 45 стептни у следећој координати.
За правоугаонике постоји специјална команда. Користите move-to операцију за један ћошак а после "rectangle" унесите координате за ћошак дијагонале. Последња постаје нова тренутна тачка.
За боју фила "green!20!white" ово значи 20% зелено и 80% бело помешано.
Кружни и елиптични путеви се дефинишу почевши од њихових центара а потом коришћењем "circle command" или са једном дужином за полупречник кружнице или са две дужине као полу-оса елипсе.
Команда "arc" прави део кружнице или елипсе:
Или у алтернативној синтакси:
\draw (0,0) arc[radius = 8mm, start angle= 0, end angle= 270];
\draw (0,0) arc[x radius = 1.75cm, y radius = 1cm, start angle= 0, end angle= 315];
Постоје доста предефинисаних команди за специјалне путеве, као "grid", "parabola", "sin", "cos" (синусна и коцинусна крива у интервалу [0,π/2]).
Опција "help lines" означава "fine gray".
Да додате стрличасте врхове постоје једноставне опције:
Петља се може реализовати са "\foreach ⟨variable⟩ in {⟨list of values⟩} ⟨commands⟩".
PGF има и математичке системе који омогућавају цртање графика функција:
\draw [domain=<xmin>:<xmax>] plot (\x, {function});
многе функције су могуће, ово је селекција: factorial(\x), sqrt(\x), pow(\x,y), exp(\x), ln(\x), log10(\x), log2(\x), abs(\x), mod(\x,y), round(\x), floor(\x), ceil(\x), sin(\x), cos(\x), tan(x), min(\x,y,), max(\x,y). Тригонометријске функције претпостављају да је x координата у степенима; ако је x у радијанима на пример sin(\x r). Две константе ногу бити од користи: e, које је јендако 2.718281828, и pi, које је једнако 3.141592654.
Пример са две функције:
7 Чворови
Чвор је обично правоугаоник или кружић или неки други једноставни облик који има текст на себи. у најпростијем случају чвор је само неки текст који се налажи на некој координати.
Чворови нису део самог пута, додају се слици након што је она нацртана
Унутар операције пута користите следећу синтаксу после унетих координата:
node[<options>](<name>){<text>}
"(<name>)" је име за касније референцирање и оно је опционо.
Ако желите да назовете одређену позицију без уношења текста постоје две опције:
node[<options>](<name>){}
coordinate[<options>](<name>)
Писање текста дуж унетог пута коришћењем node команде приказано је у једноставном примеру испод :
\draw[dotted]
(0,0) node {1st node}
-- (1,1) node {2nd node}
-- (0,2) node {3rd node}
-- cycle;
могуће опције за node комадну су "inner sep=<dimension>", "outer sep=<dimension>", "minimum size=<dimension>", "shape aspect=<aspect ratio>", "text=<color>", "font=", "align=<left_right_center>".
Чвор је центриран у тренутној координати у основном случају. Често је боље да чвор буде изван самих координата: Десно ("right" или "anchor=west"), лево ("left" или "anchor=east"), изнад ("above" или "anchor=south"), испод ("below" или "anchor=north"). Комбинације су такође могуће, као "anchor=north east" или "below left".
\fill[fill=yellow]
(0,0) node {1st node}
-- (1,1) node[circle,inner sep=0pt,draw] {2nd node}
-- (0,2) node[fill=red!20,draw,double,rounded corners] {3rd node};
Да ставите чворове унутар линије или криве користите "pos=<fraction>" опцију, где је разломак floating point број између 0 која представља претходну координату и 1 која представља тренутну координату.
\draw (0,0) -- (3,1)
node[pos=0]{0} node[pos=0.5]{1/2} node[pos=0.9]{9/10};
Постоје неке обзервације: "at start" за "pos=0", "very near start" за "pos=0.125", "near start" за "pos=0.25", "midway" за "pos=0.5", "near end" за "pos=0.75", "very near end" за "pos=0.875", "at end" за "pos=1".
"sloped" опција узрокује ротацију чвора и он постаје тангента криве.
Како су чворови једине операције напутевима, постоје специјалне команде за креирање
путева који садрже само чворове, први са излазним тесктом, други без:
\node[<options>](<name>) at (<coordinate>){<text>};
\coordinate[<options>](<name>) at (<coordinate>);
Можете спајати чворове преко њихових координата и ознака. Имајући "\path(0,0) node(x) {} (3,1) node(y) {};" дефиницане, чвор на (0,0) има име "(x)" и овај на (3,1) има ознаку "(y)".
\path (0,0) node(x) {}
(3,1) node(y) {};
\draw (x) -- (y);
Еквивалентно са
\coordinate (x) at (0,0);
\coordinate (y) at (3,1);
\draw (x) -- (y);
Вишелинијски текст може бити укључен унутур чвора. Нови ред се унуси са две косе црте "\\", али додатно морате нагласити поравнања користећи опцију чвора "align=". Ево примера:
\filldraw
(0,0) circle (2pt) node[align=left, below] {test 1\\is aligned left} --
(4,0) circle (2pt) node[align=center, below] {test 2\\is centered} --
(8,0) circle (2pt) node[align=right, below] {test 3\\is right aligned};
Операције за креирање путева покучавају да буду паметне, тако што пут почиње на граници облика чвора, а не од његовог центра.
\path (0,0) node(x) {Hello World!}
(3,1) node[circle,draw](y) {$\int_1^2 x \mathrm d x$};
\draw[->,blue] (x) -- (y);
\draw[->,red] (x) -| node[near start,below] {label} (y);
\draw[->,orange] (x) .. controls +(up:1cm) and +(left:1cm) .. node[above,sloped] {label} (y);
Када је чвор x дефинисан, можете користити уточишта као што је горе дефинисано релативна у односу на (x) као "(x.<anchor>)", као "(x.north)".
8 Примери
Пример 1
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[thick,rounded corners=8pt] (0,0) -- (0,2) -- (1,3.25)
-- (2,2) -- (2,0) -- (0,2) -- (2,2) -- (0,0) -- (2,0);
\end{tikzpicture}
\end{document}
Пример 2
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
\draw[step=.5cm, gray, very thin] (-1.2,-1.2) grid (1.2,1.2);
\filldraw[fill=green!20,draw=green!50!black] (0,0) -- (3mm,0mm) arc (0:30:3mm) -- cycle;
\draw[->] (-1.25,0) -- (1.25,0) coordinate (x axis);
\draw[->] (0,-1.25) -- (0,1.25) coordinate (y axis);
\draw (0,0) circle (1cm);
\draw[very thick,red] (30:1cm) -- node[left,fill=white] {$\sin \alpha$} (30:1cm |- x axis);
\draw[very thick,blue] (30:1cm |- x axis) -- node[below=2pt,fill=white] {$\cos \alpha$} (0,0);
\draw (0,0) -- (30:1cm);
\foreach \x/\xtext in {-1, -0.5/-\frac{1}{2}, 1}
\draw (\x cm,1pt) -- (\x cm,-1pt) node[anchor=north,fill=white] {$\xtext$};
\foreach \y/\ytext in {-1, -0.5/-\frac{1}{2}, 0.5/\frac{1}{2}, 1}
\draw (1pt,\y cm) -- (-1pt,\y cm) node[anchor=east,fill=white] {$\ytext$};
\end{tikzpicture}
\end{document}
Пример 3: Торус
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (-1,0) to[bend left] (1,0);
\draw (-1.2,.1) to[bend right] (1.2,.1);
\draw[rotate=0] (0,0) ellipse (100pt and 50pt);
\end{tikzpicture}
\end{document}
Пример 4: Неке функције
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[domain=0:4]
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=red] plot (\x,\x) node[right] {$f(x) =x$};
\draw[color=blue] plot (\x,{sin(\x r)}) node[right] {$f(x) = \sin x$};
\draw[color=orange] plot (\x,{0.05*exp(\x)}) node[right] {$f(x) = \frac{1}{20} \mathrm e^x$};
\end{tikzpicture}
\end{document}
en:LaTeX/Introducing Procedural Graphics


Викишколарац:Европа/Јерменија

Јерменија је мала земља смештена у западној Азији. Међутим, поседује културне и политичке везе са Европом. Земље са којима се граничи су Турска, Грузија, Азербејџан и Иран. Главни град Јерменије је Јереван. Остали градови у Јерменији су Гимри и Ванаџор. Валута у Јерменији је Драм.
1 Историја
Јерменија је једна од најстаријих цивилизација на  свету. Јерменија је вековима била у сукобима са много цивилизација укључујући и Русију, Персију и Романско царство. Стичући и губећи своју независност током векова, 21.9.1991. Јерменија је коначно тражила независност од Совјетског савеза. Иако није признато глобално, најшколованији људи и академици сложили су се да је Јерменија преживела једно од најстрашнијих зверстава 20.века, када је 1,6 милиона Јермена убијено у геноциду од стране Турског царства.
2 Географија
Укупна површина Јерменије је 29.800 км2., а број становника је 3.100.236. Јерменија има много планинских језера. Највеће језеро је Севан које се налази у североисточном делу земље. Језеро Севан је популарна туристичка регија. Река Аракс је највећа и најдужа река у Јерменији. Она извире у планинама у Турској и тече дуж јерменске границе са Ираном и Турском. Клима у Јерменији је углавном сува са дугачким и топлим летима и просечним зимама. У Јерменији већина времена је сунчана што изазива суву климу, али они имају и јаке кише. Јаке кише се јављају најчешће током јесени или зиме.
3 Становништво
Више од пола Јерменског  становништва живи у градовима. Већина становника живи близу речних токова. Главне националности су Јермени, Руси и Курди. Близу 98% становника Јерменије говори јерменски језик, остали језици који се говоре у земљи укључују руски, енглески i јазиди. Јермени су прешли на хришћанство у 4.веку. Хришћанство је и данас најчешћа религија. Такође постоје руски православни хришћани, протестанти и муслимани. Много Јермена зна да чита и пише. Док је Јерменија била под контролом Совјетског савеза влада у Москви је контролисала образовни систем. Они су веровали у бесплатно и универзално образовање. Данас је основно и средње образовање обавезно, доступно и бесплатно. Највећи универзитет у земљи је Државни универзитет Јереван основан 1919 у Јеревану.
4 Знаменитости
У последњих 5 година туризам је постао много важнији за Јерменску економију. Језеро Севан је једно од места које би требало видети док сте у Јерменији. То је највеће језеро у земљи што га чини веома популарном туристичком атракцијом. Можете такође посетити манастире и цркве или неке од веома старих двораца. Јерменија има 4 знаменитости које су под заштитом УНЕСКО-А.


Викишколарац:Европа

1 О пројекту
Пројекат Викијуниор књиге у настави шестог разреда се реализује у сарадњи ОШ Јован Стерија Поповић и Викимедије Србије. Пројекат подразумева писање текстова о европским земљама и увођење новог начина писања текстова који је близак деци и прилагођен њиховом узрасту.
2 Фотографије неких земаља
3 Списак земаља
Северна Европа, Западна Европа, Средња Европа, Југо-источна Европа, Источна Европа
* Означава земље које су делимично или потпуно у Азији, али које се често сматрају делом Европе из социјално-политичких разлога ¹ означава земље чланице Европске Уније ² Означава земље које су иступиле из чланства у Европској Унији ○ Означава земље кандидате за чланство у Европској Унији <sup>†</sup> Означава земље које су делимично смештене ван Европе, искључујући Азију
4 Квиз
Тестирајте своје знање о Европи у квизу знања.
5 Карта Европе


Викишколарац:Европа/Немачка

Немачка се састоји 16 конститутивних држава и углавном има умерену сезонску климу. Има око 82 милиона становника. Немачка је друга најпопуларнија имиграциона дестинација на свету поред Сједињених Америчких Држава. Већи градови немачке су: Лајпциг, Дрезден, Минхен. Келн, Хамбург, Хановер, Штутгарт... Главни град Немачке је Берлин. Химна Немачке зове се Песма Немаца. Службени језик је немачки.
1 Историја
Свето римаско царство трајало је од  2. фебруара 962. После Свето римског царства долази Немачко царство које је трајало од 18. јануара 1871. Послре овог периода наилази Федерална република која је трајала од 23. маја 1949. На крају долази Уједињена Немачка која је трајала од 3. октобра 1990. Свето римаско царство основао је 962. Источнофраначки краљ Отон I. Царством је владао цар тј. На челу царства био је цар. Царска титула се није наслеђивала, доделјивала се на основу избора кнежева изборника. Укинуто је 1806, а последњи цар био је Франц II. Религије које су биле заступане у овом добу су: католизам (то је била царска религија), протестантизам и калвинизам (религија неких кнежевина). Службени језик био је латински, немачки, италијански, чешки, мађарски и пољски. Први цар Немацког царства био је Вилхелм I који је проглашен за цара 18. јануара 1871, и владао је до 9. новембра 1918. Службено име државе било је Немачки рајх. То име се коридтило до 1943, иако немачка није била царство.
2 Географија
Немачка је држава средње Европе, простире се од Алпа, преко централноевропске низије и све до Северног и Белтичког мора. На другом је месту по броју становника у европи (на првом месту је Русија), а на седмом месту је по површини. Немачка се граничи са девет држава: Аустијом и Швајцарском на југу, Данском на северу, Пољском и Ческом на истоку, Белгијом, Француском, Холандијом и Луксембургом на западу. Немачка територија заузима простор од 357,021 km квадратна. Нејвећи врх немачке је Цугшпице, чија је надморска висина 2.962 m. Највиши је врх Ветерштајнгебиргеа. Налази се јужно од града Гармиш- Партенкирхена.
3 Становништво
Према добијеним подацима од 31. Децембра 2015. у Немачкој живи 82.175.700 становника. Намачка је шеснаеста најнаселјенија землја на свету. Укупна стопа наталитета у истој години је била 1,5 (максимална вердност од 1982. Године). Више од шеснаест милиона људи су имигрирали прве и друге генедације. 96,1% тух лјуди живи у Берлину (ѕападна Немачка). Око 7.000.000 њих су људи из страних земаља зато што немају немачко држављанство. Највећа етничка група лјуди који нису немачког порекла су Турци. Од 1960. године Западна Немачка (касније уједињена Немачка) привлачи имигранте, углавном из Турске, Јужне и Источне Европе, од којих је веци број њих стекао немачко државлјанство. Већина имиграната долазила је као привремена радна снага.
4 Знаменитости
Бон је град у Немачкој. Налази се на Рајни. Надморска висина Бона је 60m. Историја града дуга је 2.000 година и један је од најстаријих градова у Немачкој. Бон је био главни град Западне Немачке од 1949. До 1990. У овом граду рођен је 1770. Лудвиг ван Бетовен.


Викишколарац:Европа/Француска

Француска је трећа по величини држава у Европи (после Русије и Украјине). Француска се налази у западној Европи и граничи са Андором, Шпанијом, Монаком, Италијом, Швајцарском, Немачком, Луксембургом и Белгијом. Са Уједињеним Краљевством је повезан тунелом под Ла Маншом. Неки делови Француске се налазе у иностранству (углавном острва на Карибима и Пацифику). Због Француске Гвајане, француског прекоморског департмана, Француска се такође граничи са Бразилом и Суринамом у Јужној Америци; а због Светог Мартина, острва на Карибима, оно се такође граничи са Холандијом, пошто је половина острва у свакој од ових земаља (острво се на холандском зове Сент Мартен). Главни град Француске је Париз. Остали велики градови су Лион и Марсеј. Француска користи евро као своју валуту заједно са другим земљама у Европи. Француска је чланица Европске уније и била је члан оснивач организације.
1 Историја
Током римског доба, Француска је била позната као Галија, где су тамо живели Гали. Гали су били највеће келтско племе у Галији и то подручје је освојио Јулије Цезар. Касније је Француска стекла независност. До 1789. Француска је била монархија, али је француски народ постао незадовољан оваквом владом и збацио је Луја Шеснаестог у Француској револуцији. Убрзо након што је Наполеон завладао Француском и започео масовну војну кампању широм Европе. Наполеон је на крају поражен од Британаца код Ватерлоа (Аустерлиц) и уклоњен са власти. Француска се борила у оба светска рата заједно са Британцима. Од Другог светског рата Француска је имала пријатељске односе са већином других европских земаља и била је једна од оснивача Европске уније поред Немачке, Белгије, Холандије, Луксембурга и Италије.
2 Географија
Док се метрополитанска Француска (главни део земље) налази у западној Европи, Француска такође има бројне територије у Северној Америци, Карибима, Јужној Америци, јужном Индијском океану, Тихом океану и Антарктику. Неке од ових области су у потпуности део Француске, док друге имају типове самоуправе.
3 Становништво
Са преко 67 милиона људи, Француска је 21. земља по броју становника на свету, друга у ЕУ и трећа по броју становника у Европи (иза Русије и Немачке). Највећи градови Француске су Париз, Марсеј, Лион, Лил, Тулуз, Ница и Нант. Многи људи доживе 80 година и скоро сви старији од 15 знају да читају. Просечна породица има 2 деце. Већина људи говори француски. Постоје и други матерњи језик који говоре мале групе људи у Француској, укључујући бретонски и баскијски. Француски образовни систем је високо развијен. Већина основних и средњих школа су јавне, мада има и приватних. Школа у Француској је обавезна са 6 година, али многа деца крећу у школу у раном узрасту. Деца од 3 године иду у вртиће, а деца млађа од три године иду у оно што се зове пре-матернелле часове, што је као обданиште. Већина Француза су римокатолици.Француска има највећу јеврејску популацију у Европи и највећи број муслимана у западној Европи.
4 Знаменитости
Са 83 милиона страних туриста у 2012. години, Француска је најпопуларнија туристичка дестинација на свету, испред Шпаније и Сједињених Држава. Француска има градове од високог културног интереса као што су Париз, плаже и приморска одмаралишта, скијалишта и рурална подручја у којима многи уживају због Француска привлачи много религиозних ходочасника у Лурд, град у департману Горњи Пиренеји, који угости неколико милиона туриста годишње. Популарне туристичке локације укључују: Ајфелов торањ, Музеј Лувр, Версајску палату, Мусее д'Орсаи, Тријумфални лук, Саинте-Цхапелле, Цхатеау ду Хаут-Кœнигсбоург.
Француска
Увод: Француска је трећа по величини држава у Европи (после Русије и Украјине). Француска се налази у западној Европи и граничи са Андором, Шпанијом, Монаком, Италијом, Швајцарском, Немачком, Луксембургом и Белгијом. Са Уједињеним Краљевством је повезан тунелом под Ла Маншом. Неки делови Француске се налазе у иностранству (углавном острва на Карибима и Пацифику). Због Француске Гвајане, француског прекоморског департмана, Француска се такође граничи са Бразилом и Суринамом у Јужној Америци; а због Светог Мартина, острва на Карибима, оно се такође граничи са Холандијом, пошто је половина острва у свакој од ових земаља (острво се на холандском зове Сент Мартен). Главни град Француске је Париз. Остали велики градови су Лион и Марсеј. Француска користи евро као своју валуту заједно са другим земљама у Европи. Француска је чланица Европске уније и била је члан оснивач организације.
Историја: Током римског доба, Француска је била позната као Галија, где су тамо живели Гали. Гали су били највеће келтско племе у Галији и то подручје је освојио Јулије Цезар. Касније је Француска стекла независност. До 1789. Француска је била монархија, али је француски народ постао незадовољан оваквом владом и збацио је Луја Шеснаестог у Француској револуцији. Убрзо након што је Наполеон завладао Француском и започео масовну војну кампању широм Европе. Наполеон је на крају поражен од Британаца код Ватерлоа (Аустерлиц) и уклоњен са власти. Француска се борила у оба светска рата заједно са Британцима. Од Другог светског рата Француска је имала пријатељске односе са већином других европских земаља и била је једна од оснивача Европске уније поред Немачке, Белгије, Холандије, Луксембурга и Италије.
Географија: Док се метрополитанска Француска (главни део земље) налази у западној Европи, Француска такође има бројне територије у Северној Америци, Карибима, Јужној Америци, јужном Индијском океану, Тихом океану и Антарктику. Неке од ових области су у потпуности део Француске, док друге имају типове самоуправе.
Становништво: Са преко 67 милиона људи, Француска је 21. земља по броју становника на свету, друга у ЕУ и трећа по броју становника у Европи (иза Русије и Немачке). Највећи градови Француске су Париз, Марсеј, Лион, Лил, Тулуз, Ница и Нант. Многи људи доживе 80 година и скоро сви старији од 15 знају да читају. Просечна породица има 2 деце. Већина људи говори француски. Постоје и други матерњи језик који говоре мале групе људи у Француској, укључујући бретонски и баскијски. Француски образовни систем је високо развијен. Већина основних и средњих школа су јавне, мада има и приватних. Школа у Француској је обавезна са 6 година, али многа деца крећу у школу у раном узрасту. Деца од 3 године иду у вртиће, а деца млађа од три године иду у оно што се зове пре-матернелле часове, што је као обданиште. Већина Француза су римокатолици.Француска има највећу јеврејску популацију у Европи и највећи број муслимана у западној Европи.
Знаменитости: Са 83 милиона страних туриста у 2012. години, Француска је најпопуларнија туристичка дестинација на свету, испред Шпаније и Сједињених Држава. Француска има градове од високог културног интереса као што су Париз, плаже и приморска одмаралишта, скијалишта и рурална подручја у којима многи уживају због
Француска привлачи много религиозних ходочасника у Лурд, град у департману Горњи Пиренеји, који угости неколико милиона туриста годишње. Популарне туристичке локације укључују: Ајфелов торањ, Музеј Лувр, Версајску палату, Мусее д'Орсаи, Тријумфални лук, Саинте-Цхапелле, Цхатеау ду Хаут-Кœнигсбоург.


Друштвена географија

Skanadinavija
To je jedan region u severnoj Evropi koji obuhvata sledece zemlje
Svedska
Norveska
Danska
Island
Finska
Osnovne katrakteriske ovih predela su razvijena ekonomija i hladne zime koje dovodove do velikih mrazova.
Takodje predjace u pobosljanju vazduha i manjeg zagadnjenja okoline.
A sa time dolazi i razvijeni turizam i ugostiteljstvio.


Језик Python

Python je visokonivo, programski jezik opšte namene. Njegova dizajnerska filozofija naglašava čitljivost koda korišćenjem značajnog uvlačenja.
Python je dinamički tipiziran i ima sistem automatskog prikupljanja smeća. Podržava više programskih paradigmi, uključujući struktuirano (posebno proceduralno), objektno orijentisano i funkcionalno programiranje. Često se opisuje kao jezik "sa sve baterije" zbog svog obimnog standardnog skupa biblioteka.
počeo je raditi na Pythonu krajem 1980-ih kao naslednik programskog jezika ABC i prvi put ga objavio 1991. godine kao Python 0.9.0. Python 2.0 je objavljen 2000. godine. Python 3.0, objavljen 2008. godine, bio je značajna revizija koja nije bila potpuno kompatibilna unazad sa ranijim verzijama. Python 2.7.18, objavljen 2020. godine, bio je poslednje izdanje Pythona 2.
Python se redovno rangira kao jedan od najpopularnijih programskih jezika i stekao je široku upotrebu u zajednici mašinskog učenja.


Српско-турски ратови (1876-1878)

* Борци с територије Општине Лучани пали у Српско-турским ратовима (1876-1878)
* Борци с територије Општине Ариље пали у Српско-турским ратовима (1876-1878)
* Борци с територије Општине Ивањица пали у Српско-турским ратовима (1876-1878)
* Борци с територије Општине Горњи Милановац пали у Српско-турским ратовима (1876-1878)


Викигимназијалац:Оперативни системи/Решења заснована на активном чекању

Решења заснована на активном чекању подразумевају да процеси чекају у петљи док се не створе услови за његов улазак у критичну секцију.
1 Стриктна алтернација
Стриктна алтернација је једно од решења за заштиту критичне секције.Заснива се на коришћењу променљиве (на_реду) којом се одређује који од два процеса има предност. На почетку, предност се даје првом процесу, односно на_реду = 1.
2 Декеров алгоритам
Декеров алгоритам представља прво комплетно решење за узајамно искључивање у случају када два процеса конкуришу за дељене податке.
3 Питерсонов алгоритам
Питерсонов алгоритам је представљен 1981. године.Основна идеја овог алторитма је да када процес најави да жели да уђе у критичну секцију, уступи другом процесу предност.Ова предност важи само ако други процес жели да уђе у критичну секцију.Једина мана овог алгоритма је да је применљив само за два процеса.
4 Лампортов (пекарски) алгоритам
Уопштење Питерсоновог алгоритма за н процеса представља Лампортов алгоритам.
Пошто се не може гарантовати да два процеса неће добити исти број, јер је и додела бројева критична секција, у случају да се то догоди процес са мањим индексом се опслужује први.
5 Хардверска решења
Хардверска решења за заштиту критичне секције подразумевају употребу посебних инструкција процесора. Идеја је да се направе машинске инструкције које су у стању да ураде бар две операције без могућности прекида, тј. атомично. Најчешће се за потребе заштите критичне секције користе следеће три инструкције:
* ТАС (Test And Set),
* ФАА (Fetch And Add) и
* СВАП (замена).


Југославија

Југославија (/ˌјуːɡоʊˈслɑːвиә/; српскохрватски: Југославија / Југославија [јуɡослаːʋија]; словеначки: Југославија [јуɡɔˈслаːʋиɡ]; Јавија]аɔːʋија]; ;[Б] лит. 'Земља Јужних Словена') је била држава на југоистоку и Централна Европа током већег дела 20. века. Настала је 1918. [Ц] након Првог светског рата, под именом Краљевина СХС спајањем Краљевине Србије са привременом Државом Словенаца, Хрвата и Срба (која је настала од територија бивша Аустроугарска) и представљала је прву заједницу јужнословенског народа као суверену државу, после векова у којима је регион био део Османског царства и Аустроугарске. Петар И од Србије био је њен први суверен. Краљевина је стекла међународно признање 13. јула 1922. на Конференцији амбасадора у Паризу.[7] Званични назив државе промењен је у Краљевина Југославија 3. октобра 1929. године.
Краљевину су извршиле инвазије сила Осовине 6. априла 1941. Партизански отпор је 1943. прогласио Демократску Федеративну Југославију. Године 1944. краљ Петар ИИ, тада живећи у егзилу, признао ју је као легитимну владу. Монархија је касније укинута новембра 1945. Југославија је преименована у Федеративну Народну Републику Југославију 1945. године, када је успостављена комунистичка власт. Од Италије је добила територије Истре, Ријеке и Задра. Партизански вођа Јосип Броз Тито владао је земљом као председник до своје смрти 1980. Године 1963. земља је поново преименована у Социјалистичка Федеративна Република Југославија (СФРЈ).
Шест конститутивних република које су чиниле СФРЈ биле су СР Босна и Херцеговина, СР Хрватска, СР Македонија, СР Црна Гора, СР Србија и СР Словенија. СР Србија је садржала две социјалистичке аутономне покрајине, Војводину и Косово, које су после 1974. године биле у великој мери равноправне са осталим чланицама федерације.[8][9] Након економске и политичке кризе 1980-их и успона национализма, Југославија се распала дуж граница својих република, прво на пет земаља, што је довело до југословенских ратова. Међународни кривични суд за бившу Југославију је од 1993. до 2017. године судио политичким и војним лидерима из бивше Југославије за ратне злочине, геноцид и друге злочине почињене током тих ратова.
Након распада, републике Црна Гора и Србија формирале су смањену федеративну државу, Савезну Републику Југославију (СРЈ), познату од 2003. до 2006. као Србија и Црна Гора. Ова држава је претендовала на статус јединог правног наследника СФРЈ, али су се тим тврдњама успротивиле остале бивше републике. На крају је прихватила мишљење Бадинтеровог арбитражног комитета о заједничкој сукцесији[10] и 2003. године званично име је промењено у Србија и Црна Гора. Ова држава се распала када су Црна Гора и Србија постале независне државе 2006. године, а Косово је имало стални спор око проглашења независности 2008. године.


Викигимназијалац:Оперативни системи/Редови процеса

Редови процеса (енгл. Scheduling queues) су
меморијске структуре које се користе у рачунарству ради организације процеса (послова) који треба да се изврше. Деле се на ред послова (енгл. Job queue), ред спремних (енгл. Ready queue) и ред чекања на улазно- излазне (I/O) опереације.
Редови се користе у оперативним системима како би у сваком тренутку процесор био окупиран неким процесом, јер код процеса долази до различитих врста прекида, који захтевају време да се обаве, за које други процеси могу да се извршавају на процесору.
1 Ред послова
Након што је процес креиран, процес се налази на реду послова, који садржи све процесе на систему.
2 Ред спремних
Да би процес дошао у ред спремних, мора бити изабран по неком критеријуму који задаје оперативни систем. Сви процеси који се налазе на реду спремних су у главној меморији. Такође су у стању “спреман”. Када процес дође на ред спремних, он чека да дође на процесор, и да се цео или делимично изврши. У случају да се цео изврши, прелази у стање “готов”. Ако се не изврши у потпуности , “излази” са процесора, и смешта се на крај реда спремних. До тога долази у више случајева, а то су : истицање временског квантума, генерисање новог процеса у оквиру постојећег , прекид извршавања процеса, захтев за улазно-излазном операцијом
3 Истицање временског квантума
У случају да се процес задржи на процесору дуже него што је предвиђено, долази до истицања временског квантума, и он се враћа на крај реда спремних.
4 Генерисање новог процеса
Ако процес који се извршава генерише нови процес, тај процес има приоритет у односу на њега, а он процес прелази у стање “блокиран”; све док се процес који је он створио не изврши.
5 Прекид
У случају прекида, врши се прекидна рутина и процес се враћа на крај реда спремних.
6 Захтев за улазно-излазном операцијом
Ако је неопходно извршити унос података преко улазно-излазних уређаја, шаље се захтев за улазно-излазну операцију, што смешта процес из процесора на ред за чекање на улазно-излазни уређај.
7 Ред чекања на улазно излазни-уређај
Њима се приступа у случају да се деси захтев за улазно-излазном операцијом. Након што процес пређе на ред чекања на улазно излазни-уређај, он прелази у стање “блокиран”, све док се у потпуности не изврши улазно-излазна операција. Таквих редова има онолико колико има и самих улазно -излазних уређаја.


Redovi procesa

''Редови процеса'' (енгл. Scheduling queues) су меморијске структуре које се користе у
рачунарству ради организације процеса (послова) који треба да се изврше. Деле се на
ред послова (енгл. Job queue), ред спремних (енгл. Ready queue) и ред чекања на улазно-
излазне (I/O) опереације.
Редови се користе у оперативним системима како би у сваком тренутку процесор био
окупиран неким процесом, јер код процеса долази до различитих врста прекида, који
захтевају време да се обаве, за које други процеси могу да се извршавају на процесору.
1 Ред послова
Након што је процес креиран, процес се налази на реду послова, који садржи све процесе
на систему.
2 Ред спремних
Да би процес дошао у ред спремних, мора бити изабран по неком критеријуму који задаје
оперативни систем. Сви процеси који се налазе на реду спремних су у главној меморији.
Такође су у стању “спреман”. Када процес дође на ред спремних, он чека да дође на
процесор, и да се цео или делимично изврши. У случају да се цео изврши, прелази у
стање “готов”. Ако се не изврши у потпуности , “излази” са процесора, и смешта се на крај
реда спремних. До тога долази у више случајева, а то су : истицање временског квантума,
генерисање новог процеса у оквиру постојећег , прекид извршавања процеса, захтев за
улазно-излазном операцијом
2.1 Истицање временског квантума
У случају да се процес задржи на процесору дуже него што је предвиђено, долази до
истицања временског квантума, и он се враћа на крај реда спремних.
2.2 Генерисање новог процеса
Ако процес који се извршава генерише нови процес, тај процес има приоритет у односу на
њега, а он процес прелази у стање “блокиран”; све док се процес који је он створио не
изврши.
2.3 Прекид
У случају прекида, врши се прекидна рутина и процес се враћа на крај реда спремних.
2.4 Захтев за улазно-излазном операцијом
Ако је неопходно извршити унос података преко улазно-излазних уређаја, шаље се захтев
за улазно-излазну операцију, што смешта процес из процесора на ред за чекање на
улазно-излазни уређај.
3 Ред чекања на улазно излазни-уређај
Њима се приступа у случају да се деси захтев за улазно-излазном операцијом. Након што
процес пређе на ред чекања на улазно излазни-уређај, он прелази у стање “блокиран”,
све док се у потпуности не изврши улазно-излазна операција. Таквих редова има онолико
колико има и самих улазно -излазних уређаја.


Викигимназијалац:Оперативни системи/Увод у заглављивање

Скуп процеса је у застоју, ако сваки процес држи ресурс, а тражи накоришћење нови ресурс кога држи неки други процес из скупа. У тој ситацији нико не ослобађа своје ресурсе, а тражи нове - скуп тих процеса постаје заглављен. Процеси који су у застоју, никада не завршавају своје активности и никада не ослобађају ресурсе.
1 Начини коришћења процеса
У нормалном режиму рада, процес може да користи ресурс само на један од следећа три начина:
# Захтев (request). У овој фази, процес захтева ресурс. Ако захтев за доделом ресурса не може да се испуни тренутно, процес мора да чека док се ресурс не ослободи.
# Коришћење (use). У овој фази, процес је добио ресурс и може га слободно користити.
# Ослобађање (release). Након коришћења ресурса, процес мора да ослободи ресурс.
2 Услови под којима наступа застој
# Међусобно искључење. Само један процес у једном тренутку може користити ресурс или једну његову инстанцу. Други процес који захтева тај исти ресурс, односно инстанцу, мора да чека док се ресурс не ослободи.
# Нема претпражњења. Ресурс се не може насилно одузети и предати другом процесу, све док процес који га користи не заврши посао и не ослободи ресурс.
# Услов задржавања ресурса и чекања на други (hold and wait). Процес мора да држи један ресурс у коришћењу, а да истовремено чека на добијање ресурса кога користи неки други процес.
# Кружночекање (Circular wait). Мора постојати скуп процеса који чекају на ресурсе у следећем кружном поретку: П0 чека на ресурс кога држи процес P1, P1 чека на ресурс кога држи процес P2...
3 Превенција застоја
Можемо спречити застој елиминисањем било ког одгорња четири услова.
4 Граф додељених ресурса
Ситуације застоја се могу приказати прецизније помоћу графова додељених ресурса (resource allocation graph). Граф се састоји из скупа објеката и скупа стрелица Е. Скуп објеката се састоји из два скупа:
# скуп свих активних процеса у систему, P={P1, P2.....Pn}
# скуп свих расположивих ресурса R={R1, R2.....Rm}.
5 Поделастрелица
# стрелица захтева
процес Pi захтева једну инстанцу ресурса Rj и чека на њу
стрелица се додаје у графу век када процес тражи ресурс.
# стрелица алокације, тј. Доделе
ресурс Rj је додељен процесу Pi
стрелица седодаје у графу век када се ресурс додели процесу.


ИБМ 601

ИБМ 601 Мултиплајинг Пунцх је била јединица за снимање која је могла да прочита два броја са бушене картице и да унесе њихов производ у празно поље на истој картици. Фактори могу бити дугачки до осам децималних цифара. 601 је представљен 1931. и био је прва ИБМ машина која је могла да ради множење.
Године 1936. В. Ј. Ецкерт је повезао модификовани 601 са табулатором 285 и 016 дуплирано бушење преко прилагођеног прекидача који је дизајнирао и користио комбиновану поставку за обављање научних прорачуна.
1 Погледајте још
* ИБМ 602
* ИБМ 603
* ИБМ 604


Викигимназијалац:Оперативни системи/Развој оперативних система и историјат

Развој оперативних система можемо поделити у четири генерације:
1 Прва генерација рачунара (1945-1955)
Компјутери прве генерације су били огромних димензија и веома скупи. Њихову
основу су чиниле вакуумске цеви (до 20000 по рачунару). Углавном су се
користили у војне сврхе. Били су доста спорији од садашњих рачунара и на њима
се програмирало на машинском језику. Појам „оперативни систем“ тада је био
непознат. На њима су радили оператори.
2 Друга генерација рачунара (1955-1965)
Рачунари друге генерације били су засновани на транзисторима. Били су мањи и
јефтинији. Као програмски језик коришћен је Fortran. Програмери су програме
писали на папиру,а затим их преносили на бушене картице. Вушене картице су
оператори убацивали у рачунар. Оперативни систем као засебан појам још увек
није постојао. Касније се као побољшање уводи групна обрада помоћу магнетне
траке која је била бржа од бушених картица.  Развијен је програм који је учитавао
и извршавао магнетне траке и он се сматра претечом оперативног система.
3 Трећа генерација рачунара (1965- 1980)
Рачунари треће генерације праве се од интегрисаних кола. Шездесетих године
производе се рачунари серије Сyстем/360 који су радили под оперативним
системом ОС/360, који је био препун грешака.
Развојем дисциплине софтверско инжењерство уводе се нове функције:
- Мултипрограмирање
- вишеструке улазно-излазне операције и
- подела рачунарског времена
Kод треће генерације рачунара посебно треба истаћи појаву два оперативна
система: Multics I Unix.
* MULTICS (MULTIplexed Information and Computing Service) неуспела је идеја компанија MIT, Bell Labs и General Electric да се направи моћан рачунар и оперативни систем који ће бити у стању да ради са великим бројем терминала.
* UNIX, упрошћена је варијанта MULTICS система, која је доживела практичну реализацију и експанзију до данашњих дана.
4 Четврта генерација рачунара (1980-1990)
У четвртој генерацији рачунара први пут се појављују персонални рачунари који су
били засновани на чиповима. Они су били довољно јефтини, тако да су их могли
приуштити у више одсека једне фирме или универзитета, а могли су их имати и
појединци.
У прве оперативне системе за персоналне рачунаре спадају MS-DOS и UNIX.
Касније почиње муњевит развој оператиних система због све већих потреба
корисника и брзине развоја hardware-a и software-а. Microsoft је направио Windows оперативни систем који је најпопуларнији данас и нашао је ширкоу примену на
персоналним рачунарима.
Apple Computer Inc је развио MacOS X за Machintosh рачунаре док је Linux остао
најприлагодљивији оперативни систем због своје open-source лиценце.
5 Мобилни оперативни системи
Запаженији мобилни оперативни системи су: Symbian, Windows Mobile, IOS,
Android.
Symbian користио се на Ericsson, Motorola и Nokia телефонима.Windows Mobile је
имао успоне и падове али се на сцену вратио 2010. са Windows Phone системом и
Windows 10 for mobile системом. IOS систем базиран на Unix Darwin систему.
Android систем базиран на Linuxu и главна конкуренција IOS систему.


Викигимназијалац:Оперативни системи

1 О пројекту
Пројекат Викигимназијалац књиге у настави се реализује у сарадњи Шабачке гимназије и Викимедије Србије. Пројекат подразумева писање текстова о оперативним системима и увођење новог начина писања текстова који је близак ученицима и ученицама и прилагођен њиховом узрасту.
2 Списак текстова
Увод у оперативне системе, Процеси, Конкурентност и синхронизација процеса, Заглављивање
Управљање меморијом, Систем датотека, Управљање улазно-излазним уређајима, Рачунарске мреже


ИБМ 603

ИБМ 603 Електроник Мултиплајер је био први масовно произведен комерцијални електронски уређај за рачунање; користио је вакуумске цеви пуне величине за обављање множења и сабирања.(Ранији ИБМ 601 и објављен исте године ИБМ 602 користио је релејну логику.) ИБМ 603 је прилагођен као аритметичка јединица у ИБМ-овом електронском калкулатору селективне секвенце. Дизајнирао га је Џејмс В. Брајс и укључивао је кола која је патентирао А. Халзи Дикенсон 1937. године.ИБМ 603 је развијен у Ендикоту у Њујорку и најављен је 27. септембра 1946. године.
Извршни директор ИБМ-а Томас Ј. Ватсон сумњао је у производ, али комерцијализацију је подстакао његов син Томас Ј. Ватсон Јр. Само око 20 је направљено пошто су гломазне цеви отежавале производњу, али потражња је показала да производ испуњава потребу. Ралф Палмер и Јериер Хадад су ангажовани да развију углађену и разноврснију верзију 603, која је постала ИБМ 604 Електроник Калкулатинг Пунч. 604 је користио минијатурне цеви и патентирани дизајн за прикључне модуле, што је учинило производ лакшим за производњу и сервис. Током наредних 10 година ИБМ ће изградити и изнајмити 5600 јединица ИБМ 604.
1 Спољашни линкови
*** Патент САД 2641408, поднет 26. октобра 1951., издат 9. јуна 1953., Расел А. Роули и Делмар Ц. Њукомб


Cилотски језик

Ова књига говори о језику Силоти. Силоти се првенствено говори у Индији, Бангладешу, Уједињеном Краљевству и другим земљама. Силоти је јединствени индоаријски језик.
1 Абецеда
/a/, /i/, /ʊ/, /ɛ/, /ɔ/
/a/, /i/, /ʊ/, /ɛ/, /ɔ/
/xɔ/, /xɔ́/, /ɡɔ/, /ɡɔ́/, /ŋɔ/
/sɔ/, /sɔ́/, /zɔ/, /zɔ́/,
/ʈɔ/, /ʈɔ́/, /ɖɔ/, /ɖɔ́/,
/t̪ɔ/, /t̪ɔ́/, /d̪ɔ/, /d̪ɔ́/, /nɔ/
/fɔ/, /fɔ́/, /bɔ/, /bɔ́/, /mɔ/
/ɾɔ/, /lɔ/, /ɽɔ/, /ʃɔ/, /ɦɔ/


Razlika između relacionih i funkcionalnih programskih jezika

Програмски језици представљају основу за решавање различитих рачунарских проблема, а два најистакнутија парадигматска приступа су релационо и функционално програмирање. Ови приступи имају различите концепте и методе за обраду података и имплементацију логике, и често се користе у различитим контекстима. У овом тексту ћемо детаљније размотрити разлике између релационих и функционалних програмских језика, као и њихову примену у пракси.
1 Релациони програмски језици
Релациони програмски језици су усмерени на рад са подацима који су представљени као табеле (релације). Ови језици су засновани на релационом моделу података, а најпознатији је С-КЈУ-Л(Структурирани језик упита). Релациони језици се користе за управљање подацима у базама података, као што су упити, уметање, ажурирање и брисање података. Они омогућавају лаку манипулацију подацима и често подржавају трансакције и декларативни приступ (постигнуће резултата без бриге о имплементацији).
Пример: С-КЈУ-Л, LIN-КЈУ, КЈУ.
2 Функционални програмски језици
Функционални програмски језици наглашавају употребу функција као основних градивних блока програма. У овим језицима, подаци су неизмењиви (имјутабл), а операције се своде на примену функција. Ови језици фаворизују чисте функције које не мењају стање програма. Функционално програмирање је идеално за комплексне математичке операције и рад са паралелним и расподељеним системима.
Пример: Хаскел, Лисп, Ерланг.
3 Основне разлике између релационих и функционалних језика
+, Карактеристика, Релациони језици, Функционални језици
Основна концепција, Рад са табелама података и релацијама (С-КЈУ-Л,Линк), Функције као основне грађевне јединице програма
Манипулација подацима, Често се користе за управљање подацима у базама података, Рад са неизмењивим подацима и функцијама
Стил програмирања, Декларативни (опишете шта желите, не како), Декларативни, али више усмерен на функције као основне јединице
Мутација стања, Могуће (посебно у С-КЈУ-Л базама података и ТЦМ управљању), Нема мутирања стања, све је неизмењиво
Подршка за трансакције, Да, често се користе за рад са великим базама података, Не подржавају директно трансакције, већ раде са неизмењивим подацима
Сложеност имплементације, Често захтевају сложену имплементацију за оптимизацију упита, Већа једноставност у управљању стањем и тестирању програма
Језици са подршком, С-КЈУ-Л,Линк, Кју, Хаскел, Лисп, Ерланг, Ф#
4 Закључак
Релациони и функционални програмски језици представљају два различита приступа у развоју софтвера. Док релациони језици највише одговарају за рад са подацима у базама података и трансакцијама, функционални језици су више усмерени на математичку логичку структуру и рад са неизмењивим подацима. Разлика у приступима значи да ће избор између њих зависити од врсте проблема који треба да се реши и контекста у којем ће програм бити примењен.


ИБМ 602

ИБМ 602 Калкулатинг Пунч, представљен 1946. године, био је електромеханички калкулатор способан за сабирање, одузимање, множење и дељење. 602 је била прва ИБМ-ова машина која је извршила поделу. (ИБМ 601, представљен 1931., само се умножио.) Као и други ИБМ-ови калкулатори, програмиран је помоћу контролне табле. Улазни подаци су читани са бушене картице, резултати су могли бити бушени на истој картици или пратећој картици.
602 је био доступан у четири модела: модел 1, модел 2, модел 50 и модел 51. Модели "серије 50" су биле јефтине верзије које су радиле мањом брзином, са упола мањим бројем корака програма и мање регистара за складиштење и бројачa.
+, Модел, Машински циклуси по минути, Програмски кораци, Дванаестоцифрене складишне јединице, Шестоцифрени бројач, Четвороцифрени бројач, Функције
1, 200, 12, 6, 3, 3, +, -, *, /
2, 200, 12, 6, 3, 3, +, -, *, /
50, 150, 6, 4, 3, 1, +, -, *, /
51, 150, 6, 4, 3, 1, +, -, *
Два додатна бројача су била доступна као опциона функција.
Кораци програма се извршавају у једном машинском циклусу, осим корака који обављају множење или дељење који захтевају онолико машинских циклуса колико је потребно за операцију. Брзина бушења је отприлике четири колоне по машинском циклусу. Укупан број машинских циклуса потребних по картици варира у зависности од података и програмирања.
Програмирање 602 за сваки проблем укључивало је две ствари:
# Контролна табла ожичена за редослед прорачуна
# Трака за прескакање са „уметцима“ постављеним за прву колону сваког поља за бушење
1 Погледајте још
* ИБМ 603
* ИБМ ЦПЦ
** ИБМ 604
** ИБМ 605
* ИБМ 608


Покојникова жена

ПОКОЈНИКОВА ЖЕНА.
I.
Толико му је већ излазила, а и сада излази на гроб, да га је као живога готово заборавила и памти га само по гробу. Дугачак му гроб. Више гроба штрчи му дрвен крст. До крста тестијица воде; у грло јој кита суха босиљка, а по дршци тестије и боковима црне се капље воска накапалих од толико свећа које му је палила. И ако не свакога дана, а оно сваке суботе и у очи празника, испочетка с мајком, а после, када јој дете порасло и ојачало, с дететом је излазила на гроб и клечала. Тада би на гробу увек била разгрнута бошча с тепсијом, у којој би било понуда: пита, јабуке, грожђе и кришке печене бундеве (све оно што је он радо јео). Бошча би се белела, одударала од трошне, црне земље гроба у коју она никада није смела дубље да забоде прст, све бојећи се као да не напипа, додирне
[page 14]
труло, човечје тело, јер толико је у томе гробу било покопано! Цела његова породица, једно преко другога, наизменце и — непослетку, поврх свију, он, муж њен.
Око крста би упаљене свеће тихо гореле. Лелујали би им се њихови лаки пламенови. Она, пошто чело гроба клекне, нагнула би се напред ка гробу, тако да јој глава, чело, додирује крст. Црна јој шамија са отпуштеним крајевима са стране, сакрила би јој бело лице, а на руци заврнуо би се рукав од кошуље са црним бојама, те би јој се видела бела, румена кожа од руке. Плаче. Пуна јој се рамена тресу. Лице јој сакривено у шамији и угрејано, окупано крупним, сочним сузама, јасно нежно одударало би од црнине шамијине. Очи јој влажне, тамне. Истина с мало бора, али нарочито тада, када јој очи поцрвене и поднадују се од плача, и не види се.
Па тај њен плач био је тако дубок, уздржаван, пун грцања...
Чим уђе на гробље, синчића, кога је за руку дотле водила, одмах оставља да за њом иде, а она као да потрчи гробу... И идући скида тепсију с главе, да би је што пре метла на гроб, после још брже одвеже шамију, забаци крајеве, те јој сине подбрадак, лице... И, чисто са страхом,
[page 15]
уплашено, пошто пољуби крст, још ужурбаније пали му свеће, па, као да 6и се што пре свега тога отресла — не клекне, већ пада на гроб и зајеца:
— Леле, Мито!
Синчић јој, који, остављен, трчи за њом, не може да је стигне, и кад види како она пада, нестаје је код гроба, појури к њој:
— Немој, нано... Па, од страха што се она не обзире на њ, пада и он до ње на гроб и почне, гурајући се у њен скут, да плаче, јеца.
Она га и не гледа, кука, нариче. Као увек, спомиње њега, покојника, мужа; ређа његове жеље. Па када почне оно: на кога их је оставио... што не сиђе да их види и не погледа... а нарочито да види дете, сина... већ колики му је и какав је порастао...
Не зна се ко више плаче. Да ли она или дете. И тек када дете онако испод њена скута, још више уплашено што се она никако њему не окреће, почне на сав глас да рида, и кад би од његових крупних суза већ почела земља да се влажи и лепи по његовим обрашчићима, тек онда би се она освешћивала, трзала, дизала га готово онесвесло од плача, чистећи му земљу са обрашчића.
[page 16]
— Шта па ти? кроз плач почела би као да говори. Не гледај ти нану, чедо... Зар зато што видиш да нана плаче, па и ти да плачеш? Не гледај ти нану. Друго је нана. Немој. Лошо ће ми ти је... почела би да га утишава, пригрљава, меће себи у скут. Али тек тада синчић јој, у њеном крилу, ослобођен од страха, још више би се ражалио и продужавао да и даље јеца, плаче.
После се диже. И пошто од плача разузурено јој и попустило одело притегне, поново се забради шамијом, али сада дубље, да јој се виде од уплакана лица само очи и јабучице, и кад од онога што му је изнела на гроб разда по комшијским гробовима, а највише просјацима, и кад напослетку још онако заједно са синчићем запали и кандило поред свеће, уреди, очисти му од траве и учврсти гроб, — тек онда би се враћали, остављајући му гроб онако нем, дугачак.
Ишли би натраг кући. Она носи тепсију на глави. Једном руком води дете, које, исплакано и умирено, сада весело поиграва око ње, а она још сва врела. Уплакано јој лице зажарило се, букнуло, а и цела јој снага као набрекла. Хаљине јој тесне. А осећа како јој се прса шире, отимају се из тесног количета, излазе на
[page 17]
поље, виде се... Зато од стида сагиње главу, намиче још више шамију, да јој се једва виде очи и уста, која још не могу да се умире од плача, већ јој дршћу. А с гробља у варош води још и друм широк, прав, по коме врви свет. И због тога још уплашенија, све уза зид брзо иде. Али већ испред Итине касапнице мења ход. Чвршће стеже дете за руку, још више погиње главу и једва чека да што пре до те касапнице дође, назове Бога и прође је. Јер пред том, Итином, касапницом увек има по неколико њих мушких, где беспослени седе на ћепенцима, пуше, гледајући или свет што друмом пролази, или оне обешене череке меса и крваве диреке од касапнице, искићене бајатим цревима и џигерицама, што купују Цигани или крајња сиротиња. И чим она ту наиђе, јаче повуче к себи дете, још више се скупи, смерно, уплашено. Људима око касапнице назове Бога према касапници. Али ако се ту деси и газда Ита, чим њу спази, он одмах силази с ћепенка, обува изувене ципеле, издваја се, зауставља синчића јој и зове га к себи, да га дарује. Она дете пусти и пошто одмакне, једнако окренута вароши, стане, чека. Дете оде до Ите, пољуби га у руку, а овај вади кесу, једва нађе марјаш
[page 18]
и даје му. Па, ма да га нико од осталих не пита, он им казује чији је:
— Митино. Мита што лане умре. А оно му је домаћица, и показује на њу, па се опет окреће детету: — Милане, синко, дођи сутра, али рано, сабајле, те чича мало месца да ти да, да однесеш дома, а сад 'ајд иди, — отпушта га гледајући у њу како она стоји и чека на дете. 'Ајд иди, вели гласно, да га чак и она чује. — Иди, да те нана ено не чека.
А она заиста га једва чека: све се боји нечега, а нарочито оне ширине и пространости друма, света, људи што по њему ходе. И чим осети како јој се синчић враћа, хвата је за руку, она одмах продужава пут.
У том већ почне први мрак. Њиве почињу да се губе; варошке улице да бивају тешње и тамније. Она убрза. Преко скрханог моста Оџинке улази у варош. Жури се. Али сада мало слободније иде по познатим улицама. Пролази поред капија, капиџика, сниских кућица, дугачких ћерана... тек по која велика кућа, турска, с капцима и решеткама на прозорима... Сусреће слуге и децу која носе месо, пиринач и друго, што по њима шиљу из чаршије својим кућама мужеви, домаћини.. Али када дође до чаршије и кад хоће да
[page 19]
је пређе и уђе у своју улицу, опет мора да застане. Нарочито, ако је субота, не може се од света — пазарлија — сељака, који се враћају својим селима. Неки пијани, на коњима, испречили се и заустављају свет, испијајући оканице, онако с коњима испред мејана. И после све то, тискајући се, одмиче с вревом, жагором и прашином. Она, док то, као нека навала, не прође, чека, па затим брзо пређе, готово претрчи чаршију, и уђе у своју улицу. И чим уђе у своју улицу, синчић је одмах оставља и појури испред ње кући.
Она, у својој улици сада као сасвим ослобођена. гледа како јој синчић весело трчи капији, на којој их већ као увек чека њена мајка, која свакад суботом и у очи сваког празника долази, да код ње преноћи.
— Дођосте ли? питала би је мати, дижући се с прага од капије и брижљиво кријући бошчу, у којој би обично увила брашна и друго што јој је донела.
— Ето, дођосмо, одговарали би матери она и одмах се сагиње, пружа јој кључ од катанца, пошто она од тепсије на глави не може да отвара капију.
Мајка би отворила и, једнако кријући ону бошчу, прва би ушла и журно отишла у кућу. И, као увек, одмах би тамо


Викигимназијалац:Оперативни системи/Основни концепти оперативних система

Рачунарство се развија великом брзином, али су основни-принципи функционисања заједнички за све генерације рацунарских система. Савремени рачунари се састоје од једног или више процесора, меморије, већег броја улазно-излазних уређаја, комуникационе опреме итд Међутим, да би овај хардвер имао употребну вредност потребан је софтвер који це га учинити употребљивим за кориснике разлицитих профила.
1 Основни задаци
Основни задаци оперативних система су да омогуће што ефикаснију реализацију следећих активности:
* Управљање процесима;
* Управљање меморијом;
* Управљање улазно-излазним уређајима;
* Управљање подацима;
* Управљање мрежама.
Управљање процесима, односно програмима у извршавању, подразумева њихово креирање, извршавање, додељивање ресурса процесима, синхронизацију, доношење одлука о томе који процес це имати прилику да се извршава на процесору у одређеном тренутку итд.
Управљање меморијом се односи на распоређивање процеса у оквиру радне меморије, а управљање улазно-излазним уредајима на контролу и трансфер података између уређаја и остатка система.
Управљање подацима подразумева чување података, вођење евиденције о њима, манипулацију са њима итд.
Последња функција и данас неизоставни део оперативних система је управијање мрежама које подразумева умрежавање и комуникацију између рачунара.
Оперативни системи представијају стару област рачунарства која се развија упоредо са напретком рачунара. Када су основни задаци оперативних система у питању, највећа разлика у односу на прве оперативне системе је у управљању мрежама. Наиме, рачунарске мреже нису постојале у данашњем облику у тренутку зачетка првих генерација оперативних система тако да рад са њима није био један од приоритета.
2 Функције језгра оперативног система
Језгро (кернел) је део оперативног система у који су смештене најважније функције које обезбеђују основне сервисе оперативног система. Оно је одговорно за функционисање система и има задатак да управља хардверским и софтверским ресурсима на најнижем нивоу.
То је део софтвера који се први учита при покретању рачунарског система и остаје у њој до завршетка рада односно искључивања система.
Језгро се обично налази у посебном делу радне меморије и стално је активно. То је срце оперативног система и најнижи је слој у хијерархији рачунарског система који није хардверски (или апстракција хардвера). У њему су дефинисана правила и дозволе којима се регулише функционисање целокупног система. У систему се, осим језгра, могу извршавати апликативни и системски програми.
Системски програми не морају бити део језгра оперативног система.
3 Системски позиви
Услуге које оперативни систем мозе да пружи апликативним програмима остварују се уз помоћ системских позива. Програми уз помоћ системских позива комуницирају са језгром и помоћу њега добијају могућност да изврше осетљиве операције у систему.
Практично, системски позиви су скуп функција који представља интерфејс ка оперативном систему. На пример, апликативни програм може приступити хардверу (хард диску, штампачу итд.) или урадити неку операцију са процесима једино коришћењем одговарајућег системског позива. Системски позиви су имплементирани тако да дозволе само операције које не могу бити штетне по рачунарски систем.
Системским позивом се јасно дефинише које су дозвољене операције када је одговарајућа услуга оперативног система у питању. На овакав начин се приступ хардверу штити од потенцијално штетних операција корисника.
Процесори савремених рачунарских система имају могућност рада у бар два различита режима рада: корисничком (усер мод) и системском (супервисор, кернел мод). У системском режиму могуће је извршити све инструкције, док је број инструкција које је дозвољено извршити у корисничком режиму редукован. Наиме, инструкције за осетљиве операције попут приступа улазно-излазним уређајима, заштићеним деловима меморије итд. могуће је извршити само у системском режиму рада процесора.
Апликативни програми се већи део времена извршавају у корисничком режиму, док је системски режим предвиђен за посебно осетљиве операције које изводи оперативни систем.
При коришћењу системског позива прелази се из корисничког у системски режим и даљу контролу преузима оперативни систем. Кључни део оперативног система који реагује у оваквим ситуацијама је језгро.
Системски позиви користе језгро да би омогућили различите сервисе оперативног система. Сви програми, често укључујуци и системске, функционишу на нивоу изнад језгра у корисничком режиму рада. Системске активности, које се покрећу системским позивима попут приступа хардверу, обављају се на нивоу језгра, односно у системском режиму рада. Због осетљивости послова којима се језгро бави, оно се обично учитава у посебан, заштићени део меморије и тиме чува од нежељених промена.
При дизајнирању оперативних система често се тежи да се више активности одвија у корисничком режиму уместо у системском јер се на тај начин повећава стабилност система. У том случају, евентуалне грешке при извршавању програма или проблеми углавном не могу да угрозе функционисање система.
Када апликативни програми изврше системски позив, параметри системског позива се поставе на предвиђене локације у меморији. Затим, мења се режим рада у системски у којем су, за разлику од корисничког режима, дозвољене све операције које процесор може да уради .Тада језгро преузима контролу и на основу параметара системског позива извршава жељену операцију. По завршетку операције режим рада се поново пребацује у кориснички, а резултати се враћају програму који је извршио системски позив.
Неки процесори подржавају више различитих режима рада који се могу искористити при дизајнирању оперативних система. У ситуацијама када процесори не подржавају довољно режима, они се могу реализовати на нивоу оперативних система.
4 Корисничко окрузење
Многи корисници оперативни систем доживљавају кроз корисничко окружење.
Оно има задатак да олакша коришћење осталих делова оперативног система, а и целокупног рачунарског система. Развој корисничких окружења пратио је развој рачунара јер су побољшања карактеристика рачунарских система као и повећавања њихове комплексности обично повлачила и захтеве за олакшавање њиховог коришћења.
Корисничка окружења се могу поделити на ''текстуална'' и ''графичка''. Међутим, пошто се уз помоћ карактера могу импровизовати графички елементи у оквиру екрана, исправнија подела би била на ''линијска'' и ''екранска''.
Под линијским корисничким окружењима подразумевају се конзоле, терминали, командне линије итд. које омогућавају да се оперативним системом управља куцањем текстуалних команди — линија текста. Оваква окружења су се међу првима појавила у рачунарству.
Командни интерпретер је најважнији део линијског корисничког окружења и његова улога је да наредбе и податке које корисник унесе у текстуалном облику препозна и наложи оперативном систему извршавање одговарајуцих операција.
За разлику од линијских, екранска корисничка окрузења пружају могућност да се оперативним системом управља коришћењем целе поврсине екрана. Осим уз помоћ тастатуре, команде и манипулације са подацима се могу изводити уз помоћ миша и сличних улазних уређаја. У последње време веома су популарни кориснички интерфејси који омогућавају да се команде задају додирима прстију по екранима осетљивим на додир.
Радна површина је основни део екранског корисничког окружења на којој су апликације и подаци представљени визуелним елементима. Ови елементи на различите начине реагују на команде које се задају уз помоћ миша, тастатуре итд.
Савремени оперативни системи обично корисницима пружају могућност да користе обе врсте окружења.
5 Драјвери
''Улазно-излазни уређаји'' имају своје контролере који се користе при комуникацији са осталим деловима система. Са друге (софтверске) стране налазе се драјвери (дриверс — управљачки програми) који се надограђују на контролере и омогућавају комуникацију, односно управијање улазно излазним уређајима. Они се програмирају тако да за различите типове исте врсте уређаја (штампача, хард дискова, тастатура итд.) дефинишу јединствен скуп дозвољених инструкција. Различити уређаји могу захтевати посебне наредбе или параметре за извршавање, а задатак драјвера је да апстрахују ове разлике и направе униформни интерфејс. На тај начин се рад са улазно излазним уређајима доста олакшава јер се избегава писање посебних програма за сваки тип уређаја, већ се јасно дефинисаним скупом функција омогућава писање универзалних програма за уређаје исте класе.


Нити оперативних система

Нити (енг. threads) су делови једног процеса и извршавају се кориштењем ресурса који су њему придружени, а осим ресурса поседује своје регистре, програмски број и стек, а разликује их и јединствени идентификатор. У модерно време оперативни системи обично подржавају концепт нити које представљају основне јединице за извршавање у оквиру процеса.
Елементи заједнички за све нити у једном процесу су: Код сегмент, сегмент података, подаци о отвореним фајловима итд. Оваквим приступом се смањује заузети простор и омогућава се да више нити обавља различите задатке у оквиру једног процеса.
Кориштењем нити се пружа могућност да се боље искористе предности које доноси вишепроцесорска архитектура, док рад са више нити подразумева могућност оперативног система да подржи конкретно или паралелно извршавање више нити. На почетку извршавања сваки процес добија свој меморијски простор и контролну нит. Ова нит има задатак да обави потребне иницијализације и креира остале нити које су потребне за извршење процеса. С обзиром да нити имају све карактеристике процеса, при чему неке ресурсе деле са другим нитима, често их називамо и лаким процесима.
0.1 Предности кориштења нити
Кориштење нити доноси многе предности. Првенствено омогућавају значајне уштеде меморијског простора и времена. Нити деле меморију и неке ресурсе који припадају истом процесу тако да заузимају мање простора него када су у питању независни процеси. Нити се креирају много брже од процеса а и пребацивање контекста између нити истог процеса је брже од пребацивања контекста између процеса јер се пребацују само ресурси који су јединствени за нити, регистри и програмски бројач.
0.2 Пресликавање
Пребацивање само ресурса се постиже пресликавањем (мапирањем) корисничких у нити језгра. Најчешћа подржана пресликавања су:
* Пресликавање више у једну;
* пресликавање једна у једну
* и пресликавање више у више.
0.2.0.1 Пресликавање више у једну
Пресликавање више у једну (many-to-one) подразумева да се више корисничких нити, све које припадају једном процесу, пресликају у једну нит језгра. Број нити језгра је у овом случају једнак броју процеса који постоје у систему. Дакле, језгро манипулише искључиво са процесима, тако да све нити једног процеса извршавају кроз једну нит језгра. Код оваквог приступа, нитима се управља из корисничког режима без утицаја језгра ОС.
Одлуке о томе која ће се корисничка нит извршавато доносе се на корисничком нивоу. Међутим, језгро оперативног система и даље управља процесима и доноси одлуке која ће се од нити језгра извршавати на процесору. Обично се креирање, распоређивање и управљање корисничким нитима омогућава имплементацијом посебних библиотека чија је основна функција да на корисничком нивоу пруже подршку за рад са нитима.


OgnjenIvanovic/Превод2

Модел програмирања је повезан са -јем или одређеним обрасцем кода. У овом стилу у игри су заправо два модела извршења: модел извршења основног и модел извршења програмског модела. Пример је где је основни језик, а Spark је програмски модел. Извршење може бити засновано на ономе што изгледа као позив . Други примери укључују библиотеку POSIX Threads и Хадооп-ов . У оба случаја, модел извршења програмског модела се разликује од оног у основном језику на којем је код написан. На пример, нема улогу у свом моделу извршавања за унос/излаз нити улогу нити. Али таква функција се може позвати из C синтаксе, упућивањем онога што изгледа као позив нормалној C библиотеци.
Оно што разликује модел програмирања од нормалне библиотеке је то што се функција позива не може разумети у смислу језика на којем је програм написан. На пример, функција позива у POSIX библиотеку нити не може се разумети у смислу C језика. Разлог је тај што позив позива извршни модел који се разликује од модела извршавања језика. Ово позивање модела екстерног извршавања је дефинишућа карактеристика програмског ''модела'', за разлику од програмског ''језика''.
У , модел извршења често мора да изложи карактеристике хардвера да би постигао високе перформансе. Велика количина варијација у паралелном хардверу узрокује истовремену потребу за слично великим бројем модела паралелног извршавања. Непрактично је правити нови језик за сваки модел извршења, стога је уобичајена пракса позивати се на функције модела паралелног извршавања преко API-ја. Дакле, већина напора у програмирању се ради преко модела паралелног програмирања, а не паралелних језика. Терминологија око таквих модела програмирања тежи да се фокусира на детаље хардвера који је инспирисао модел извршења, а у том изолованом свету формира се погрешно уверење да је модел програмирања само за случај када је модел извршења блиско усклађен са карактеристикама хардвера.


Борци с територије Општине Ариље пали у Српско-турским ратовима (1876-1878)
Састав Ибарске војске која се борила у Првом (познатом и као „Јаворски”) (1876-1877) и Другом Српско-турском рату (1877-1878), чиниле су Чачанска, Рудничка, Ужичка и Шабачка бригада и Добровољачки кор. Војници су регрутовани из народа, без посебне обуке, према старости разврстани у I, II и III класу.
Ибарска војска борила се на два ратишта: јаворском и јужноморавском. Јаворско се протезало од Соколовице код Новог Пазара до Шаргана на Тари. Епитафи војницима палим на јужноморавском ратишту најчешће помињу Адровац, Самоково, Шиљеговац, Шуматовац, Кревети, Суви рт, Прокупље, Врање, Златокоп, Ниш, Борје, Велики извор и Радешки вис. Према епитафима, прве су жртве пале 24. јуна 1876. на Јавору, Кладници и Пазару, а последње 22. јануара 1878. године на Самокову код Куршумлије.
Натписи уклесани на надгробнике и крајпуташе представљају драгоцена историјска сведочења:
1 Бреково
Споменик Благоју Марковићу (†1876) ''(Бреково - гробље)'': Овде почива раб божи БЛАГОЕ син почившег Радоице Марковића. Пож[иве] 22 г. Погибе на боју на Калипољу 24. јунија 1876. Ови крс подиже му брат Здравко и мајка Госпава. Донеше му кости у обшто гробље.
2 Вирово
Споменик Борисаву Недељковићу (†1876) ''(Вирово – Недељковићи)'': Знак овај показује краброг воиника I класе Баталиона БОРИСАВА син Милована Недељковића који се јуначки боријо са Турцима за отечество одупирући се сили Турској погибе 26. јуна 1876. Г. код Пазара у 24 г. живота свог по смрти остави сина Петра и супругу Радојку . Бог да га прости. Спомен п[одиже] Јован очув, Алексије брат и Петар син му.
3 Миросаљци
Споменик Милошу Милојевићу (†1877) ''(Миросаљци – Горње гробље)'': Знак Оваи показује краброг воиника I класе МИЛОША МИЛОЈЕВИЋА коисе јуначки са турцима борио за отечество При Кнезу Милану Обреновићу Поживи 24. Г. а погибе. од турске пушке на Самокову 5. јануара 1877. Г. И овде тиело донешено и сарањено поред оца Петра Мил.
4 Трешњевица
Споменик Стефану Павловићу (†1876) ''(Трешњевица – Поље)'': Ој путниче чекни мало, не пожали труда свога што ћеш стати и читати биљег овај, реци бог да прости душу СТЕФАНА ПАВЛОВИЋА из Трешњевице храброг војника друге класе Баталијона Драгачевског кои је у 42. г. од живота свога јуначки борећи се противу турака у рату под књазом Миланом IV Обреновићем бранећи славу и слободу своје браће срба не одступајући испред турске силе пред војском Србском погинуо на шиљбоку на Борју 24. јуна 1876. г. Овај знак подиже му супруга Савка и синови Крста и Драгутин са браћом.
Споменик Божи Раковићу (†1876) ''(Трешњевица – Поље)'': Овај знак показује вјечну успомену поч. БОЖА РАКОВИЋА из Трешњевице бив. војника друге класе баталијона драгачевског којије у 24 Години Младости своје борећисе против Турака за Славу и Слободу Србије погинуо у битци код Пазара 27. јуна 1876. Г. Бог да му душу прости Споменик овај из велике жалости подигоше своме једином сину Тужни Родитељи Дамњан и Спасенија с коим да се место сина теше.
Споменик Миловану Ненадићу (†1876) ''(Трешњевица – Поље)'': Оваи Биљег Показује Пред Собом Сарањено Тело Почившег МИЛОВАНА НЕНАДИЋА из Трешњевице Краброг Воиника Прве Класе Баталијона Драгачевског Кои Поживи 24. г. умре 6. Деценбра 1876. г. Смрт му била од Ране добивене у Рату на Боином Пољу. Оваи спомен подигошему Браћа његова.
5 Церова
Споменик Милутину Цветићу (†1876) ''(Церова – Доње гробље)'': Нека му буде ова реч Бог да му душу прости Спомен оваи показује краброг доброг воиника МИЛУТИНА ЦВЕТИЋА из Церове кои живи 31. г. Бив. Кмет и после се јуначки борио са Турцима. А рањен 21. Јула 1876. г. Оваи спомен подиже из превелике туге и жалости супруга Обренија која са мужем поживела 12 година и брат му Живан.