aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/articles/geom-class/article.xml
blob: e5942b95cc5d4b3d052880565a3be10604f18de8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
<?xml version="1.0" encoding="koi8-r" standalone="no"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
	"../../../share/xml/freebsd45.dtd">

<!--
    The FreeBSD Russian Documentation Project
    $FreeBSD$
    $FreeBSDru$
    Original revision: r38183
-->

<!-- ðÅÒÅ×ÏÄ: ôÁÒÁÓ ëÏÒÅÎËÏ -->

<article lang="ru">
  <title>óÏÚÄÁÎÉÅ ËÌÁÓÓÁ GEOM</title>

  <articleinfo>

    <authorgroup>
      <author>
	<firstname>Ivan</firstname>
	<surname>Voras</surname>
	<affiliation>
	  <address><email>ivoras@FreeBSD.org</email>
	  </address>
	</affiliation>
      </author>
    </authorgroup>

    <legalnotice id="trademarks" role="trademarks">
      &tm-attrib.freebsd;
      &tm-attrib.cvsup;
      &tm-attrib.intel;
      &tm-attrib.general;
    </legalnotice>

    <pubdate>$FreeBSD$</pubdate>

    <releaseinfo>$FreeBSD$</releaseinfo>

    <abstract>
      <para>üÔÁ ÓÔÁÔØÑ ÄÏËÕÍÅÎÔÉÒÕÅÔ ÎÅËÏÔÏÒÙÅ ÎÁÞÁÌØÎÙÅ ×ÙËÌÁÄËÉ
	× ÒÁÚÒÁÂÏÔËÅ GEOM-ËÌÁÓÓÏ×, Á ÔÁËÖÅ ÍÏÄÕÌÅÊ ÑÄÒÁ × ÏÂÝÅÍ.
	ðÒÅÄÐÏÌÁÇÁÅÔÓÑ, ÞÔÏ ÞÉÔÁÔÅÌØ ÂÌÉÚËÏ ÚÎÁËÏÍ Ó ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅÍ
	ÎÁ óÉ × ËÏÎÔÅËÓÔÅ ÐÒÏÓÔÒÁÎÓÔ×Á ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ×
	(userland).</para>
    </abstract>
  </articleinfo>

  <sect1 id="intro">
    <title>÷ÓÔÕÐÌÅÎÉÅ</title>

    <sect2 id="intro-docs">
      <title>äÏËÕÍÅÎÔÁÃÉÑ</title>

      <para>äÏËÕÍÅÎÔÁÃÉÑ ÐÏ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÀ ÄÌÑ ÑÄÒÁ ÓËÕÄÎÁÑ, ÜÔÏ ÏÄÎÁ ÉÚ
	ÎÅÍÎÏÇÉÈ ÏÂÌÁÓÔÅÊ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ, ÇÄÅ ÐÏÞÔÉ ÎÅÔ ÈÏÒÏÛÉÈ ÕÞÅÂÎÙÈ
	ÐÏÓÏÂÉÊ, É ÓÏ×ÅÔ <quote>ÞÉÔÁÊ ÉÓÈÏÄÎÉËÉ!</quote> &mdash;
	ÓÏÈÒÁÎÑÅÔ Ó×ÏÀ ÓÐÒÁ×ÅÄÌÉ×ÏÓÔØ. ïÄÎÁËÏ, ÓÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ
	ÓÔÁÔÅÊ É ËÎÉÇ ÒÁÚÎÏÊ ÁËÔÕÁÌØÎÏÓÔÉ, ËÏÔÏÒÙÅ ÒÅËÏÍÅÎÄÕÀÔÓÑ Ë ÉÚÕÞÅÎÉÀ
	ÐÅÒÅÄ ÔÅÍ, ËÁË ÎÁÞÁÔØ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÔØ:</para>

      <itemizedlist>
	<listitem>
	  <para><ulink url="&url.books.developers-handbook;/index.html">
	    òÕËÏ×ÏÄÓÔ×Ï FreeBSD ÄÌÑ ÒÁÚÒÁÂÏÔÞÉËÏ×</ulink> &mdash; ÞÁÓÔØ
	    ðÒÏÅËÔÁ äÏËÕÍÅÎÔÁÃÉÉ FreeBSD, ÎÉÞÅÇÏ ÓÐÅÃÉÆÉÞÎÏÇÏ
	    Ï ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÉ ÑÄÒÁ × ÎÅÍ ÎÅÔ, ÚÁÔÏ ÅÓÔØ ÎÅÍÎÏÇÏ ÏÂÝÅÊ
	    ÐÏÌÅÚÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.</para>
	</listitem>

	<listitem>
	  <para><ulink url="&url.books.arch-handbook;/index.html">
	    òÕËÏ×ÏÄÓÔ×Ï ÐÏ áÒÈÉÔÅËÔÕÒÅ FreeBSD</ulink> &mdash; ÔÁËÖÅ
	    Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ðÒÏÅËÔÁ äÏËÕÍÅÎÔÁÃÉÉ FreeBSD, ÓÏÄÅÒÖÉÔ ÏÐÉÓÁÎÉÑ
	    ÎÅËÏÔÏÒÙÈ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÈ ÓÒÅÄÓÔ× É ÐÒÏÃÅÄÕÒ. õÄÅÌÉÔÅ ×ÎÉÍÁÎÉÅ
	    ÒÁÚÄÅÌÕ ÎÏÍÅÒ 13 &mdash;
	    <ulink url="&url.books.arch-handbook;/driverbasics.html">
	    îÁÐÉÓÁÎÉÅ ÄÒÁÊ×ÅÒÏ× ÕÓÔÒÏÊÓÔ× ÄÌÑ FreeBSD</ulink>.</para>
	</listitem>

	<listitem>
	  <para>îÅÓËÏÌØËÏ ÉÎÔÅÒÅÓÎÙÈ ÓÔÁÔÅÊ Ï ÕÓÔÒÏÊÓÔ×Å ÑÄÒÁ
	    ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ ÓÁÊÔÅ
	    <ulink url="http://www.freebsddiary.com">FreeBSD
	    Diary</ulink>.</para>
	</listitem>

	<listitem>
	  <para>óÔÒÁÎÉÃÙ ÉÚ ÒÁÚÄÅÌÁ ÎÏÍÅÒ 9 ÓÉÓÔÅÍÎÏÇÏ ÓÐÒÁ×ÏÞÎÉËÁ,
	    ÓÏÄÅÒÖÁÔ ×ÁÖÎÕÀ ÄÏËÕÍÅÎÔÁÃÉÀ ÐÏ ÆÕÎËÃÉÑÍ ÑÄÒÁ.</para>
	</listitem>

	<listitem>
	  <para>óÔÒÁÎÉÃÁ ÓÐÒÁ×ÏÞÎÉËÁ &man.geom.4;, Á ÔÁËÖÅ <ulink
	    url="http://phk.freebsd.dk/pubs/">ÓÌÁÊÄÙ ðÏÌÁ-èÅÎÎÉÎÇÁ ëÁÍÐÁ
	    </ulink> &mdash; ÏÂÝÅÅ ÐÒÅÄÓÔÁ×ÌÅÎÉÅ Ï ÐÏÄÓÉÓÔÅÍÅ GEOM.</para>
	</listitem>

	<listitem>
	  <para>óÔÒÁÎÉÃÙ ÓÐÒÁ×ÏÞÎÉËÁ &man.g.bio.9;, &man.g.event.9;,
	    &man.g.data.9;, &man.g.geom.9;, &man.g.provider.9;,
	    &man.g.consumer.9;, &man.g.access.9;, Á ÔÁËÖÅ ÄÒÕÇÉÅ,
	    Ó×ÑÚÁÎÎÙÅ Ó ×ÙÛÅÕÐÏÍÑÎÕÔÙÍÉ É ÒÁÓËÒÙ×ÁÀÝÉÅ ÓÐÅÃÉÆÉÞÅÓËÉÊ
	    ÆÕÎËÃÉÏÎÁÌ ÐÏÄÓÉÓÔÅÍÙ GEOM.</para>
	</listitem>

	<listitem>
	  <para>óÔÒÁÎÉÃÁ ÓÐÒÁ×ÏÞÎÉËÁ &man.style.9; &mdash; ÄÏËÕÍÅÎÔÉÒÕÅÔ
	    ÓÏÇÌÁÛÅÎÉÑ Ï ÓÔÉÌÅ ÏÆÏÒÍÌÅÎÉÑ ËÏÄÁ, ËÏÔÏÒÙÅ ÏÂÑÚÁÎÙ ÂÙÔØ ÓÏÂÌÀÄÅÎÙ
	    ÅÓÌÉ ×Ù ÐÌÁÎÉÒÕÅÔÅ ÐÅÒÅÄÁÔØ ×ÁÛ ËÏÄ × CVS-ÄÒÅ×Ï FreeBSD.</para>
	</listitem>
      </itemizedlist>
    </sect2>
  </sect1>

  <sect1 id="prelim">
    <title>ðÏÄÇÏÔÏ×ËÁ</title>

    <para>äÌÑ ÔÏÇÏ, ÞÔÏ ÚÁÎÉÍÁÔØÓÑ ÒÁÚÒÁÂÏÔËÁÍÉ ÄÌÑ ÑÄÒÁ, ÖÅÌÁÔÅÌØÎÏ
      ÉÍÅÔØ Ä×Á ÏÔÄÅÌØÎÙÈ ËÏÍÐØÀÔÅÒÁ. ïÄÉÎ ÉÚ ÎÉÈ ÐÒÅÄÎÁÚÎÁÞÅÎ ÄÌÑ ÓÒÅÄÙ
      ÒÁÚÒÁÂÏÔËÉ É ÉÓÈÏÄÎÙÈ ËÏÄÏ×, Á ×ÔÏÒÏÊ &mdash; ÄÌÑ ÚÁÐÕÓËÁ ÔÅÓÔÏ×
      ÏÔÌÁÖÉ×ÁÅÍÏÇÏ ËÏÄÁ. ÷ÔÏÒÏÍÕ ËÏÍÐØÀÔÅÒÕ ÄÌÑ ÒÁÂÏÔÙ ÄÏÓÔÁÔÏÞÎÏ
      ÉÍÅÔØ ×ÏÚÍÏÖÎÏÓÔØ ×ÙÐÏÌÎÑÔØ ÎÁÞÁÌØÎÕÀ ÚÁÇÒÕÚËÕ ÐÏ ÓÅÔÉ É ÍÏÎÔÉÒÏ×ÁÎÉÅ
      ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ ÐÏ ÓÅÔÉ. ÷ ÜÔÏÊ ÓÉÔÕÁÃÉÉ, ÅÓÌÉ ÏÔÌÁÖÉ×ÁÅÍÙÊ ËÏÄ
      ÓÏÄÅÒÖÉÔ ÏÛÉÂËÉ É ×ÙÚÏ×ÅÔ Á×ÁÒÉÊÎÕÀ ÏÓÔÁÎÏ×ËÕ ÓÉÓÔÅÍÙ, ÔÏ ÜÔÏ ÎÅ
      ÐÏ×ÌÅÞÅÔ ÐÏÒÞÕ ÉÌÉ ÕÔÅÒÀ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ
      <!-- (and other <quote>live</quote> data). -->.
      ÷ÔÏÒÏÍÕ ËÏÍÐØÀÔÅÒÕ ÄÁÖÅ ÎÅ ÐÏÔÒÅÂÕÅÔÓÑ ÉÍÅÔØ Ó×ÏÊ ÍÏÎÉÔÏÒ,
      ÄÏÓÔÁÔÏÞÎÏ ÂÕÄÅÔ ÓÏÅÄÉÎÅÎÉÑ ÁÓÉÎÈÒÏÎÎÙÈ ÐÏÒÔÏ× ËÁÂÅÌÅÍ RS-232 ÉÌÉ
      ÓÏÅÄÉÎÅÎÉÑ ÐÒÉ ÐÏÍÏÝÉ KVM-ÕÓÔÒÏÊÓÔ×Á.</para>

    <para>îÏ ÔÁË ËÁË ÄÁÌÅËÏ ÎÅ Õ ËÁÖÄÏÇÏ ÅÓÔØ Ä×Á ÉÌÉ ÂÏÌÅÅ ËÏÍÐØÀÔÅÒÏ×
      ÐÏÄ ÒÕËÏÊ, ÅÓÔØ ÐÁÒÁ ÓÐÏÓÏÂÏ× ÐÏÄÇÏÔÏ×ÉÔØ ÉÎÕÀ <quote>ÖÉ×ÕÀ</quote>
      ÓÉÓÔÅÍÕ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ËÏÄÁ ÄÌÑ ÑÄÒÁ. ïÄÉÎ ÉÚ ÎÉÈ &mdash; ÜÔÏ
      ÒÁÚÒÁÂÏÔËÁ × <ulink url="http://www.vmware.com/">VMWare</ulink>
      ÉÌÉ <ulink url="http://www.qemu.org/">QEmu</ulink> ×ÉÒÔÕÁÌØÎÏÊ ÍÁÛÉÎÅ
      (ÜÔÏ ÌÕÞÛÅÅ ÉÚ ÄÏÓÔÕÐÎÏÇÏ, ÐÏÓÌÅ, ËÏÎÅÞÎÏ-ÖÅ, ×ÙÄÅÌÅÎÎÏÇÏ ÄÌÑ ÔÅÓÔÏ×
      ËÏÍÐØÀÔÅÒÁ).</para>

    <sect2 id="prelim-system">
      <title>îÁÓÔÒÏÊËÁ ÓÉÓÔÅÍÙ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ</title>

      <para>ðÒÅÖÄÅ ×ÓÅÇÏ ÎÅÏÂÈÏÄÉÍÏ ÉÍÅÔØ × ÑÄÒÅ ÐÏÄÄÅÒÖËÕ
	<option>INVARIANTS</option>. äÏÂÁ×ØÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ ×
	ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÑÄÒÁ:</para>

      <programlisting>options INVARIANT_SUPPORT
