Differences

This shows you the differences between two versions of the page.

Link to this comparison view

so:cursuri:curs-02 [2014/03/10 21:42]
victor.oprea Fix typo cu referire la executabil
so:cursuri:curs-02 [2019/04/14 09:08] (current)
dragos_florin.costea [Curs 02 - Interfața sistemului de fișiere]
Line 1: Line 1:
-====== Curs 02 - Sistemul ​de fișiere ======+====== Curs 02 - Interfața sistemului ​de fișiere ======
  
-<​html>​ +  * [[http://​prezi.com/​5-5ua6acyxv9/so-curs-2/?kw=view-5-5ua6acyxv9&rc=ref-31844697 | Curs 02 - Interfața sistemului de fișiere (vizualizare Prezi)]] 
-<iframe src="http://​prezi.com/embed/​5-5ua6acyxv9/?​bgcolor=ffffff&​amp;​lock_to_path=0&amp;​autoplay=no&​amp;​autohide_ctrls=0&​amp;​features=undefined&​amp;​disabled_features=undefined"​ width="​550"​ height="​400"​ frameBorder="​0"></​iframe>​ +  * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-02.pdf | Curs 02 - Interfața sistemului de fișiere (PDF)]]
-</html>+
  
-  * [[http://prezi.com/5-5ua6acyxv9/so-curs-2/?kw=view-5-5ua6acyxv9&​rc=ref-31844697 ​Curs 02 - Sistemul ​de fișiere (vizualizare Prezi)]] +  * [[https://docs.google.com/document/d/1kH3Sg8OcW8oMUqsuG1jaicUxUze05vN_2wHaJix3W28/​edit?usp=sharing|Notițe ​de curs]]
-  * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-02.pdf | Curs 02 - Sistemul de fișiere (PDF)]]+
  
   * Suport curs   * Suport curs
Line 12: Line 10:
       * Capitolul 9 - File-System Interface       * Capitolul 9 - File-System Interface
       * Capitolul 10, Secțiunea 10.1 - File-System Structure       * Capitolul 10, Secțiunea 10.1 - File-System Structure
-    * Modern Operating Systems 
-      * Capitolul 6 - File System Implementation (secțiunile 1 și 2) 
     * Linux System Programming     * Linux System Programming
       * Capitolul 2 (programatic)       * Capitolul 2 (programatic)
Line 19: Line 15:
       * Capitolul 2 (programatic)       * Capitolul 2 (programatic)
  
 +<​html>​
 +  <​center>​
 +    <iframe src="​https://​prezi.com/​embed/​5-5ua6acyxv9/?​bgcolor=ffffff&​amp;​lock_to_path=0&​amp;​autoplay=no&​amp;​autohide_ctrls=0&​amp;​features=undefined&​amp;​disabled_features=undefined"​ width="​550"​ height="​400"​ frameBorder="​0"></​iframe>​
 +  </​center>​
 +</​html>​
  
 ===== Demo-uri ===== ===== Demo-uri =====
Line 50: Line 51:
 </​spoiler>​ </​spoiler>​
  
 +<​note>​
 +Pe anumite sisteme descriptorul este marcat cu ''​0u''​ adică este read-write; dar, în mod practic, este folosit doar pentru citire.
 +</​note>​
 ==== Descriptori de fișier pentru procesele daemon ==== ==== Descriptori de fișier pentru procesele daemon ====
  
Line 78: Line 82:
 ==== Descriptorii de fișier după redirectare ==== ==== Descriptorii de fișier după redirectare ====
  
-Vrem să vedem cum se modifică descriptorii de fișier în cazul redicterării. Pentru a putea vedea acest lucru vom rula o comandă de durată (''​sleep''​) și vom redirecta intrarea și ieșirea standard:<​code bash>+Vrem să vedem cum se modifică descriptorii de fișier în cazul redirectării. Pentru a putea vedea acest lucru vom rula o comandă de durată (''​sleep''​) și vom redirecta intrarea și ieșirea standard:<​code bash>
 sleep 100 < /etc/passwd > f.txt sleep 100 < /etc/passwd > f.txt
 </​code>​ </​code>​
  
-Pentru a investiga procesul ''​sleep''​ proaspăt ​porni, trebuie să știm PID-ul său. Deschidem o altă consolă și aflăm PID-ul procesului ''​sleep''​ creat folosind comanda:<​code bash>+Pentru a investiga procesul ''​sleep''​ proaspăt ​pornit, trebuie să știm PID-ul său. Deschidem o altă consolă și aflăm PID-ul procesului ''​sleep''​ creat folosind comanda:<​code bash>
 pidof sleep pidof sleep
 </​code>​ </​code>​
Line 180: Line 184:
 </​code>​ </​code>​
   - Rapid, într-o altă consolă, urmărim **apelurile de bibliotecă** realizate de programul ''​buffered''​ folosind comanda:<​code bash>   - Rapid, într-o altă consolă, urmărim **apelurile de bibliotecă** realizate de programul ''​buffered''​ folosind comanda:<​code bash>
-ltrace -e putchar+fputc -p $(pidof buffered)+ltrace -e putchar,fputc -p $(pidof buffered)
 </​code>​ </​code>​
  
Line 187: Line 191:
 ./buffered ./buffered
 </​code>​ </​code>​
-  - Rapid, într-o altă consolă, urmărim **apelurile de bibliotecă** realizate de programul ''​buffered''​ folosind comanda:<​code bash>+  - Rapid, într-o altă consolă, urmărim **apelurile de sistem** realizate de programul ''​buffered''​ folosind comanda:<​code bash>
 strace -e write -p $(pidof buffered) strace -e write -p $(pidof buffered)
 </​code>​ </​code>​
  
-Care este numărul de apeluri de bibliotecă și numărul de apeluri de sistem realizate de programul ''​buffered''?​+Care este numărul de apeluri de bibliotecă și numărul de apeluri de sistem realizate de programul ''​buffered''​ în cadrul buclelor ''​for''?​
  
 <spoiler Răspuns>​ <spoiler Răspuns>​
Line 240: Line 244:
  
 [[http://​www.ibm.com/​developerworks/​aix/​library/​au-lsof.html|Finding open files with lsof]] ​ [[http://​www.ibm.com/​developerworks/​aix/​library/​au-lsof.html|Finding open files with lsof]] ​
- 
so/cursuri/curs-02.1394480569.txt.gz · Last modified: 2014/03/10 21:42 by victor.oprea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0