Skip to content

Commit ce8d6b5

Browse files
author
Vladimir Kotal
committed
translate system calls and inter-process communication slide
1 parent 4f261a2 commit ce8d6b5

File tree

3 files changed

+39
-42
lines changed

3 files changed

+39
-42
lines changed

img/tex/syscall_dist.tex

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,27 @@
1010
\selectfont}%
1111
\fi\endgroup%
1212
\begin{picture}(4161,1104)(238,-253)
13-
\put(353,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}u¾ivatelský}%
13+
\put(353,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}user}%
1414
}}}
15-
\put(488,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
15+
\put(488,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
1616
}}}
17-
\put(548,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jádro}%
17+
\put(548,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
1818
}}}
19-
\put(1568,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
19+
\put(1568,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
2020
}}}
21-
\put(1433,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}u¾ivatelský}%
21+
\put(1433,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}user}%
2222
}}}
23-
\put(1628,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jádro}%
23+
\put(1628,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
2424
}}}
25-
\put(2596,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jádro}%
25+
\put(2596,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
2626
}}}
2727
\put(2551,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
2828
}}}
2929
\put(3226,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
3030
}}}
31-
\put(3271,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jádro}%
31+
\put(3271,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
3232
}}}
33-
\put(3946,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jádro}%
33+
\put(3946,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
3434
}}}
3535
\put(3901,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
3636
}}}

img/tex/syscall_unx.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
\selectfont}%
1111
\fi\endgroup%
1212
\begin{picture}(4344,834)(169,-73)
13-
\put(488,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
13+
\put(488,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
1414
}}}
15-
\put(2468,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
15+
\put(2468,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
1616
}}}
17-
\put(1576,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}rozhraní volání jádra}%
17+
\put(1576,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel syscall API}%
1818
}}}
19-
\put(2168, 22){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jádro}%
19+
\put(2168, 22){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
2020
}}}
21-
\put(3728,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
21+
\put(3728,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
2222
}}}
2323
\end{picture}

intro.tex

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2426,44 +2426,41 @@
24262426
%%%%%
24272427

24282428
\begin{slide}
2429-
\sltitle{Volání slu¾eb a komunikace mezi procesy}
2429+
\sltitle{System calls and inter-process communication}
24302430
\begin{itemize}
24312431
\item UNIX\vspace{1ex}
24322432

24332433
\input{img/tex/syscall_unx.tex}
2434-
\item distribuovaný OS\vspace{1ex}
2434+
\item distributed OS\vspace{1ex}
24352435

24362436
\input{img/tex/syscall_dist.tex}
24372437
\end{itemize}
24382438
\end{slide}
24392439

24402440
\begin{itemize}
2441-
\item pokud unixový proces vy¾aduje provedení systémové slu¾by, pomocí
2442-
systé\-mo\-\-ho volání pøedá øízení jádru. Jádro je kus kódu sdíle{}ný v¹emi
2443-
procesy (ov¹em pøístupný jen pro ty, které jsou právì v re¾imu jádra). Jádro
2444-
tedy není samostatný privilegovaný proces, ale v¾dy bì¾í v rámci nìkterého
2445-
procesu (toho, který po¾ádal jádro o slu¾bu, nebo toho, který bì¾el v okam¾iku
2446-
pøíchodu pøeru¹ení).
2447-
\item komunikace mezi procesy v UNIXu je øe¹ena pomocí systémových volání, je
2448-
tedy zprostøedkovaná jádrem.
2449-
\item aby to nebylo tak jednoduché, mohou existovat systémové procesy
2450-
(o\-zna\-èo\-va\-né jako \emph{kernel threads}), které bì¾í celou dobu v
2451-
re¾imu jádra. Naprostá vìt¹ina systémových procesù v¹ak bì¾í v u¾ivatelském
2452-
re¾imu a li¹í se jen tím, ¾e mají vìt¹í pøístupová práva. Plánovaè procesù
2453-
pøepíná mezi procesy a tím umo¾òuje bìh více procesù souèasnì i na jednom
2454-
procesoru. Na multiprocesorových poèítaèích pak funguje skuteèný paralelismus
2455-
procesù a vláken (dokonce se proces mù¾e pøi pøeplánování dostat i na jiný
2456-
procesor).
2457-
\item v distribuovaném operaèním systému má jádro obvykle formu mikrojádra,
2458-
tj. zaji¹»uje pouze nejzákladnìj¹í slu¾by øízení procesoru, pøidìlování pamìti
2459-
a komunikace mezi procesy. Vy¹¹í systémové slu¾by, které jsou v UNIXu souèástí
2460-
jádra (napø. pøístup k systému souborù) jsou realizovány speciálními procesy
2461-
(servery) bì¾ícími v u¾ivatelském re¾imu procesoru. Jádro pøedá po¾adavek
2462-
u¾ivatelského procesu pøíslu¹nému serveru, který mù¾e bì¾et i na jiném uzlu
2463-
sítì.
2464-
\item dostupných mikrokernelù je v dne¹ní dobì mnoho. Mù¾ete zkusit napøíklad
2465-
Minix (u{}nix-like výukový systém), pøípadnì systém HURD, který bì¾í nad
2466-
mikrojádrem Mach.
2441+
\item If a Unix process requires to perform system task, it will pass the
2442+
control to the kernel using a system call. The kernel is code shared between
2443+
all processes however accessible only to those processes that are running in
2444+
kernel mode. The kernel is therefore not a standalone privileged process,
2445+
it is still running in the context of a process (one that requested system
2446+
service via system call or such that was running when interrupt came).
2447+
\item Inter-process communication in UNIX is achieved using system calls,
2448+
it is therefore handled by the kernel.
2449+
\item There can be system processes called \emph{kernel threads}, that are
2450+
running exclusively in kernel mode. The majority of system processes run in user
2451+
mode and differ from the rest in that they have elevated privileges.
2452+
The process scheduler switches between processes and makes it possible to run
2453+
multiple processes simultaneously even on single processor system.
2454+
Multi-processor systems enable true parallelism of processes and threads
2455+
(it is possible for a thread to migrate between processors based on scheduling).
2456+
\item In distributed operating systems the kernel is in the form of microkernel,
2457+
i.e. provides only the very basic services like processor programming, memory
2458+
allocation and inter-process communication. Upper system services that are part
2459+
of kernel in UNIX (e.g. file system access) are implemented as special processes
2460+
(servers) running in user mode. The kernel passes the request of user process to
2461+
relevant server that can be running on different network node.
2462+
\item There are many microkernels today, e.g. Minix (unix-like system) or HURD
2463+
that runs above the Mach micro-kernel.
24672464
\end{itemize}
24682465

24692466
%%%%%

0 commit comments

Comments
 (0)