options INVARIANTS</programlisting>

      <para>äÌÑ ÂÏÌØÛÅÊ ÉÎÆÏÒÍÁÔÉ×ÎÏÓÔÉ ÐÒÉ ÏÔÌÁÄËÅ ×ËÌÀÞÉÔÅ ÐÏÄÄÅÒÖËÕ
	WITNESS, ËÏÔÏÒÁÑ ÂÕÄÅÔ ÐÒÅÄÕÐÒÅÖÄÁÔØ ×ÁÓ × ÓÌÕÞÁÅ ×ÏÚÎÉËÎÏ×ÅÎÉÑ
	×ÚÁÉÍÏÂÌÏËÉÒÏ×ÏË:</para>

      <programlisting>options WITNESS_SUPPORT
options WITNESS
</programlisting>

      <para>ôÁËÖÅ ×ËÌÀÞÉÔÅ ÏÔÌÁÄÏÞÎÙÅ ÓÉÍ×ÏÌÙ, ÅÓÌÉ ÐÌÁÎÉÒÕÅÔÅ
	×ÙÐÏÌÎÑÔØ ÏÔÌÁÄËÕ ÐÏ ÄÁÍÐÁÍ Á×ÁÒÉÊÎÙÈ ÏÔËÁÚÏ×</para>

      <programlisting>  makeoptions    DEBUG=-g</programlisting>

      <para>õÓÔÁÎÏ×ËÁ ÏÔÌÁÄÏÞÎÏÇÏ ÑÄÒÁ ÏÂÙÞÎÙÍ ÓÐÏÓÏÂÏÍ (<command>make
	installkernel</command>) ÎÅ ÄÁÓÔ ÐÒÉ×ÙÞÎÏÇÏ ÒÅÚÕÌØÔÁÔÁ:
	ÆÁÊÌ ÑÄÒÁ ÂÕÄÅÔ ÎÁÚÙ×ÁÔØÓÑ <filename>kernel.debug</filename>
	É ÂÕÄÅÔ ÎÁÈÏÄÉÔØÓÑ ×
	<filename>/usr/obj/usr/src/sys/KERNELNAME/</filename>.
	äÌÑ ÕÄÏÂÓÔ×Á, ÏÔÌÁÄÏÞÎÏÅ ÑÄÒÏ ÎÅÏÂÈÏÄÉÍÏ ÓËÏÐÉÒÏ×ÁÔØ ×
	<filename>/boot/kernel/</filename>.</para>

      <para>ôÁËÖÅ ÕÄÏÂÎÏ ÉÍÅÔØ ×ËÌÀÞÅÎÎÙÊ ÏÔÌÁÄÞÉË ÑÄÒÁ, ÔÁË ×Ù ÓÍÏÖÅÔÅ
	ÉÓÓÌÅÄÏ×ÁÔØ ÐÁÎÉËÉ ÓÒÁÚÕ-ÖÅ ÐÏÓÌÅ ÉÈ ×ÏÚÎÉËÎÏ×ÅÎÉÑ. äÌÑ ×ËÌÀÞÅÎÉÑ
	ÏÔÌÁÄÞÉËÁ ÄÏÂÁ×ØÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÑÄÒÁ:</para>

      <programlisting>options KDB
options DDB
options KDB_TRACE</programlisting>

      <para>äÌÑ Á×ÔÏÍÁÔÉÞÅÓËÏÇÏ ÚÁÐÕÓËÁ ÏÔÌÁÄÞÉËÁ ÑÄÒÁ ÐÏÓÌÅ ×ÏÚÎÉËÎÏ×ÅÎÉÑ
	ÐÁÎÉËÉ ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ ÕÓÔÁÎÏ×ÉÔØ ÐÅÒÅÍÅÎÎÕÀ sysctl:</para>

      <programlisting>  debug.debugger_on_panic=1</programlisting>

      <para>ðÁÎÉËÉ ÓÉÓÔÅÍÙ ÂÕÄÕÔ ÐÒÏÉÓÈÏÄÉÔØ, ÐÏÜÔÏÍÕ ÕÄÅÌÉÔÅ ×ÎÉÍÁÎÉÅ
	ËÜÛÕ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ. ïÂÙÞÎÏ, ÐÒÉ ×ËÌÀÞÅÎÎÏÍ ÍÅÈÁÎÉÚÍÅ
	softupdates, ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ ÆÁÊÌÁ ÍÏÖÅÔ ÂÙÔØ ÕÔÅÒÑÎÁ ÅÓÌÉ
	ÐÁÎÉËÁ ÐÒÏÉÚÏÛÌÁ ÒÁÎØÛÅ ÓÂÒÁÓÙ×ÁÎÉÑ ËÜÛÁ ÎÁ ÕÓÔÒÏÊÓÔ×Ï ÈÒÁÎÅÎÉÑ.
	÷ÙËÌÀÞÅÎÉÅ ÍÅÈÁÎÉÚÍÁ softupdates (ÐÏÓÒÅÄÓÔ×ÏÍ ÍÏÎÔÉÒÏ×ÁÎÉÑ ÆÁÊÌÏ×ÏÊ
	ÓÉÓÔÅÍÙ Ó ÏÐÃÉÅÊ <quote>sync</quote>) ÚÎÁÞÉÔÅÌØÎÏ ÓËÁÚÙ×ÁÅÔÓÑ ÎÁ
	ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ É, ÏÐÑÔØ-ÖÅ, ÎÅ ÇÁÒÁÎÔÉÒÕÅÔ ÃÅÌÏÓÔÎÏÓÔÉ
	ÄÁÎÎÙÈ. ëÁË ËÏÍÐÒÏÍÉÓÓ, ÍÏÖÎÏ ÓÏËÒÁÔÉÔØ ÚÁÄÅÒÖËÉ ÓÂÒÁÓÙ×ÁÎÉÑ
	ËÜÛÁ ÍÅÈÁÎÉÚÍÁ softupdates. åÓÔØ ÔÒÉ ÐÅÒÅÍÅÎÎÙÈ sysctl, ÚÎÁÞÅÎÉÑ
	ËÏÔÏÒÙÈ ÎÅÏÂÈÏÄÉÍÏ ÉÚÍÅÎÉÔØ (ÌÕÞÛÅ ×ÓÅÇÏ &mdash; ÐÒÏÐÉÓÁ× ÉÈ ×
	<filename>/etc/sysctl.conf</filename>):</para>

      <programlisting>kern.filedelay=5
kern.dirdelay=4
kern.metadelay=3</programlisting>

      <para>úÎÁÞÅÎÉÑ ÜÔÉÈ ÐÅÒÅÍÅÎÎÙÈ &mdash; ÓÅËÕÎÄÙ.</para>

      <para>äÌÑ ÏÔÌÁÄËÉ ÐÁÎÉË ÑÄÒÁ ÎÅÏÂÈÏÄÉÍÙ ÄÁÍÐÙ ÐÁÍÑÔÉ.
	ôÁË ËÁË ÐÁÎÉËÁ ÑÄÒÁ ÍÏÖÅÔ <quote>ÓÌÏÍÁÔØ</quote> ÆÁÊÌÏ×ÕÀ
	ÓÉÓÔÅÍÕ, ÄÁÍÐ ÓÎÁÞÁÌÁ ÓÏÈÒÁÎÑÅÔÓÑ × <quote>ÓÙÒÏÊ</quote>
	ÒÁÚÄÅÌ. ïÂÙÞÎÏ, ÜÔÏ Ó×ÏÐ-ÒÁÚÄÅÌ. ðÏÜÔÏÍÕ, ÒÁÚÍÅÒ Ó×ÏÐ-ÒÁÚÄÅÌÁ
	ÄÏÌÖÅÎ ÂÙÔØ ÎÅ ÍÅÎØÛÅ ÒÁÚÍÅÒÁ ïúõ ËÏÍÐØÀÔÅÒÁ. ðÒÉ ÐÏÓÌÅÄÕÀÝÅÊ
	ÚÁÇÒÕÚËÅ ÄÁÍÐ ËÏÐÉÒÕÅÔÓÑ × ÏÂÙÞÎÙÊ ÆÁÊÌ. üÔÏ ÐÒÏÉÓÈÏÄÉÔ ÓÒÁÚÕ-ÖÅ
	ÐÏÓÌÅ ÐÒÏ×ÅÒËÉ É ÍÏÎÔÉÒÏ×ÁÎÉÑ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ, ÎÏ ÐÅÒÅÄ
	ÁËÔÉ×ÉÒÏ×ÁÎÉÅÍ ÒÁÚÄÅÌÁ Ó×ÏÐÁ. ôÁËÏÅ ÐÏ×ÅÄÅÎÉÅ ËÏÎÔÒÏÌÉÒÕÅÔÓÑ
	ÓÌÅÄÕÀÝÉÍÉ ÐÅÒÅÍÅÎÎÙÍÉ <filename>/etc/rc.conf</filename>:</para>

      <programlisting>dumpdev="/dev/ad0s4b"
