Differences

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

Link to this comparison view

so:cursuri:curs-06 [2014/03/22 22:14]
razvan.deaconescu [Page-Faulturi]
so:cursuri:curs-06 [2019/03/24 14:10] (current)
razvan.deaconescu
Line 1: Line 1:
 ====== Curs 06 - Memoria virtuală ====== ====== Curs 06 - Memoria virtuală ======
- 
-<​html>​ 
-<iframe src="​http://​prezi.com/​embed/​qshrq7oeytj2/?​bgcolor=ffffff&​amp;​lock_to_path=0&​amp;​autoplay=0&​amp;​autohide_ctrls=0&​amp;​features=undefined&​amp;​disabled_features=undefined"​ width="​550"​ height="​400"​ frameBorder="​0"></​iframe>​ 
-</​html>​ 
  
   * [[http://​prezi.com/​qshrq7oeytj2/?​utm_campaign=share&​utm_medium=copy&​rc=ex0share | Curs 06 - Memoria virtuală (vizualizare Prezi)]]   * [[http://​prezi.com/​qshrq7oeytj2/?​utm_campaign=share&​utm_medium=copy&​rc=ex0share | Curs 06 - Memoria virtuală (vizualizare Prezi)]]
   * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-06.pdf | Curs 06 - Memoria virtuală (PDF)]]   * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-06.pdf | Curs 06 - Memoria virtuală (PDF)]]
 +
 +  * [[https://​drive.google.com/​open?​id=1jsFIY2bG2QssLX1X9AWn4_0Ec2x_hK9oOGohmFqKSRM|Notițe de curs]]
  
   * Suport curs   * Suport curs
     * Operating Systems Concepts Essentials     * Operating Systems Concepts Essentials
       * Capitolul 8 - Virtual Memory       * Capitolul 8 - Virtual Memory
-    * Modern Operating Systems+    * Modern Operating Systems, 2nd Ed.
       * Capitolul 4 - Memory Management       * Capitolul 4 - Memory Management
         * Secțiunile 4.4, 4.5         * Secțiunile 4.4, 4.5
 +    * Modern Operating Systems, 3rd Ed.
 +      * Capitolul 3 - Memory Management
 +        * Secțiunile 3.4, 3.5
 +    * [[http://​duartes.org/​gustavo/​blog/​post/​anatomy-of-a-program-in-memory/​|Anatomy of a Program in Memory]]
 +
 +<​html>​
 +  <​center>​
 +    <iframe src="​https://​prezi.com/​embed/​qshrq7oeytj2/?​bgcolor=ffffff&​amp;​lock_to_path=0&​amp;​autoplay=0&​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 98: Line 106:
 Observăm de asemenea, că se realizează un număr redus de apeluri de sistem ''​brk''​ raportat la cele ''​1024''​ de apeluri de bibliotecă ''​malloc''​. Un apel ''​brk''​ alocă un pool mai mare de memorie care va fi apoi folosit la apeluri viitoare ''​malloc'';​ realizează o prealocare. Observăm de asemenea, că se realizează un număr redus de apeluri de sistem ''​brk''​ raportat la cele ''​1024''​ de apeluri de bibliotecă ''​malloc''​. Un apel ''​brk''​ alocă un pool mai mare de memorie care va fi apoi folosit la apeluri viitoare ''​malloc'';​ realizează o prealocare.
  
-Pentru a vedea comportamentului funcției de bibliotecă ''​mallooc'',​ actualizăm codul astfel încât ''​malloc''​ să aloce, la fel ca ''​mmap''​ calupuri de ''​1MB''​ de memorie. Adică bucla ''​for''​ aferentă să arate așa:<​code c>+Pentru a vedea comportamentului funcției de bibliotecă ''​malloc'',​ actualizăm codul astfel încât ''​malloc''​ să aloce, la fel ca ''​mmap''​ calupuri de ''​1MB''​ de memorie. Adică bucla ''​for''​ aferentă să arate așa:<​code c>
  for (cnt = 0; cnt < NUM_ROUNDS; cnt++) {  for (cnt = 0; cnt < NUM_ROUNDS; cnt++) {
  puts("​Using malloc to allocate 1024 sets of 1024 bytes."​);​  puts("​Using malloc to allocate 1024 sets of 1024 bytes."​);​
Line 113: Line 121:
 </​code>​ </​code>​
  
-Observăm că acum și funcția de bibliotecă ''​malloc''​ folosește în spate tot apelul de sistem ''​mmap''​. Acesta alocă doar memorie virtuală de unde și comportamentul. De la un valoare dată, alocarea cu ''​malloc''​ folosește apelul de sistem ''​mmap''​.+Observăm că acum și funcția de bibliotecă ''​malloc''​ folosește în spate tot apelul de sistem ''​mmap''​. Acesta alocă doar memorie virtuală de unde și comportamentul. De la valoare dată, alocarea cu ''​malloc''​ folosește apelul de sistem ''​mmap''​.
  
 <spoiler Despre apelul malloc> <spoiler Despre apelul malloc>
so/cursuri/curs-06.1395519287.txt.gz · Last modified: 2014/03/22 22:14 by razvan.deaconescu
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