|
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