dumpdir="/usr/core" </programlisting>

      <para>ðÅÒÅÍÅÎÎÁÑ <varname>dumpdev</varname> ÕËÁÚÙ×ÁÅÔ ÎÁ ÒÁÚÄÅÌ
	ÐÏÄËÁÞËÉ, Á <varname>dumpdir</varname> ÓÏÏÂÝÁÅÔ ÓÉÓÔÅÍÅ ËÕÄÁ
	ÐÅÒÅÍÅÝÁÔØ ÄÁÍÐ ÑÄÒÁ ÐÒÉ ÓÌÅÄÕÀÝÅÊ ÚÁÇÒÕÚËÅ.</para>

      <para>óÏÈÒÁÎÅÎÉÅ ÄÁÍÐÁ ÑÄÒÁ &mdash; ÐÒÏÃÅÓÓ ÍÅÄÌÅÎÎÙÊ, É, ÅÓÌÉ
	Õ ×ÁÛÅÇÏ ËÏÍÐØÀÔÅÒÁ ÍÎÏÇÏ ÏÐÅÒÁÔÉ×ÎÏÊ ÐÁÍÑÔÉ (>256M) É ÅÓÌÉ
	ÐÁÎÉËÉ ÓÌÕÞÁÀÔÓÑ ÞÁÓÔÏ, ÔÏ ÏÖÉÄÁÎÉÅ ÓÏÈÒÁÎÅÎÉÑ ÄÁÍÐÏ× ÍÏÖÅÔ ÎÁÞÁÔØ
	ÒÁÚÄÒÁÖÁÔØ (×ÓÐÏÍÎÉÍ, ÞÔÏ ÎÁÄ ÄÁÍÐÏÍ ÐÒÏÉÓÈÏÄÉÔ Ä×Å ÏÐÅÒÁÃÉÉ:
	ÓÏÈÒÁÎÅÎÉÅ × Ó×ÏÐ-ÆÁÊÌ É ÐÅÒÅÍÅÝÅÎÉÅ ÎÁ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ).
	÷ ÔÁËÏÍ ÓÌÕÞÁÅ ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ ÕÄÏÂÎÙÍ ÏÇÒÁÎÉÞÉ×ÁÎÉÅ ÏÂßÅÍÁ
	ÉÓÐÏÌØÚÕÅÍÏÊ ÓÉÓÔÅÍÏÊ ÐÁÍÑÔÉ ÐÕÔÅÍ ÕÓÔÁÎÏ×ËÉ ÐÅÒÅÍÅÎÎÏÊ ×
	<filename>/boot/loader.conf</filename>:</para>

      <programlisting>  hw.physmem="256M"</programlisting>

      <para>åÓÌÉ ÐÁÎÉËÉ ÓÌÕÞÁÀÔÓÑ ÞÁÓÔÏ É ÒÁÚÍÅÒ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ ÂÏÌØÛÏÊ
	(ÉÌÉ ÖÅ ×Ù ÐÒÏÓÔÏ ÎÅ ÄÏ×ÅÒÑÅÔÅ softupdates É ÆÏÎÏ×ÏÊ ÐÒÏ×ÅÒËÅ
	ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ), ÒÅËÏÍÅÎÄÕÅÔÓÑ ÏÔËÌÀÞÉÔØ ÆÏÎÏ×ÕÀ ÐÒÏ×ÅÒËÕ ÆÁÊÌÏ×ÙÈ
	ÓÉÓÔÅÍ ÐÏÓÒÅÄÓÔ×ÏÍ ÕÓÔÁÎÏ×ËÉ ÐÅÒÅÍÅÎÎÏÊ ×
	<filename>/etc/rc.conf</filename>:</para>

      <programlisting>  background_fsck="NO"</programlisting>

      <para>÷ ÜÔÏÍ ÓÌÕÞÁÅ ÆÁÊÌÏ×ÙÅ ÓÉÓÔÅÍÙ ÂÕÄÕÔ ÐÒÏ×ÅÒÑÔØÓÑ ÔÏÌØËÏ ÐÒÉ
	ÎÅÏÂÈÏÄÉÍÏÓÔÉ. ôÁËÖÅ ÚÁÍÅÔØÔÅ, ÞÔÏ × ÓÌÕÞÁÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÆÏÎÏ×ÏÊ
	ÐÒÏ×ÅÒËÉ, ÎÏ×ÁÑ ÐÁÎÉËÁ ÍÏÖÅÔ ÓÌÕÞÉÔØÓÑ × ÔÏ ×ÒÅÍÑ, ËÏÇÄÁ
	ÐÒÏ×ÅÒÑÀÔÓÑ ÄÉÓËÉ. äÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ, ÎÁÉÂÏÌÅÅ ÂÅÚÏÐÁÓÎÙÊ ÓÐÏÓÏÂ
	&mdash; ÎÅ ÉÍÅÔØ ÍÎÏÇÏ ÌÏËÁÌØÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ, Á ÉÓÐÏÌØÚÏ×ÁÔØ
	×ÔÏÒÏÊ ËÏÍÐØÀÔÅÒ × ËÁÞÅÓÔ×Å NFS-ÓÅÒ×ÅÒÁ.</para>
    </sect2>

    <sect2 id="prelim-starting">
      <title>îÁÞÁÌÏ ÐÒÏÅËÔÁ</title>

      <para>äÌÑ ÎÁÐÉÓÁÎÉÑ ÎÏ×ÏÇÏ ËÌÁÓÓÁ GEOM ÎÅÏÂÈÏÄÉÍÏ ÓÏÚÄÁÔØ ÐÏÄÄÉÒÅËÔÏÒÉÀ
	× ÌÀÂÏÊ ÄÏÓÔÕÐÎÏÊ ÐÏÌØÚÏ×ÁÔÅÌÀ ÄÉÒÅËÔÏÒÉÉ. óÏ×ÓÅÍ ÎÅ ÏÂÑÚÁÔÅÌØÎÏ,
	ÞÔÏ ×ÁÛ ÍÏÄÕÌØ ÉÚÎÁÞÁÌØÎÏ ÒÁÚÍÅÝÁÌÓÑ ×
	<filename>/usr/src</filename>.</para>
    </sect2>

    <sect2 id="prelim-makefile">
      <title>Makefile</title>

      <para>ðÒÁ×ÉÌÏÍ ÈÏÒÏÛÅÇÏ ÔÏÎÁ Ñ×ÌÑÅÔÓÑ ÓÏÚÄÁÎÉÅ
	<filename>Makefile</filename>-Ï× ÄÌÑ ËÁÖÄÏÇÏ ÎÅÔÒÉ×ÉÁÌØÎÏÇÏ
	ÐÒÏÅËÔÁ, ÐÒÉÍÅÒÏÍ ËÏÔÏÒÏÇÏ ËÏÎÅÞÎÏ-ÖÅ Ñ×ÌÑÅÔÓÑ ÓÏÚÄÁÎÉÅ
	ÍÏÄÕÌÅÊ ÑÄÒÁ.</para>

      <para>óÏÚÄÁÎÉÅ <filename>Makefile</filename> &mdash; ÄÅÌÏ
	ÎÅ ÓÌÏÖÎÏÅ ÂÌÁÇÏÄÁÒÑ ÉÓÞÅÒÐÙ×ÁÀÝÅÍÕ ÎÁÂÏÒÕ ×ÓÐÏÍÏÇÁÔÅÌØÎÙÈ ÓÒÅÄÓÔ×,
	ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÈ ÓÉÓÔÅÍÏÊ. ÷ ×ËÒÁÔÃÅ, ×ÏÔ ËÁË ÄÏÌÖÅÎ ×ÙÇÌÑÄÅÔØ
	<filename>Makefile</filename> ÄÌÑ ÍÏÄÕÌÑ ÑÄÒÁ:</para>

      <programlisting>SRCS=g_journal.c
KMOD=geom_journal

