Changeset 206
- Timestamp:
- 11/05/08 05:42:29 (15 years ago)
- Location:
- trunk/unix
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/unix/Makefile
r204 r206 18 18 fork.c \ 19 19 sparse.c \ 20 temp.sh \ 20 21 21 22 unix_IMAGESJPG= \ -
trunk/unix/unix.tex
r205 r206 211 211 \end{itemize} 212 212 \end{block} 213 213 \vfill 214 214 \begin{alertblock}{On évitera cependant} 215 215 \begin{itemize} … … 220 220 \end{itemize} 221 221 \end{alertblock} 222 222 \end{frame} 223 224 \begin{frame}[fragile] 225 \frametitle{. et ..} 226 \begin{block}{chaque dossier contient:} 227 \begin{itemize} 228 \item \verb+.+ le répertoire lui même 229 \item \verb+..+ le parent 230 \end{itemize} 231 \end{block} 232 \vfill 233 \pause 234 \begin{alertblock}{trop de ..} 235 \verb+/..+ pointe sur \verb+/+ 236 237 \begin{verbatim} 238 $ ls ../../../../../../etc/passwd 239 ../../../../../../etc/passwd 240 \end{verbatim} 241 242 On rebondit sur \verb+/+ et on redescend dans \verb+/etc/passwd+. 243 \end{alertblock} 244 \end{frame} 245 246 \begin{frame}[fragile] 247 \frametitle{Fichiers temporaires} 248 \begin{block}{Un fichier qu'on ne va pas garder, mais:} 249 \begin{itemize} 250 \item il ne doit pas exister 251 \pause 252 \item nom aléatoire (écrasement basé sur un lien symbolique) 253 \pause 254 \item le placer au bon endroit 255 \end{itemize} 256 \pause 257 \vfill 258 \textbf{en pratique} 259 \begin{itemize} 260 \item shell: mktemp 261 \item C: mkstemp 262 \item Perl: module File::Temp 263 \end{itemize} 264 \end{block} 265 \pause 266 \vfill 267 \begin{exampleblock}{} 268 \small 269 \listinginput[1]{1}{temp.sh} 270 \end{exampleblock} 223 271 \end{frame} 224 272 … … 416 464 \end{exampleblock} 417 465 \pause 466 \vfill 418 467 \begin{exampleblock}{Deuxième console:} 419 468 \begin{verbatim} … … 423 472 \end{exampleblock} 424 473 \pause 474 \vfill 425 475 \begin{block}{Cet exemple simple revient à} 426 476 \begin{verbatim} … … 435 485 \frametitle{principe} 436 486 \begin{block}{le montage} 437 \begin{itemize} 438 \item une méthode d'accès 439 \item une structure arborescente 440 \item on le fait apparaitre dans un répertoire existant 441 \end{itemize} 442 \end{block} 443 487 Le système de fichier est stocké sur un support (disque, fichier, cdrom, \ldots) 488 489 Le noyau le fait apparaitre dans un répertoire. 490 \end{block} 491 \vfill 444 492 \begin{exampleblock}{la commande mount} 445 493 \begin{verbatim} … … 448 496 /dev/sda8 on /home type ext3 (rw,noatime) 449 497 [...] 450 virgo:/home/data on /mnt/disk type nfs (ro,addr=192.168.76.1) 498 virgo:/home/data on /mnt/disk type nfs 499 (ro,addr=192.168.76.1) 451 500 \end{verbatim} 452 501 \end{exampleblock} … … 455 504 \begin{frame}[fragile] 456 505 \frametitle{Organisation globale} 457 \begin{block}{ }506 \begin{block}{L'emplacement des fichiers} 458 507 \begin{tabular}{ll} 508 \verb+/boot+&Bootloader et noyaux\\ 459 509 \verb+/etc+&fichiers de configuration\\ 460 510 \verb+/bin+, \verb+/usr/bin+&les executables utilisateur\\ … … 466 516 \verb+/tmp+, \verb+/var/tmp+&données temporaires\\ 467 517 \verb+/opt+&espace pour les apps. propriétaires\\ 468 \verb+/proc+, \verb+/sys+&représentation temp réelle du système\\469 518 \end{tabular} 470 519 \end{block} 520 \end{frame} 521 522 \begin{frame}[fragile] 523 \frametitle{Organisation globale (2)} 524 \begin{block}{Système de fichiers spéciaux} 525 \begin{tabular}{ll} 526 \verb+/dev+&les fichiers de périphériques\\ 527 \verb+/proc+&représentation temp réelle du système\\ 528 \verb+/sys+&configuration du noyau, informations sur le matériel\\ 529 \end{tabular} 530 \end{block} 531 \pause 471 532 472 533 \begin{alertblock}{le FHS} … … 475 536 \end{frame} 476 537 477 478 \section{les processus} 538 \section{Les processus} 479 539 480 540 \subsection{le temps CPU} … … 483 543 \frametitle{scheduler préemptif} 484 544 \begin{alertblock}{préemptif ?} 485 Seul le noyau décide du temps CPU alouer ! 486 \end{alertblock} 487 545 Seul le noyau décide du temps CPU aloué ! 546 \end{alertblock} 547 \pause 548 \vfill 488 549 \begin{block}{Le scheduler} 489 550 Le scheduler est appelé à interval régulier (plusieurs centaintes de fois par seconde) pour donner du temps … … 497 558 \end{frame} 498 559 499 \subsection{ la ram}560 \subsection{La ram} 500 561 501 562 \begin{frame} … … 509 570 \item le code et données du noyau 510 571 \end{itemize} 572 \pause 511 573 \item Mémoire haute (swappable): 512 574 \begin{itemize} … … 514 576 \item données des applications 515 577 \end{itemize} 578 \pause 516 579 \item Mémoire vive libre: 517 580 \begin{itemize} … … 522 585 \end{itemize} 523 586 \end{block} 524 587 \end{frame} 588 589 \begin{frame} 590 \frametitle{Gestion} 591 592 \begin{block}{la swap ?} 593 Extension sur disque de la mémoire. 594 \pause 595 596 Elle sert: 597 \begin{itemize} 598 \item quand la mémoire vive est pleine 599 \item pour mettre de coté des données peu utilisées 600 \end{itemize} 601 602 Mémoire disponible = mémoire vive + swap 603 \end{block} 604 \pause 605 \vfill 525 606 \begin{alertblock}{} 526 Un système qui swap un peu n'est pas surchargé ! 527 \end{alertblock} 607 Un système qui swap \textbf{un peu} n'est pas surchargé ! 608 \end{alertblock} 609 \vfill 610 \pause 611 \begin{block}{La Ram est virtuelle} 612 De par les aller retour RAM-SWAP, et la fragmentation, le système virutalize 613 les adresses allouées. 614 \end{block} 528 615 \end{frame} 529 616
Note: See TracChangeset
for help on using the changeset viewer.