|
145 | 145 | \pdfbookmark[1]{UNIX standards}{unixstd}
|
146 | 146 |
|
147 | 147 | \begin{slide}
|
148 |
| -\sltitle{Standardy UNIXu} |
| 148 | +\sltitle{UNIX standards} |
149 | 149 | \begin{itemize}
|
150 | 150 | \renewcommand{\baselinestretch}{0.8}
|
151 | 151 | \item \emsl{SVID} (System~V Interface Definition)
|
152 | 152 | \begin{itemize2}
|
153 |
| - \item \uv{fialová kniha}, kterou AT\&T vydala poprvé v roce 1985 |
154 |
| - \item dnes ve verzi SVID3 (odpovídá SVR4) |
| 153 | + \item \uv{purple book}, published by AT\&T first in 1985 |
| 154 | + \item today at version SVID4 from 1995 (SVID3 corresponds to SVR4) |
155 | 155 | \end{itemize2}
|
156 | 156 | \item \emsl{POSIX} (Portable Operating System based on UNIX)
|
157 | 157 | \begin{itemize2}
|
158 |
| - \item série standardù organizace IEEE znaèená P1003.xx, postupnì je |
159 |
| - pøejímá vrcholový nadnárodní orgán ISO |
| 158 | + \item family or standards published by the IEEE organization marked |
| 159 | + P1003.xx, gradually incorporated into ISO standards |
160 | 160 | \end{itemize2}
|
161 | 161 | \item \emsl{XPG} (X/Open Portability Guide)
|
162 | 162 | \begin{itemize2}
|
163 |
| - \item doporuèení konsorcia X/Open, které bylo zalo¾eno v r. 1984 pøedními |
164 |
| - výrobci platforem typu UNIX |
| 163 | + \item recommendation of the X/Open consortium, that was founded in 1984 |
| 164 | + by leading UNIX platform companies |
165 | 165 | \end{itemize2}
|
166 | 166 | \item \emsl{Single UNIX Specification}
|
167 | 167 | \begin{itemize2}
|
168 |
| - \item standard organizace The Open Group, vzniklé v roce 1996 slouèením |
169 |
| - X/Open a OSF |
170 |
| - \item dnes Version~4 (\emsl{SUSv4}) |
171 |
| - \item splnìní je nutnou podmínkou pro u¾ití obchodního názvu UNIX |
| 168 | + \item standard of the The Open Group organization founded in 1996 via |
| 169 | + merging X/Open and OSF |
| 170 | + \item today at Version~4 (\emsl{SUSv4}) |
| 171 | + \item the compliance is requisite condition for using the UNIX trademark |
172 | 172 | \end{itemize2}
|
173 | 173 | \end{itemize}
|
174 | 174 | \end{slide}
|
175 | 175 |
|
176 | 176 | \label{UNIXSTANDARDS}
|
177 | 177 |
|
178 | 178 | \begin{itemize}
|
179 |
| -\item základní informace je, ¾e oblast standardù týkající se unixových systémù |
180 |
| -je vìc znaènì slo¾itá a na první pohled velmi nepøehledná. |
181 |
| -\item AT\&T dovolila výrobcùm nazývat svoji komerèní UNIX variantu ``System |
182 |
| -V'' pouze pokud splòovala podmínky standardu SVID. AT\&T také publikovala |
183 |
| -\emph{System~V Verification Suite} (SVVS), které ovìøilo, zda daný systém |
184 |
| -odpovídá standardu. |
185 |
| -\item POSIX (Portable Operating System Interface) je standardizaèní snaha |
186 |
| -organizace IEEE (Institute of Electrical and Electronics Engineers). |
187 |
| -\item SUSv4 je spoleèný standard The Open Group, IEEE (Std. 1003.1, 2008 |
188 |
| -Edition) a ISO (ISO/IEC 9945-2008). |
189 |
| -\item Pro certifikaci operaèního systému na Single Unix Specification |
190 |
| -je nutné aby systém (na dané architektuøe, napø. 64-bit x86) pro¹el sadou |
191 |
| -testù. Výsledky testù jsou pak vyhodnoceny. Testy samotné jsou sdru¾eny |
192 |
| -do tzv. \emph{test suites}, co¾ jsou sady automatických testù, které |
193 |
| -projdou systém a zjistí jestli splòuje rozhraní dané normou. |
194 |
| -Pro SUSv3 je takových test suites cca 10. |
195 |
| -\item Rozhraní specifikované normou POSIX.1-2008 se dìlí na 4 |
196 |
| -základní skupiny: XSH (System Interfaces), XCU (Shell and Utilities), XBD |
197 |
| -(Base definitions). Z nich je co do poètu |
198 |
| -rozhraní nejobsáhlej¹í XSH, která popisuje více ne¾ 1000 rozhraní. |
199 |
| -\item Skupiny rozhraní POSIXu spolu se skupinou Xcurses, která je souèástí |
200 |
| -Single Unix Specification (ale nikoliv souèást POSIX báze v normì IEEE Std |
201 |
| -1003.1-2001) zahrnují celkem 1742 rozhraní, které tvoøí Single Unix |
202 |
| -Specification (2003). Tabulky rozhraní SUS je mo¾né získat zde: |
| 179 | +\item The very basic information is that the area of UNIX standards is very |
| 180 | +complex and incomprehensible on a first sight. |
| 181 | +\item AT\&T allowed the producers to call its own commercial UNIX variant |
| 182 | +``System V'' only if it complied to the SVID standard conditions. AT\&T also |
| 183 | +published \emph{System~V Verification Suite} (SVVS), that checked whether given |
| 184 | +system complies to the standard. |
| 185 | +\item POSIX (Portable Operating System Interface) is standardization effort |
| 186 | +of the IEEE organization (Institute of Electrical and Electronics Engineers). |
| 187 | +\item SUSv4 is common standard of The Open Group, IEEE (Std. 1003.1, 2008 |
| 188 | +Edition) and ISO (ISO/IEC 9945-2008). |
| 189 | +\item To certify given system to Single Unix Specification it is necessary |
| 190 | +to pass a series of tests (on given architecture, e.g. 64-bit x86). |
| 191 | +The results of the tests are then evaluated. The tests itself are unified into |
| 192 | +so called \emph{test suites}, which are sets of automatic tests that go through |
| 193 | +the system and verify if it implements the interfaces specified in the standard. |
| 194 | +For example for SUSv3 there are 10 such test suites. |
| 195 | +\item The interfaces specified by the POSIX.1-2008 standard are divided into 4 |
| 196 | +basic groups: XSH (System Interfaces), XCU (Shell and Utilities), XBD |
| 197 | +(Base definitions). W.r.t. number of interfaces the biggest of them is XSH that |
| 198 | +contains more than 1000 interfaces. |
| 199 | +\item The interface groups of POSIX together with the Xcurses group, that is |
| 200 | +part of Single Unix Specification (however not part of POSIX base in the IEEE Std |
| 201 | +1003.1-2001 standard) includes 1742 interfaces in total, which form Single Unix |
| 202 | +Specification (2003). The SUS interface tables are here: |
203 | 203 | \url{http://www.unix.org/version3/inttables.pdf}
|
204 |
| -\item komerèní UNIXy vìt¹inou sledují Single UNIX Specification, splnìní této |
205 |
| -normy je právì podmínkou pro u¾ití názvu UNIX (znaèka UNIX 98 odpovídá |
206 |
| -SUSv2, znaèka UNIX 03 odpovídá SUSv3, SUSv4 je UNIX V7 - neplést s historickým |
207 |
| -V7 UNIX). Je postavena na bázi POSIXu. My se budeme dr¾et SUSv4. Popis datových |
208 |
| -struktur a algoritmù jádra v tomto materiálu bude vìt¹inou vycházet ze |
209 |
| -System~V Rel.~4. |
210 |
| -\item na Solarisu je obsáhlá manuálová stránka \texttt{standards(5)}, kde mù¾ete |
211 |
| -na jednom místì nalézt mnoho informací týkající se standardù. Jednotlivé pøíkazy |
212 |
| -splòující danou normu jsou navíc umístìny do vyhrazených adresáøù. Napø. |
213 |
| -program \texttt{tr} je v adresáøích \texttt{/usr/xpg4/bin/} a |
214 |
| -\texttt{/usr/xpg6/bin/}, v ka¾dém je verze pøíkazu splòující danou normu. |
215 |
| -Na pøepínaèe a chování dané normou se pak lze spolehnout napø. pøi psaní |
216 |
| -shellových skriptù. |
217 |
| -\item opìt na Solarisu, podívejte se na hlavièkový soubor |
218 |
| -\texttt{/usr/inc{}lude/sys/fea\-ture\-\_tests.h} |
| 204 | +\item Commercial UNIXes largely follow the Single UNIX Specification, compliance |
| 205 | +to this standard is the condition to use the UNIX trademark |
| 206 | +(the UNIX 98 brand corresponds to SUSv2, UNIX 03 corresponds to SUSv3, SUSv4 is |
| 207 | +UNIX V7 - do not mix it up with historical V7 UNIX). It is built on the POSIX |
| 208 | +base. |
| 209 | +\item We are going to follow SUSv4 for APIs in this lecture. The data structure |
| 210 | +definitions and algorithms used by kernel will be mostly based on |
| 211 | +System~V Rel.~4 to keep things simple. |
| 212 | +\item On Solaris there is a extensive \texttt{standards(5)} manual page, where |
| 213 | +lots of information about standards can be found in one place. |
| 214 | +Individual commands compliant to the standard are moreover placed |
| 215 | +into special directories, e.g. the \texttt{tr} program is located in |
| 216 | +\texttt{/usr/xpg4/bin/} and \texttt{/usr/xpg6/bin/} directories, in each there |
| 217 | +is a version of the program compliant to the respective standard. |
| 218 | +The options and behavior specified by the standard can be then relied on e.g. |
| 219 | +when writing shell scripts. |
| 220 | +\item Also on Solaris, look into the |
| 221 | +\texttt{/usr/inc{}lude/sys/fea\-ture\-\_tests.h} header file. |
219 | 222 | \end{itemize}
|
220 | 223 |
|
221 | 224 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
0 commit comments