.include &lt;bsd.kmod.mk&gt;</programlisting>

      <para>üÔÏÔ <filename>Makefile</filename> (Ó ÉÚÍÅÎÅÎÎÙÍÉ ÉÍÅÎÁÍÉ
	ÆÁÊÌÏ×) ÐÏÄÏÊÄÅÔ Ë ÌÀÂÏÍÕ ÍÏÄÕÌÀ ÑÄÒÁ. ëÌÁÓÓ GEOM ÍÏÖÅÔ ÒÁÚÍÅÝÁÔØÓÑ
	× ÏÄÎÏÍ ÅÄÉÎÓÔ×ÅÎÎÏÍ ÍÏÄÕÌÅ ÑÄÒÁ. åÓÌÉ ÄÌÑ ÓÂÏÒËÉ ×ÁÛÅÇÏ ÍÏÄÕÌÑ
	ÔÒÅÂÕÅÔÓÑ ÂÏÌØÛÅ, ÞÅÍ ÏÄÉÎ ÆÁÊÌ, ÔÏ ÐÅÒÅÞÉÓÌÉÔÅ ÉÈ ÉÍÅÎÁ,
	ÒÁÚÄÅÌÅÎÎÙÅ ÐÒÏÂÅÌØÎÙÍÉ ÓÉÍ×ÏÌÁÍÉ, × ÐÅÒÅÍÅÎÎÏÊ <envar>SRCS</envar>.
	</para>
    </sect2>
  </sect1>

  <sect1 id="kernelprog">
    <title>ðÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ × ÑÄÒÅ FreeBSD</title>

    <sect2 id="kernelprog-memalloc">
      <title>÷ÙÄÅÌÅÎÉÅ ÐÁÍÑÔÉ</title>

      <para>ðÒÏÞÉÔÁÊÔÅ &man.malloc.9; &mdash; ×ÙÄÅÌÅÎÉÅ ÐÁÍÑÔÉ ÌÉÛØ
	ÎÅÍÎÏÇÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ Ó×ÏÅÇÏ ÜË×É×ÁÌÅÎÔÁ, ÉÓÐÏÌØÚÕÅÍÏÇÏ × ÐÒÏÓÔÒÁÎÓÔ×Å
	ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ× (userland). îÁÉÂÏÌÅÅ ÐÒÉÍÅÔÎÏ ÔÏ, ÞÔÏ
	<function>malloc</function>() É <function>free</function>()
	ÐÒÉÎÉÍÁÀÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ, ËÏÔÏÒÙÅ ÏÐÉÓÁÎÙ × ÓÔÒÁÎÉÃÅ
	ÓÐÒÁ×ÏÞÎÉËÁ.</para>

      <para>ôÉÐ <quote>malloc_type</quote> ÎÅÏÂÈÏÄÉÍÏ ÏÂßÑ×ÉÔØ × ÓÅËÃÉÉ
	ÄÅËÌÁÒÁÃÉÊ ÆÁÊÌÁ Ó ÉÓÈÏÄÎÙÍ ËÏÄÏÍ, ÎÁÐÒÉÍÅÒ:</para>

      <programlisting>  static MALLOC_DEFINE(M_GJOURNAL, "gjournal data", "GEOM_JOURNAL Data");</programlisting>

      <para>äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÏÔ ÍÁËÒÏÓ,
	ÎÅÏÂÈÏÄÉÍÏ ×ËÌÀÞÉÔØ ÓÌÅÄÕÀÝÉÅ ÚÁÇÏÌÏ×ÏÞÎÙÅ ÆÁÊÌÙ:
	<filename>sys/param.h</filename>,
	<filename>sys/kernel.h</filename> É
	<filename>sys/malloc.h</filename></para>

      <para>óÕÝÅÓÔ×ÕÅÔ ÅÝÅ ÏÄÉÎ ÍÅÈÁÎÉÚÍ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ &mdash; UMA
	(Universal Memory Allocator), ÏÐÉÓÁÎÎÙÊ × &man.uma.9;.
	üÔÏ ÓÐÅÃÉÆÉÞÅÓËÉÊ ÍÅÔÏÄ, ÐÒÅÉÍÕÝÅÓÔ×ÅÎÎÏ ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÊ ÄÌÑ
	ÂÙÓÔÒÏÇÏ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ ÐÏÄ ÓÐÉÓËÉ, ÓÏÓÔÏÑÝÉÅ ÉÚ ÜÌÅÍÅÎÔÏ×
	ÏÄÉÎÁËÏ×ÏÇÏ ÒÁÚÍÅÒÁ (ÎÁÐÒÉÍÅÒ, ÄÉÎÁÍÉÞÅÓËÉÅ ÍÁÓÓÉ×Ù ÓÔÒÕËÔÕÒ).</para>
    </sect2>

    <sect2 id="kernelprog-lists">
      <title>ïÞÅÒÅÄÉ É ÓÐÉÓËÉ</title>

      <para>ïÚÎÁËÏÍØÔÅÓØ Ó &man.queue.3;
	÷Ï ÍÎÏÖÅÓÔ×Å ÓÌÕÞÁÅ× ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÂÕÄÅÔ ÏÒÇÁÎÉÚÏ×Ù×ÁÔØ É
	ÕÐÒÁ×ÌÑÔØ ÔÁËÏÊ ÓÔÒÕËÔÕÒÏÊ ÄÁÎÎÙÈ, ËÁË ÓÐÉÓËÉ. ë ÓÞÁÓÔØÀ, ÜÔÁ
	ÓÔÒÕËÔÕÒÁ ÄÁÎÎÙÈ ÒÅÁÌÉÚÏ×ÁÎÁ ÎÅÓËÏÌØËÉÍÉ ÓÐÏÓÏÂÁÍÉ × ×ÉÄÅ ÍÁËÒÏÓÏ×
	ÎÁ óÉ, Á ÔÁËÖÅ ×ËÌÀÞÅÎÁ × ÓÉÓÔÅÍÕ. îÁÉÂÏÌÅÅ ÇÉÂËÉÊ É ÞÁÓÔÏ
	ÕÐÏÔÒÅÂÌÑÅÍÙÊ ÔÉÐ ÓÐÉÓËÁ &mdash; TAILQ. üÔÏÔ ÔÉÐ ÓÐÉÓËÁ ÔÁËÖÅ ÏÄÉÎ
	ÉÚ ÎÁÉÂÏÌÅÅ ÔÒÅÂÏ×ÁÔÅÌØÎÙÈ Ë ÐÁÍÑÔÉ (ÅÇÏ ÜÌÅÍÅÎÔÙ - Ó Ä×ÏÊÎÙÍÉ
	Ó×ÑÚÑÍÉ), Á ÔÁËÖÅ &mdash; ÎÁÉÂÏÌÅÅ ÍÅÄÌÅÎÎÙÊ (ÏÄÎÁËÏ ÓÞÅÔ ÉÄÅÔ
	ÎÁ ÎÅÓËÏÌØËÏ ÉÎÓÔÒÕËÃÉÊ ãðõ, ÐÏÜÔÏÍÕ ÐÏÓÌÅÄÎÅÅ ÕÔ×ÅÒÖÄÅÎÉÅ ÎÅ ÓÌÅÄÕÅÔ
	×ÏÓÐÒÉÎÉÍÁÔØ × ×ÓÅÒØÅÚ).</para>

      <para>åÓÌÉ ×ÁÖÎÁ ÓËÏÒÏÓÔØ ÐÏÌÕÞÅÎÉÑ ÄÁÎÎÙÈ, ÔÏ ×ÏÚØÍÉÔÅ ÎÁ ×ÏÏÒÕÖÅÎÉÅ
	&man.tree.3; É &man.hashinit.9;.</para>
    </sect2>

    <sect2 id="kernelprog-bios">
      <title>BIOs</title>

      <para>óÔÒÕËÔÕÒÁ <structname>bio</structname> ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ×ÓÅÈ
	ÏÐÅÒÁÃÉÊ ××ÏÄÁ/×Ù×ÏÄÁ, ËÁÓÁÀÝÉÈÓÑ GEOM. ïÎÁ ÓÏÄÅÒÖÉÔ
	ÉÎÆÏÒÍÁÃÉÀ Ï ÔÏÍ, ËÁËÏÅ ÕÓÔÒÏÊÓÔ×Ï ('ÐÏÓÔÁ×ÝÉË geom') ÄÏÌÖÎÏ ÏÔ×ÅÔÉÔØ
	ÎÁ ÚÁÐÒÏÓ, ÔÉÐ ÚÁÐÒÏÓÁ, ÓÍÅÝÅÎÉÅ, ÄÌÉÎÕ É ÕËÁÚÁÔÅÌØ ÎÁ ÂÕÆÅÒ,
	Á ÔÁËÖÅ ÎÁÂÏÒ <quote>ÏÐÒÅÄÅÌÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ</quote> ÆÌÁÇÏ× É
	ÐÏÌÅÊ
	<!-- , ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÍÏÞØ ÏÓÕÝÅÓÔ×ÉÔØ various hacks-->.
	</para>

      <para>÷ÁÖÎÙÍ ÍÏÍÅÎÔÏÍ Ñ×ÌÑÅÔÓÑ ÔÏ, ÞÔÏ <structname>bio</structname>
	ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ ÁÓÉÎÈÒÏÎÎÏ. üÔÏ ÚÎÁÞÉÔ, ÞÔÏ ×Ï ÍÎÏÇÉÈ ÞÁÓÔÑÈ ËÏÄÁ
	ÎÅÔ ÁÎÁÌÏÇÁ Ë &man.read.2; É &man.write.2; ÆÕÎËÃÉÑÍ ÉÚ ÐÒÏÓÔÒÁÎÓÔ×Á
	ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÙÅ ÎÅ ×ÏÚ×ÒÁÝÁÀÔ ÕÐÒÁ×ÌÅÎÉÅ ÐÏËÁ
	ÎÅ ×ÙÐÏÌÎÉÔÓÑ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ×. óËÏÒÅÅ, ÐÏ ÚÁ×ÅÒÛÅÎÉÉ ÏÂÒÁÂÏÔËÉ
	ÚÁÐÒÏÓÁ (ÉÌÉ × ÓÌÕÞÁÅ ÏÛÉÂËÉ ÐÒÉ ÏÂÒÁÂÏÔËÅ) ËÁË ÉÚ×ÅÝÅÎÉÅ ×ÙÚÙ×ÁÅÔÓÑ
	ÏÐÒÅÄÅÌÅÎÎÁÑ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÆÕÎËÃÉÑ.</para>

      <para>áÓÉÎÈÒÏÎÎÁÑ ÍÏÄÅÌØ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ × ÞÅÍ-ÔÏ ÓÌÏÖÎÅÊ,
	ÎÅÖÅÌÉ ÞÁÝÅ ÉÓÐÏÌØÚÕÅÍÁÑ ÉÍÐÅÒÁÔÉ×ÎÁÑ ÍÏÄÅÌØ, ÉÓÐÏÌØÚÕÅÍÁÑ ×
	ÐÒÏÓÔÒÁÎÓÔ×Å ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ×; × ÌÀÂÏÍ ÓÌÕÞÁÅ, ÐÒÉ×ÙËÁÎÉÅ
	ÚÁÊÍÅÔ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ. ÷ ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ
	×ÓÐÏÍÏÇÁÔÅÌØÎÙÅ ÆÕÎËÃÉÉ <function>g_write_data</function>() É
	<function>g_read_data</function>(), ÎÏ <emphasis>ÄÁÌÅËÏ ÎÅ
	×ÓÅÇÄÁ</emphasis>. ÷ ÞÁÓÔÎÏÓÔÉ, ÜÔÉ ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
	ËÏÇÄÁ ÚÁÈ×ÁÞÅÎ ÍØÀÔÅËÓ; ÎÁÐÒÉÍÅÒ, ÍØÀÔÅËÓ GEOM-ÔÏÐÏÌÏÇÉÉ ÉÌÉ
	×ÎÕÔÒÅÎÎÉÊ ÍØÀÔÅËÓ, ÕÄÅÒÖÉ×ÁÅÍÙÊ × ÈÏÄÅ ×ÙÐÏÌÎÅÎÉÑ
	<function>.start</function>() ÉÌÉ <function>.stop</function>().</para>
    </sect2>
  </sect1>

  <sect1 id="geom">
    <title>ðÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ × ÓÉÓÔÅÍÅ GEOM</title>

    <sect2 id="geom-ggate">
      <title>Ggate</title>

      <para>åÓÌÉ ÍÁËÓÉÍÁÌØÎÁÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÎÅ ÔÒÅÂÕÅÔÓÑ,
	ÔÏ ÂÏÌÅÅ ÐÒÏÓÔÏÊ ÓÐÏÓÏ ÓÏ×ÅÒÛÁÔØ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÄÁÎÎÙÈ &mdash;
	ÜÔÏ ×ÙÐÏÌÎÑÔØ ÉÈ × ÐÒÏÓÔÒÁÎÓÔ×Å ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ×
	ÐÏÓÒÅÄÓÔ×ÏÍ ggate (GEOM gate). ë ÎÅÄÏÓÔÁÔËÁÍ ÓÌÅÄÕÅÔ ÏÔÎÅÓÔÉ
	ÎÅ×ÏÚÍÏÖÎÏÓÔØ ÐÒÏÓÔÏÇÏ ÐÅÒÅÎÏÓÁ ËÏÄÁ × ÑÄÒÏ.</para>
    </sect2>

    <sect2 id="geom-class">
      <title>ëÌÁÓÓ GEOM</title>

      <para>ëÌÁÓÓ GEOM ×ÙÐÏÌÎÑÅÔ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÄÁÎÎÙÈ. üÔÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ
	ÍÏÇÕÔ ÂÙÔØ ÓËÏÍÐÏÎÏ×ÁÎÙ ÄÒÕÇ Ó ÄÒÕÇÏÍ × ×ÉÄÅ ÄÅÒÅ×Á. üËÚÅÍÐÌÑÒ
	ËÌÁÓÓÁ GEOM ÎÁÚÙ×ÁÀÔ <emphasis>geom</emphasis>.</para>

      <para>÷ ËÁÖÄÏÍ ËÌÁÓÓÅ GEOM ÅÓÔØ ÎÅÓËÏÌØËÏ <quote>ÍÅÔÏÄÏ× ËÌÁÓÓÁ</quote>,
	ËÏÔÏÒÙÅ ×ÙÚÙ×ÁÀÔÓÑ ËÏÇÄÁ ÜËÚÅÍÐÌÑÒÁ ËÌÁÓÓÁ ÎÅÔ × ÎÁÌÉÞÉÉ (ÉÌÉ ÖÅ
	ÏÎÉ ÎÅ ÐÒÉ×ÑÚÁÎÙ Ë ËÏÎËÒÅÔÎÏÍÕ ÜËÚÅÍÐÌÑÒÕ ËÌÁÓÓÁ).</para>

      <itemizedlist>
	<listitem>
	  <para><function>.init</function> ×ÙÚÙ×ÁÅÔÓÑ ÔÏÇÄÁ, ËÏÇÄÁ
	    ÓÉÓÔÅÍÅ GEOM ÓÔÁÎÏ×ÉÔÓÑ ÉÚ×ÅÓÔÎÏ Ï ËÌÁÓÓÅ GEOM (ÎÁÐÒÉÍÅÒ,
	    ËÏÇÄÁ ÚÁÇÒÕÖÁÅÔÓÑ ÍÏÄÕÌØ ÑÄÒÁ).</para>
	</listitem>

	<listitem>
	  <para><function>.fini</function> ÂÕÄÅÔ ×ÙÚ×ÁÎ × ÓÌÕÞÁÅ ÏÔËÁÚÁ
	    GEOM ÓÉÓÔÅÍÙ ÏÔ ËÌÁÓÓÁ (ÎÁÐÒÉÍÅÒ, ÐÒÉ ×ÙÇÒÕÚËÅ ÍÏÄÕÌÑ).</para>
	</listitem>

	<listitem>
	  <para><function>.taste</function> ×ÙÚÙ×ÁÅÔÓÑ, ËÏÇÄÁ ×
	    ÓÉÓÔÅÍÅ ÐÏÑ×ÌÑÅÔÓÑ ÎÏ×ÙÊ ËÌÁÓÓ ÉÌÉ ÐÏÓÔÁ×ÝÉË geom
	    (<quote>provider</quote>). åÓÌÉ ÓÏÏÔ×ÅÔÓÔ×ÉÅ ÎÁÊÄÅÎÏ, ÔÏ ÜÔÁ
	    ÆÕÎËÃÉÑ ÏÂÙÞÎÏ ÓÏÚÄÁÅÔ É ÚÁÐÕÓËÁÅÔ ÜËÚÅÍÐÌÑÒ geom.</para>
	</listitem>

	<listitem>
	  <para><function>.destroy_geom</function> ×ÙÚÙ×ÁÅÔÓÑ ÐÒÉ
	    ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÒÁÚÒÕÛÉÔØ ÜËÚÅÍÐÌÑÒ geom.</para>
	</listitem>

	<listitem>
	  <para><function>.ctlconf</function> ÂÕÄÅÔ ×ÙÚ×ÁÎ, ËÏÇÄÁ
	    ÐÏÌØÚÏ×ÁÔÅÌØ ÚÁÐÒÏÓÉÔ ÉÚÍÅÎÅÎÉÅ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ
	    ÜËÚÅÍÐÌÑÒÁ geom</para>
	</listitem>
      </itemizedlist>

      <para>ôÁËÖÅ ÏÐÒÅÄÅÌÅÎÙ ÆÕÎËÃÉÉ ÓÏÂÙÔÉÊ GEOM, ËÏÔÏÒÙÅ ËÏÐÉÒÕÀÔÓÑ
	× ÜËÚÅÍÐÌÑÒ geom.</para>

      <para>ðÏÌÅ <function>.geom</function> × ÓÔÒÕËÔÕÒÅ
	<structname>g_class</structname> &mdash; ÜÔÏ ÓÐÉÓÏË (LIST) ÜËÚÅÍÐÌÑÒÏ×
	geom, ÒÅÁÌÉÚÏ×ÁÎÎÙÈ ÉÚ ËÌÁÓÓÁ.</para>

      <para>üÔÉ ÆÕÎËÃÉÉ ×ÙÚÙ×ÁÀÔÓÑ ÉÚ g_event ÐÏÔÏËÁ ÑÄÒÁ.</para>
    </sect2>

    <sect2 id="geom-softc">
      <title>Softc</title>

      <para><quote>softc</quote> &mdash; ÜÔÏ ÕÓÔÁÒÅ×ÛÉÊ ÔÅÒÍÉÎ
	ÄÌÑ <quote>ÐÒÉ×ÁÔÎÙÈ ÄÁÎÎÙÈ ÄÒÁÊ×ÅÒÁ</quote> (<quote>driver
	private data</quote>). îÁÚ×ÁÎÉÅ ×ÅÒÏÑÔÎÅÊ ×ÓÅÇÏ ÐÒÏÉÓÈÏÄÉÔ ÏÔ
	ÕÓÔÁÒÅ×ÛÅÇÏ ÔÅÒÍÉÎÁ <quote>software control block</quote>.
	÷ ÓÉÓÔÅÍÅ GEOM softc ÜÔÏ ÓÔÒÕËÔÕÒÁ (ÔÏÞÎÅÅ: ÕËÁÚÁÔÅÌØ ÎÁ
	ÓÔÒÕËÔÕÒÕ) ËÏÔÏÒÁÑ ÍÏÖÅÔ ÂÙÔØ ÐÒÉÓÏÅÄÉÎÅÎÁ Ë ÜËÚÅÍÐÌÑÒÕ geom
	É ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÐÒÉ×ÁÔÎÙÅ ÄÁÎÎÙÅ ÜËÚÅÍÐÌÑÒÁ. õ ÂÏÌØÛÉÎÓÔ×Á
	ËÌÁÓÓÏ× GEOM ÅÓÔØ ÓÌÅÄÕÀÝÉÅ ÞÌÅÎÙ:</para>

      <itemizedlist>
	<listitem>
	  <para><varname>struct g_provider *provider</varname> :
	    <quote>ÐÏÓÔÁ×ÝÉË geom</quote> ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÊ ÄÁÎÎÙÍ ÜËÚÅÍÐÌÑÒÏÍ
	    geom</para>
	</listitem>

	<listitem>
	  <para><varname>uint16_t n_disks</varname> : ëÏÌÉÞÅÓÔ×Ï
	    ÐÏÔÒÅÂÉÔÅÌÅÊ geom (<quote>consumer</quote>), ÏÂÓÌÕÖÉ×ÁÅÍÙÈ ÄÁÎÎÙÍ
	    ÜËÚÅÍÐÌÑÒÏÍ geom</para>
	</listitem>

	<listitem>
	  <para><varname>struct g_consumer **disks</varname> :
	    íÁÓÓÉ× <varname>struct g_consumer*</varname>. (îÅ×ÏÚÍÏÖÎÏ
	    ÏÂÏÊÔÉÓØ ÏÄÉÎÁÒÎÙÍ ÕËÁÚÁÔÅÌÅÍ, ÐÏÔÏÍÕ ÞÔÏ ÓÉÓÔÅÍÁ GEOM ÓÏÚÄÁÅÔ
	    ÄÌÑ ÎÁÓ ÓÔÒÕËÔÕÒÙ struct g_consumer*)</para>
	</listitem>
      </itemizedlist>

      <para>óÔÒÕËÔÕÒÁ <structname>softc</structname> ÓÏÄÅÒÖÉÔ ÓÏÓÔÏÑÎÉÅ
	ÜËÚÅÍÐÌÑÒÁ geom. õ ËÁÖÄÏÇÏ ÜËÚÅÍÐÌÑÒÁ ÅÓÔØ Ó×ÏÊ softc.</para>
    </sect2>

    <sect2 id="geom-metadata">
      <title>íÅÔÁÄÁÎÎÙÅ</title>

      <para>æÏÒÍÁÔ ÍÅÔÁÄÁÎÎÙÈ × ÔÏÊ ÉÌÉ ÉÎÏÊ ÍÅÒÅ ÚÁ×ÉÓÉÔ ÏÔ ËÏÎËÒÅÔÎÏÇÏ
	ËÌÁÓÓÁ, ÎÏ <emphasis>ÏÂÑÚÁÎ</emphasis> ÎÁÞÉÎÁÔØÓÑ Ó:</para>

      <itemizedlist>
	<listitem>
	  <para>16-ÂÁÊÔÎÏÇÏ ÂÕÆÅÒÁ ÄÌÑ ÐÏÄÐÉÓÉ &mdash; ÓÔÒÏËÉ Ó
	    ÚÁ×ÅÒÛÁÀÝÉÍ ÎÕÌÅÍ (ÏÂÙÞÎÏ ÜÔÏ ÉÍÑ ËÌÁÓÓÁ)</para>
	</listitem>

	<listitem>
	  <para>uint32 ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ×ÅÒÓÉÉ</para>
	</listitem>
      </itemizedlist>

      <para>ðÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ, ÞÔÏ ËÌÁÓÓÙ geom ÚÎÁÀÔ ËÁË ÏÂÒÁÝÁÔØÓÑ Ó
	ÍÅÔÁÄÁÎÎÙÍÉ Ó ÉÄÅÎÔÉÆÉËÁÔÏÒÁÍÉ ×ÅÒÓÉÊ ÎÉÖÅ, ÞÅÍ ÉÈ ÓÏÂÓÔ×ÅÎÎÙÅ.</para>

      <para>íÅÔÁÄÁÎÎÙÅ ÒÁÚÍÅÝÁÀÔÓÑ × ÐÏÓÌÅÄÎÅÍ ÓÅËÔÏÒÅ ÐÏÓÔÁ×ÝÉËÁ geom
	(ÐÏÜÔÏÍÕ ÏÂÑÚÁÎÙ ÃÅÌÉËÏÍ ÕÍÅÝÁÔØÓÑ × ÎÅÍ).</para>

      <para>(÷ÓÅ ÜÔÏ ÚÁ×ÉÓÉÔ ÏÔ ÒÅÁÌÉÚÁÃÉÉ, ÎÏ ×ÅÓØ ÓÕÝÅÓÔ×ÕÀÝÉÊ ËÏÄ ÒÁÂÏÔÁÅÔ
	ÐÏÄÏÂÎÏ ÏÐÉÓÁÎÎÏÍÕ É ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÂÉÂÌÉÏÔÅËÁÍÉ.)</para>
    </sect2>

    <sect2 id="geom-creating">
      <title>íÁÒËÉÒÏ×ÁÎÉÅ/ÓÏÚÄÁÎÉÅ ÜËÚÅÍÐÌÑÒÁ geom</title>

      <para>ðÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÓÏÂÙÔÉÊ ÓÌÅÄÕÀÝÁÑ:</para>

      <itemizedlist>
	<listitem>
	  <para>ÐÏÌØÚÏ×ÁÔÅÌØ ÚÁÐÕÓËÁÅÔ ÓÌÕÖÅÂÎÕÀ ÐÒÏÇÒÁÍÍÕ &man.geom.8;</para>
	</listitem>

	<listitem>
	  <para>ÐÒÏÇÒÁÍÍÁ ÒÅÛÁÅÔ ËÁËÉÍ ËÌÁÓÓÏÍ geom ÅÊ ÐÒÉÄÅÔÓÑ
	    ÕÐÒÁ×ÌÑÔØ É ÉÝÅÔ ÂÉÂÌÉÏÔÅËÕ
	    <filename>geom_<replaceable>CLASSNAME</replaceable>.so</filename>
	    (ËÏÔÏÒÁÑ ÏÂÙÞÎÏ ÎÁÈÏÄÉÔÓÑ × <filename>/lib/geom</filename>).</para>
	</listitem>

	<listitem>
	  <para>ÏÎÁ ÏÔËÒÙ×ÁÅÔ ÂÉÂÌÉÏÔÅËÕ ÐÒÉ ÐÏÍÏÝÉ &man.dlopen.3;,
	    ÉÚ×ÌÅËÁÅÔ ×ÓÐÏÍÏÇÁÔÅÌØÎÙÅ ÆÕÎËÃÉÉ É ÏÐÒÅÄÅÌÅÎÉÑ ÐÁÒÁÍÅÔÒÏ×
	    ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.</para>
	</listitem>
      </itemizedlist>

      <para>÷ÏÔ ÔÁË ÐÒÏÉÓÈÏÄÉÔ ÓÏÚÄÁÎÉÅ/ÍÁÒËÉÒÏ×ÁÎÉÅ ÎÏ×ÏÇÏ ÜËÚÅÍÐÌÑÒÁ
	geom:</para>

      <itemizedlist>
	<listitem>
	  <para>&man.geom.8; ÉÝÅÔ ËÏÍÁÎÄÕ × ÁÒÇÕÍÅÎÔÁÈ ËÏÍÁÎÄÎÏÊ
	    ÓÔÒÏËÉ (ÏÂÙÞÎÏ ÜÔÏ <option>label</option>) É ×ÙÚÙ×ÁÅÔ
	    ×ÓÐÏÍÏÇÁÔÅÌØÎÕÀ ÆÕÎËÃÉÀ.</para>
	</listitem>

	<listitem>
	  <para>÷ÓÐÏÍÏÇÁÔÅÌØÎÁÑ ÆÕÎËÃÉÑ ÐÒÏ×ÅÒÑÅÔ ÐÁÒÁÍÅÔÒÙ É
	    ÓÏÂÉÒÁÅÔ ÍÅÔÁÄÁÎÎÙÅ, ËÏÔÏÒÙÅ ÚÁÐÉÓÙ×ÁÀÔÓÑ ×Ï ×ÓÅ ×Ï×ÌÅÞÅÎÎÙÅ
	    ÐÏÓÔÁ×ÝÉËÉ geom.</para>
	</listitem>

	<listitem>
	  <para>üÔÏ <quote>ÐÏ×ÒÅÖÄÁÅÔ (spoil)</quote> ÓÕÝÅÓÔ×ÕÀÝÉÅ
	    ÜËÚÅÍÐÌÑÒÙ geom (ÅÓÌÉ ÏÎÉ ÂÙÌÉ) É ÐÏÒÏÖÄÁÅÔ ÎÏ×ÙÊ ×ÉÔÏË
	    <quote>ÔÅÓÔÉÒÏ×ÁÎÉÑ</quote> ÐÏÓÔÁ×ÝÉËÏ× geom. ãÅÌÅ×ÏÊ ËÌÁÓÓ geom
	    ÏÐÏÚÎÁÅÔ ÍÅÔÁÄÁÎÎÙÅ É ÁËÔÉ×ÉÒÕÅÔ ÜËÚÅÍÐÌÑÒ geom.</para>
	</listitem>
      </itemizedlist>

      <para>(ðÒÉ×ÅÄÅÎÎÁÑ ×ÙÛÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÓÏÂÙÔÉÊ ÚÁ×ÉÓÉÔ ÏÔ
	ËÏÎËÒÅÔÎÏÊ ÒÅÁÌÉÚÁÃÉÉ, ÎÏ ×ÅÓØ ÓÕÝÅÓÔ×ÕÀÝÉÊ ËÏÄ ÒÁÂÏÔÁÅÔ
	ÐÏÄÏÂÎÏ ÏÐÉÓÁÎÎÏÍÕ É ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÂÉÂÌÉÏÔÅËÁÍÉ.)</para>
    </sect2>

    <sect2 id="geom-command">
      <title>óÔÒÕËÔÕÒÁ ËÏÍÁÎÄ geom</title>

      <para>÷ÓÐÏÍÏÇÁÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ <filename>geom_CLASSNAME.so</filename>
	ÜËÓÐÏÒÔÉÒÕÅÔ ÓÔÒÕËÔÕÒÕ <structname>class_commands</structname>,
	ËÏÔÏÒÁÑ Ñ×ÌÑÅÔÓÑ ÍÁÓÓÉ×ÏÍ ÜÌÅÍÅÎÔÏ×
	<structname>struct g_command</structname>. üÔÉ ËÏÍÁÎÄÙ ÏÄÉÎÁËÏ×ÏÇÏ
	ÆÏÒÍÁÔÁ É ×ÙÇÌÑÄÑÔ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ:</para>

      <programlisting>  ËÏÍÁÎÄÁ [-ÏÐÃÉÉ] ÉÍÑ_geom [ÄÒÕÇÉÅ]</programlisting>

      <para>ïÂÝÉÍÉ ËÏÍÁÎÄÁÍÉ Ñ×ÌÑÀÔÓÑ:</para>

      <itemizedlist>
	<listitem>
	  <para>label &mdash; ÚÁÐÉÓÁÔØ ÍÅÔÁÄÁÎÎÙÅ × ÕÓÔÒÏÊÓÔ×Á,
	    ÞÔÏÂÙ ÏÎÉ ÍÏÇÌÉ ÂÙÔØ ÏÐÏÚÎÁÎÙ × ÐÒÏÃÅÓÓÅ ÔÅÓÔÉÒÏ×ÁÎÉÑ
	    É ÉÓÐÏÌØÚÏ×ÁÎÙ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÜËÚÅÍÐÌÑÒÁÈ geom</para>
	</listitem>

	<listitem>
	  <para>destroy &mdash; ÒÁÚÒÕÛÉÔØ ÍÅÔÁÄÁÎÎÙÅ, ÚÁ ËÏÔÏÒÙÍ
	    ÐÏÓÌÅÄÕÅÔ ÒÁÚÒÕÛÅÎÉÅ ÜËÚÅÍÐÌÑÒÏ× geom</para>
	</listitem>
      </itemizedlist>

      <para>ïÂÝÉÅ ÏÐÃÉÉ:</para>

      <itemizedlist>
	<listitem>
	  <para><literal>-v</literal> : ÄÅÔÁÌØÎÙÊ ×Ù×ÏÄ</para>
	</listitem>

	<listitem>
	  <para><literal>-f</literal> : ÐÒÉÎÕÄÉÔØ</para>
	</listitem>
      </itemizedlist>

      <para>îÅËÏÔÏÒÙÅ ÏÐÅÒÁÃÉÉ, Ë ÐÒÉÍÅÒÕ ÍÁÒËÉÒÏ×ÁÎÉÅ ÍÅÔÁÄÁÎÎÙÍÉ É
	ÒÁÚÒÕÛÅÎÉÅ ÍÅÔÁÄÁÎÎÙÈ ÍÏÇÕÔ ÂÙÔØ ×ÙÐÏÌÎÅÎÙ ÉÚ ÐÒÏÓÔÒÁÎÓÔ×Á
	ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ×. äÌÑ ÜÔÏÇÏ, ÓÔÒÕËÔÕÒÁ
	<structname>g_command</structname> ÓÏÄÅÒÖÉÔ ÐÏÌÅ
	<varname>gc_func</varname>, ËÏÔÏÒÏÅ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎÏ ÎÁ
	ÆÕÎËÃÉÀ (× ÔÏÍ-ÖÅ <filename>.so</filename>), ËÏÔÏÒÁÑ ÂÕÄÅÔ ×ÙÚ×ÁÎÁ
	ÄÌÑ ÏÂÒÁÂÏÔËÉ ËÏÍÁÎÄÙ. ÷ ÓÌÕÞÁÅ, ËÏÇÄÁ <varname>gc_func</varname>
	ÒÁ×ÎÏ NULL, ËÏÍÁÎÄÁ ÂÕÄÅÔ ÐÅÒÅÄÁÎÁ ÍÏÄÕÌÀ ÑÄÒÁ: ÆÕÎËÃÉÉ
	<function>.ctlreq</function> ËÌÁÓÓÁ GEOM.</para>
    </sect2>

    <sect2 id="geom-geoms">
      <title>üËÚÅÍÐÌÑÒÙ geom</title>

      <para>õ ÜËÚÅÍÐÌÑÒÏ× ËÌÁÓÓÏ× GEOM ÅÓÔØ ×ÎÕÔÒÅÎÎÉÅ ÄÁÎÎÙÅ, ËÏÔÏÒÙÅ
	ÈÒÁÎÑÔÓÑ × ÓÔÒÕËÔÕÒÁÈ softc, Á ÔÁËÖÅ ÅÓÔØ ÎÅËÏÔÏÒÙÅ ÆÕÎËÃÉÉ,
	ÐÏÓÒÅÄÓÔ×ÏÍ ËÏÔÏÒÙÈ ÏÎÉ ÒÅÁÇÉÒÕÀÔ ÎÁ ×ÎÅÛÎÉÅ ÓÏÂÙÔÉÑ.</para>

      <para>æÕÎËÃÉÉ ÓÏÂÙÔÉÊ:</para>

      <itemizedlist>
	<listitem>
	  <para><function>.access</function> : ÐÒÏÓÞÉÔÙ×ÁÅÔ
	    ÐÒÁ×Á ÄÏÓÔÕÐÁ (ÞÔÅÎÉÅ/ÚÁÐÉÓØ/ÉÓËÌÀÞÉÔÅÌØÎÙÊ ÄÏÓÔÕÐ)</para>
	</listitem>

	<listitem>
	  <para><function>.dumpconf</function> : ×ÏÚ×ÒÁÝÁÅÔ
	    ÉÎÆÏÒÍÁÃÉÀ Ï ÜËÚÅÍÐÌÑÒÅ geom; ÆÏÒÍÁÔ XML</para>
	</listitem>

	<listitem>
	  <para><function>.orphan</function> : ×ÙÚÙ×ÁÅÔÓÑ, ËÏÇÄÁ
	    ÏÔÓÏÅÄÉÎÑÅÔÓÑ ÌÀÂÏÊ ÉÚ ÎÉÚÌÅÖÁÝÉÈ ÐÏÓÔÁ×ÝÉËÏ× geom</para>
	</listitem>

	<listitem>
	  <para><function>.spoiled</function> : ×ÙÚÙ×ÁÅÔÓÑ, ËÏÇÄÁ
	    ÐÒÏÉÚ×ÏÄÉÔÓÑ ÚÁÐÉÓØ × ÎÉÚÌÅÖÁÝÉÊ ÐÏÓÔÁ×ÝÉË geom</para>
	</listitem>

	<listitem>
	  <para><function>.start</function> : ÏÂÒÁÂÁÔÙ×ÁÅÔ ××ÏÄ/×Ù×ÏÄ</para>
	</listitem>
      </itemizedlist>

      <para>üÔÉ ÆÕÎËÃÉÉ ×ÙÚÙ×ÁÀÔÓÑ ÉÚ ÑÄÅÒÎÏÇÏ ÐÏÔÏËÁ
	<function>g_down</function> É × ÜÔÏÍ ËÏÎÔÅËÓÔÅ ÎÅ ÍÏÖÅÔ ÂÙÔØ
	ÂÌÏËÉÒÏ×ÏË (ÐÏÉÝÉÔÅ ÏÐÒÅÄÅÌÅÎÉÅ <quote>ÂÌÏËÉÒÏ×ËÁ</quote> × ÄÒÕÇÉÈ
	ÉÓÔÏÞÎÉËÁÈ), ÞÔÏ ÎÅÍÎÏÇÏ ÏÇÒÁÎÉÞÉ×ÁÅÔ Ó×ÏÂÏÄÕ ÄÅÊÓÔ×ÉÊ, ÎÏ
	ÓÐÏÓÏÂÓÔ×ÕÅÔ ÂÙÓÔÒÏÔÅ ÏÂÒÁÂÏÔËÉ.</para>

      <para>éÚ ×ÙÛÅÕÐÏÍÑÎÕÔÙÈ, ÎÁÉÂÏÌÅÅ ×ÁÖÎÏÊ É ×ÙÐÏÌÎÑÀÝÅÊ ÐÏÌÅÚÎÕÀ ÒÁÂÏÔÕ
	ÆÕÎËÃÉÅÊ Ñ×ÌÑÅÔÓÑ <function>.start</function>(), ËÏÔÏÒÁÑ ×ÙÚÙ×ÁÅÔÓÑ
	×ÓÑËÉÊ ÒÁÚ, ËÏÇÄÁ ÐÏÓÔÁ×ÝÉËÕ geom, ÕÐÒÁ×ÌÑÅÍÏÍÕ ÜËÚÅÍÐÌÑÒÏÍ ËÌÁÓÓÁ,
	ÐÒÉÈÏÄÉÔ ÚÁÐÒÏÓ BIO.</para>
    </sect2>

    <sect2 id="geom-threads">
      <title>ðÏÔÏËÉ ×ÙÐÏÌÎÅÎÉÑ ÓÉÓÔÅÍÙ geom</title>

      <para>óÉÓÔÅÍÏÊ GEOM × ÑÄÒÅ ïó ÓÏÚÄÁÀÔÓÑ É ÉÓÐÏÌØÚÕÀÔÓÑ ÔÒÉ
	ÐÏÔÏËÁ ×ÙÐÏÌÎÅÎÉÑ (kernel threads):</para>

      <itemizedlist>
	<listitem>
	  <para><literal>g_down</literal> : ïÂÒÁÂÁÔÙ×ÁÅÔ ÚÁÐÒÏÓÙ,
	    ÐÒÉÈÏÄÑÝÉÅ ÏÔ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÙÈ ÓÕÝÎÏÓÔÅÊ (ÔÁËÉÈ, ËÁË ÚÁÐÒÏÓÙ ÉÚ
	    ÐÒÏÓÔÒÁÎÓÔ×Á ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ×) ÎÁ ÐÕÔÉ Ë ÆÉÚÉÞÅÓËÉÍ
	    ÕÓÔÒÏÊÓÔ×ÁÍ</para>
	</listitem>

	<listitem>
	  <para><literal>g_up</literal> : ïÂÒÁÂÁÔÙ×ÁÅÔ ÏÔ×ÅÔÙ ÏÔ
	    ÄÒÁÊ×ÅÒÏ× ÕÓÔÒÏÊÓÔ× ÎÁ ÚÁÐÒÏÓÙ, ×ÙÐÏÌÎÅÎÎÙÅ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÙÍÉ
	    ÓÕÝÎÏÓÔÑÍÉ</para>
	</listitem>

	<listitem>
	  <para><literal>g_event</literal> : ïÔÒÁÂÁÔÙ×ÁÅÔ × ÏÓÔÁÌØÎÙÈ
	    ÓÌÕÞÁÑÈ, ËÁË-ÔÏ ÓÏÚÄÁÎÉÅ ÜËÚÅÍÐÌÑÒÁ geom, ÐÒÏÓÞÉÔÙ×ÁÎÉÅ ÐÒÁ×
	    ÄÏÓÔÕÐÁ, ÓÏÂÙÔÉÑ <quote>ÐÏ×ÒÅÖÄÅÎÉÑ</quote> É Ô.Ð.</para>
	</listitem>
      </itemizedlist>

      <para>ëÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ ÐÒÏÃÅÓÓ ÚÁÐÒÁÛÉ×ÁÅÔ <quote>ÐÒÏÞÉÔÁÔØ
	ÄÁÎÎÙÅ X ÐÏ ÓÍÅÝÅÎÉÀ Y ÆÁÊÌÁ</quote>, ÐÒÏÉÓÈÏÄÉÔ ÓÌÅÄÕÀÝÅÅ:</para>

      <itemizedlist>
	<listitem>
	  <para>æÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÐÒÅÏÂÒÁÚÕÅÔ ÚÁÐÒÏÓ × ÜËÚÅÍÐÌÑÒ
	    ÓÔÒÕËÔÕÒÙ bio É ÐÅÒÅÄÁÅÔ ÅÇÏ ÓÉÓÔÅÍÅ GEOM. æÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ
	    <quote>ÚÎÁÅÔ</quote>, ÞÔÏ ÜËÚÅÍÐÌÑÒ geom ÄÏÌÖÅÎ ÏÂÒÁÂÏÔÁÔØ ÚÁÐÒÏÓ,
	    ÔÁË ËÁË ÆÁÊÌÏ×ÙÅ ÓÉÓÔÅÍÙ ÒÁÚÍÅÝÁÀÔÓÑ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ
	    ÎÁÄ ÜËÚÅÍÐÌÑÒÏÍ geom.</para>
	</listitem>

	<listitem>
	  <para>úÁÐÒÏÓ ÚÁ×ÅÒÛÁÅÔÓÑ ×ÙÚÏ×ÏÍ ÆÕÎËÃÉÉ
	    <function>.start</function>() × ÐÏÔÏËÅ g_down É ÄÏÓÔÉÇÁÅÔ
	    ×ÅÒÈÎÅÇÏ ÜËÚÅÍÐÌÑÒÁ geom.</para>
	</listitem>

	<listitem>
	  <para>÷ÅÒÈÎÉÊ ÜËÚÅÍÐÌÑÒ geom (ÎÁÐÒÉÍÅÒ, ÜÔÏ ÓÅËÃÉÏÎÉÒÏ×ÝÉË
	    ÒÁÚÄÅÌÏ× (partition slicer)) ÏÐÒÅÄÅÌÑÅÔ, ÞÔÏ ÚÁÐÒÏÓ ÄÏÌÖÅÎ ÂÙÔØ
	    ÐÅÒÅÁÄÒÅÓÏ×ÁÎ ÎÉÖÅÓÔÏÑÝÅÍÕ ÜËÚÅÍÐÌÑÒÕ geom (Ë ÐÒÉÍÅÒÕ, ÄÒÁÊ×ÅÒÕ
	    ÄÉÓËÁ). ÷ÙÛÅÓÔÏÑÝÉÊ ÜËÚÅÍÐÌÑÒ geom ÓÏÚÄÁÅÔ ËÏÐÉÀ ÚÁÐÒÏÓÁ bio
	    (ÚÁÐÒÏÓÙ bio <emphasis>÷óåçäá</emphasis> ËÏÐÉÒÕÀÔÓÑ ÐÒÉ ÐÅÒÅÄÁÞÅ
	    ÍÅÖÄÕ ÜËÚÅÍÐÌÑÒÁÍÉ geom ÐÒÉ ÐÏÍÏÝÉ
	    <function>g_clone_bio</function>()!),
	    ÉÚÍÅÎÑÅÔ ÐÏÌÑ ÓÍÅÝÅÎÉÑ É ÃÅÌÅ×ÏÇÏ ÐÏÓÔÁ×ÝÉËÁ geom É ÚÁÐÕÓËÁÅÔ
	    ÎÁ ÏÂÒÁÂÏÔËÕ ËÏÐÉÀ ÐÒÉ ÐÏÍÏÝÉ ÆÕÎËÃÉÉ
	    <function>g_io_request</function>()</para>
	</listitem>

	<listitem>
	  <para>äÒÁÊ×ÅÒ ÄÉÓËÁ ÔÁËÖÅ ÐÏÌÕÞÁÅÔ ÚÁÐÒÏÓ bio, ËÁË ×ÙÚÏ×
	    ÆÕÎËÃÉÉ <function>.start</function>() × ÐÏÔÏËÅ
	    <literal>g_down</literal>. äÒÁÊ×ÅÒ ÏÂÒÁÝÁÅÔÓÑ Ë ËÏÎÔÒÏÌÌÅÒÕ ÄÉÓËÁ,
	    ÐÏÌÕÞÁÅÔ ÂÌÏË ÄÁÎÎÙÈ É ×ÙÚÙ×ÁÅÔ ÆÕÎËÃÉÀ
	    <function>g_io_deliver</function>() ÉÓÐÏÌØÚÕÑ ËÏÐÉÀ ÚÁÐÒÏÓÁ bio
	    </para>
	</listitem>

	<listitem>
	  <para>ôÅÐÅÒØ, ÉÚ×ÅÝÅÎÉÅ Ï ÚÁ×ÅÒÛÅÎÉÉ bio
	    <quote>×ÓÐÌÙ×ÁÅÔ</quote> × ÐÏÔÏËÅ <literal>g_up</literal>.
	    óÎÁÞÁÌÁ × ÐÏÔÏËÅ <literal>g_up</literal> ×ÙÚÙ×ÁÅÔÓÑ ÆÕÎËÃÉÑ
	    <function>.done</function>() ÓÅËÃÉÏÎÉÒÏ×ÝÉËÁ ÒÁÚÄÅÌÏ×,
	    ÐÏÓÌÅÄÎÉÊ ÉÓÐÏÌØÚÕÅÔ ÐÏÌÕÞÅÎÎÕÀ ÉÎÆÏÒÍÁÃÉÀ, ÒÁÚÒÕÛÁÅÔ
	    ËÌÏÎÉÒÏ×ÁÎÎÙÊ ÜËÚÅÍÐÌÑÒ ÓÔÒÕËÔÕÒÙ bio ÐÏÓÒÅÄÓÔ×ÏÍ
	    <function>g_destroy_bio</function>() É ×ÙÚÙ×ÁÅÔ
	    <function>g_io_deliver</function>() ÉÓÐÏÌØÚÕÑ
	    ÐÅÒ×ÏÎÁÞÁÌØÎÙÊ ÚÁÐÒÏÓ</para>
	</listitem>

	<listitem>
	  <para>æÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÐÏÌÕÞÁÅÔ ÄÁÎÎÙÅ É ÐÅÒÅÄÁÅÔ ÉÈ
	    ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÍÕ ÐÒÏÃÅÓÓÕ</para>
	</listitem>
      </itemizedlist>

      <para>úÁ ÉÎÆÏÒÍÁÃÉÅÊ Ï ÔÏÍ, ËÁË ÄÁÎÎÙÅ ÐÅÒÅÄÁÀÔÓÑ × ÓÔÒÕËÔÕÒÅ
	<structname>bio</structname> ÍÅÖÄÕ ÜËÚÅÍÐÌÑÒÁÍÉ geom,
	ÓÍÏÔÒÉÔÅ &man.g.bio.9; (ÏÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÏÌÅÊ
	<varname>bio_parent</varname> É <varname>bio_children</varname>).
	</para>

      <para>÷ÁÖÎÙÊ ÍÏÍÅÎÔ × ÔÏÍ, ÞÔÏ <emphasis>îåìøúñ äïðõóëáôø âìïëéòï÷ïë
	÷ ðïôïëáè G_UP é G_DOWN</emphasis>. ÷ÏÔ ÎÅÐÏÌÎÙÊ ÐÅÒÅÞÅÎØ ÔÏÇÏ,
	ÞÔÏ ÎÅÌØÚÑ ÄÅÌÁÔØ × ÜÔÉÈ ÐÏÔÏËÁÈ:</para>

      <itemizedlist>
	<listitem>
	  <para>÷ÙÚÙ×ÁÔØ ÆÕÎËÃÉÉ <function>msleep</function>() ÉÌÉ
	    <function>tsleep</function>().</para>
	</listitem>

	<listitem>
	  <para>éÓÐÏÌØÚÏ×ÁÔØ ÆÕÎËÃÉÉ
	    <function>g_write_data</function>() É
	    <function>g_read_data</function>(), ÔÁË ËÁË ÏÎÉ ÂÌÏËÉÒÕÀÔÓÑ
	    × ÍÏÍÅÎÔ ÏÂÍÅÎÁ ÄÁÎÎÙÍÉ Ó ÐÏÔÒÅÂÉÔÅÌÑÍÉ geom.</para>
	</listitem>

	<listitem>
	  <para>ïÖÉÄÁÔØ ××ÏÄ/×Ù×ÏÄ.</para>
	</listitem>

	<listitem>
	  <para>÷ÙÚÙ×ÁÔØ &man.malloc.9; É
	    <function>uma_zalloc</function>() Ó ÕÓÔÁÎÏ×ÌÅÎÎÙÍ ÆÌÁÇÏÍ
	    <varname>M_WAITOK</varname>.</para>
	</listitem>

	<listitem>
	  <para>éÓÐÏÌØÚÏ×ÁÔØ &man.sx.9; <!-- É ÄÒÕÇÉÅ sleepable locks. -->
	    </para>
	</listitem>
      </itemizedlist>

      <para>üÔÏ ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ËÏÄ GEOM ÐÒÉÚ×ÁÎÏ ÉÚÂÅÖÁÔØ ÏÔ
	<quote>ÚÁÓÏÒÅÎÉÑ</quote> ÐÕÔÉ ÚÁÐÒÏÓÁ ××ÏÄÁ/×Ù×ÏÄÁ, ÔÁË ËÁË
	ÂÌÏËÉÒÏ×ËÉ ÏÂÙÞÎÏ ÎÅ ÉÍÅÀÔ ÞÅÔËÉÈ ×ÒÅÍÅÎÎÙÈ ÇÒÁÎÉÃ, É ÎÅÔ ÇÁÒÁÎÔÉÊ
	ÎÁ ÚÁÎÉÍÁÅÍÏÅ ×ÒÅÍÑ (ÔÁËÖÅ ÎÁ ÔÏ ÅÓÔØ É ÄÒÕÇÉÅ ÔÅÈÎÉÞÅÓËÉÅ ÐÒÉÞÉÎÙ).
	üÔÏ ÔÁËÖÅ ÚÎÁÞÉÔ, ÞÔÏ × ×ÙÛÅÕÐÏÍÑÎÕÔÙÈ ÐÏÔÏËÁÈ ÓËÏÌØ-ÎÉÂÕÄØ ÓÌÏÖÎÙÅ
	ÏÐÅÒÁÃÉÉ ×ÙÐÏÌÎÉÔØ ÎÅÌØÚÑ, ÎÁÐÒÉÍÅÒ: ÌÀÂÏÅ ÓÌÏÖÎÏÅ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ
	ÔÒÅÂÕÅÔ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ. ë ÓÞÁÓÔØÀ ÒÅÛÅÎÉÅ ÅÓÔØ: ÓÏÚÄÁÎÉÅ
	ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÑÄÅÒÎÙÈ ÐÏÔÏËÏ×.</para>
    </sect2>

    <sect2 id="geom-kernelthreads">
      <title>ñÄÅÒÎÙÅ ÐÏÔÏËÉ ×ÙÐÏÌÎÅÎÉÑ, ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
	× ËÏÄÅ geom</title>

      <para>ñÄÅÒÎÙÅ ÐÏÔÏËÉ ×ÙÐÏÌÎÅÎÉÑ ÓÏÚÄÁÀÔÓÑ ÆÕÎËÃÉÅÊ
	&man.kthread.create.9;, × Ó×ÏÅÍ ÐÏ×ÅÄÅÎÉÉ ÏÎÉ ÓÈÏÖÉ Ó ÐÏÔÏËÁÍÉ,
	ÓÏÚÄÁÎÎÙÍÉ × ÐÒÏÓÔÒÁÎÓÔ×Å ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ×, ÎÏ ÅÓÔØ ÏÄÎÏ
	ÏÔÌÉÞÉÅ: ÏÎÉ ÎÅ ÍÏÇÕÔ ÉÚ×ÅÓÔÉÔØ ×ÙÚ×Á×ÛÉÊ ÉÈ ÐÏÔÏË Ï Ó×ÏÅÍ ÚÁ×ÅÒÛÅÎÉÉ;
	ÐÏ ÚÁ×ÅÒÛÅÎÉÀ &mdash; ÎÅÏÂÈÏÄÉÍÏ ×ÙÚÙ×ÁÔØ &man.kthread.exit.9;</para>

      <para>÷ ËÏÄÅ GEOM ÏÂÙÞÎÏÅ ÎÁÚÎÁÞÅÎÉÅ ÜÔÉÈ ÐÏÔÏËÏ× &mdash; ÒÁÚÇÒÕÚÉÔØ
	ÐÏÔÏË <literal>g_down</literal>
	(ÆÕÎËÃÉÀ <function>.start</function>() ) ÏÔ ÏÂÒÁÂÏÔËÉ ÚÁÐÒÏÓÏ×. üÔÉ
	ÐÏÔÏËÉ ÐÏÄÏÂÎÙ <quote>ÏÂÒÁÂÏÔÞÉËÁÍ ÓÏÂÙÔÉÊ</quote>
	(<quote>event handlers</quote>):
	Õ ÎÉÈ ÅÓÔØ ÏÞÅÒÅÄØ ÓÏÂÙÔÉÊ (ËÏÔÏÒÁÑ ÎÁÐÏÌÎÑÅÔÓÑ ÓÏÂÙÔÉÑÍÉ ÏÔ ÒÁÚÎÙÈ
	ÆÕÎËÃÉÊ ÉÚ ÒÁÚÎÙÈ ÐÏÔÏËÏ×; ÏÞÅÒÅÄØ ÎÅÏÂÈÏÄÉÍÏ ÚÁÝÉÝÁÔØ ÍØÀÔÅËÓÏÍ),
	ÓÏÂÙÔÉÑ ÉÚ ÏÞÅÒÅÄÉ ×ÙÂÉÒÁÀÔÓÑ ÏÄÎÏ ÚÁ ÄÒÕÇÉÍ É ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ
	× ÂÏÌØÛÏÍ ÂÌÏËÅ <literal>switch</literal>().</para>

      <para>ïÓÎÏ×ÎÏÅ ÐÒÅÉÍÕÝÅÓÔ×Ï ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÏÔÄÅÌØÎÏÇÏ ÐÏÔÏËÁ, ËÏÔÏÒÙÊ
	ÏÂÒÁÂÁÔÙ×ÁÅÔ ÚÁÐÒÏÓÙ ××ÏÄÁ/×Ù×ÏÄÁ, ÔÏ, ÞÔÏ ÏÎ ÍÏÖÅÔ ÂÌÏËÉÒÏ×ÁÔØÓÑ ÐÏ
	ÍÅÒÅ ÎÅÏÂÈÏÄÉÍÏÓÔÉ. üÔÏ, ÎÅÓÏÍÎÅÎÎÏ, ÐÒÉ×ÌÅËÁÔÅÌØÎÏ, ÎÏ ÄÏÌÖÎÏ ÂÙÔØ
	ÈÏÒÏÛÏ ÏÂÄÕÍÁÎÏ. âÌÏËÉÒÏ×ÁÎÉÅ &mdash; ÈÏÒÏÛÏ É ÕÄÏÂÎÏ, ÎÏ ÍÏÖÅÔ
	ÓÕÝÅÓÔ×ÅÎÎÏ ÓÎÉÚÉÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÊ ÄÁÎÎÙÈ ×
	ÓÉÓÔÅÍÅ GEOM. ïÓÏÂÏ ÔÒÅÂÏ×ÁÔÅÌØÎÙÅ Ë ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ËÌÁÓÓÙ
	ÍÏÇÕÔ ÄÅÌÁÔØ ×ÓÀ ÒÁÂÏÔÕ × ÆÕÎËÃÉÉ <function>.start</function>(),
	ÕÄÅÌÑÑ ÏÓÏÂÏÅ ×ÎÉÍÁÎÉÅ ÏÛÉÂËÁÍ ÐÒÉ ÒÁÂÏÔÅ Ó ÐÁÍÑÔØÀ.</para>

      <para>åÝÅ ÏÄÎÏ ÐÒÅÉÍÕÝÅÓÔ×Ï ÐÏÔÏËÁ <quote>ÏÂÒÁÂÏÔÞÉËÁ ÓÏÂÙÔÉÊ</quote>
	ÜÔÏ ÓÅÒÉÁÌÉÚÁÃÉÑ ×ÓÅÈ ÚÁÐÒÏÓÏ× É ÏÔ×ÅÔÏ×, ÐÒÉÈÏÄÑÝÉÈ Ó ÒÁÚÎÙÈ
	ÐÏÔÏËÏ× geom × ÏÄÉÎ ÐÏÔÏË. üÔÏ ÔÁËÖÅ ÕÄÏÂÎÏ, ÎÏ ÍÏÖÅÔ ÂÙÔØ ÍÅÄÌÅÎÎÙÍ.
	÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ×, ÏÂÒÁÂÏÔËÁ ÚÁÐÒÏÓÏ× ÆÕÎËÃÉÅÊ
	<function>.done</function>() ÍÏÖÅÔ ÂÙÔØ ÏÓÔÁ×ÌÅÎÁ ÐÏÔÏËÕ
	<literal>g_up</literal>.</para>

      <para>õ ÍØÀÔÅËÓÏ× × ÑÄÒÅ FreeBSD (&man.mutex.9;) ÅÓÔØ ÏÄÎÏ ÒÁÚÌÉÞÉÅ
	Ó ÉÈ ÁÎÁÌÏÇÁÍÉ ÉÚ ÐÒÏÓÔÒÁÎÓÔ×Á ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÒÏÃÅÓÓÏ× &mdash;
	×Ï ×ÒÅÍÑ ÕÄÅÒÖÁÎÉÑ ÍØÀÔÅËÓÁ × ËÏÄÅ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÂÌÏËÉÒÏ×ËÉ. åÓÌÉ
	× ËÏÄÅ ÎÅÏÂÈÏÄÉÍÏ ÂÌÏËÉÒÏ×ÁÎÉÅ, ÔÏ ÌÕÞÛÅ ÉÓÐÏÌØÚÏ×ÁÔØ &man.sx.9;.
	ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ÅÓÌÉ ×ÓÑ ×ÁÛÁ ÒÁÂÏÔÁ ×ÙÐÏÌÎÑÅÔÓÑ × ÏÄÎÏÍ ÐÏÔÏËÅ,
	×Ù ÍÏÖÅÔÅ ÏÂÏÊÔÉÓØ ×ÏÏÂÝÅ ÂÅÚ ÍØÀÔÅËÓÏ×.</para>
    </sect2>
  </sect1>
</article>