This shows you the differences between two versions of the page.
so:cursuri:curs-10 [2015/05/02 15:14] razvan.deaconescu [Curs 10 - Dispozitive de intrare/ieșire] |
so:cursuri:curs-10 [2019/04/20 20:24] (current) razvan.deaconescu |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Curs 10 - Dispozitive de intrare/ieșire ====== | ====== Curs 10 - Dispozitive de intrare/ieșire ====== | ||
- | |||
- | <html> | ||
- | <iframe src="http://prezi.com/embed/z_hkmewcaqm_/?bgcolor=ffffff&lock_to_path=0&autoplay=0&autohide_ctrls=0&features=undefined&disabled_features=undefined" width="550" height="400" frameBorder="0"></iframe> | ||
- | </html> | ||
* [[http://prezi.com/z_hkmewcaqm_/?utm_campaign=share&utm_medium=copy&rc=ex0share|Curs 10 - Dispozitive de Intrare/Iesire (Prezi)]] | * [[http://prezi.com/z_hkmewcaqm_/?utm_campaign=share&utm_medium=copy&rc=ex0share|Curs 10 - Dispozitive de Intrare/Iesire (Prezi)]] | ||
* [[http://elf.cs.pub.ro/so/res/cursuri/SO_Curs-10.pdf|Curs 10 - Dispozitive de Intrare/Iesire (PDF)]] | * [[http://elf.cs.pub.ro/so/res/cursuri/SO_Curs-10.pdf|Curs 10 - Dispozitive de Intrare/Iesire (PDF)]] | ||
+ | |||
+ | * [[https://docs.google.com/document/d/1dc5Kaamjo6WPy7LABkBGTcxjVwgl3JbnlHnE0iREmwM/edit?usp=sharing|Notițe de curs]] | ||
* Suport curs | * Suport curs | ||
- | * Operating Systems Concepts | + | * Operating Systems Concepts Essentials |
- | * Capitolul 13 -- I/O Systems | + | * Capitolul 11 -- Mass Storage Structure |
- | * Capitolul 12 -- Mass Storage Structure | + | * Secțiunile 11.2, 11.4, 11.7 |
- | * Secțiunile 12.2, 12.4, 12.7 | + | * Capitolul 12 -- I/O Systems |
* Modern Operating Systems | * Modern Operating Systems | ||
* Capitolul 5 -- Input/Output | * Capitolul 5 -- Input/Output | ||
Line 18: | Line 16: | ||
* Subsecțiunile 5.4.1, 5.4.3 | * Subsecțiunile 5.4.1, 5.4.3 | ||
- | <note important> | + | <html> |
- | Vă recomandăm folosirea instanței GitLab [1] din facultate pentru realizarea temelor de SO. Avantajele utilizării acestei soluții de versionare a surselor sunt: | + | <center> |
- | * gestionarea modificărilor, posibilitatea de a vă întoarce la o versiune anterioară | + | <iframe src="https://prezi.com/embed/z_hkmewcaqm_/?bgcolor=ffffff&lock_to_path=0&autoplay=0&autohide_ctrls=0&features=undefined&disabled_features=undefined" width="550" height="400" frameBorder="0"></iframe> |
- | * recuperarea surselor | + | </center> |
- | * formarea unor abilități de folosire a unui sistem de versionare; toate proiectele mari folosesc un astfel de sistem | + | </html> |
- | * colaborarea cu echipa de SO, membrii echipei având rolul de review-eri | + | |
- | + | ||
- | Prin această metodă puteți primi mai ușor indicații pe baza codului atunci când întâmpinați o problemă la implementarea temelor. Ca un bonus, folosirea GitLab este răsplătită și cu Karma Points. | + | |
- | + | ||
- | Pentru crearea unui proiect pe GitLab recomandăm informațiile care se găsesc pe [[:so:teme:folosire-gitlab|wiki]]. Pentru automatizarea acestor operații, echipa de SO pune la dispoziție [[https://github.com/systems-cs-pub-ro/so-assignments/blob/master/so-create-repo.sh|un script]]. Mai multe detalii despre funcționalitatea și utilizarea scriptului găsiți la [[https://github.com/systems-cs-pub-ro/so-assignments/blob/master/README.md|aici]]. | + | |
- | </note> | + | |
===== Demo-uri ===== | ===== Demo-uri ===== | ||
Line 142: | Line 134: | ||
[...] | [...] | ||
</code> | </code> | ||
- | Observăm că acum operația durează semnificativ mai mult (2 minute). De asemenea încărcarea pe procesor este mai mică (''11%'' față de ''100%'' pentru că acum procesorul așteaptă după disc. Observăm diferența mare de schimbări de context voluntare (procesul se blochează) și numărul diferit de zero de citiri din sistemul de fișiere: acum întreg fișierul de intrare este citit de pe disc, nu mai este cache-uit în memorie. | + | Observăm că acum operația durează semnificativ mai mult (2 secunde). De asemenea încărcarea pe procesor este mai mică (''11%'' față de ''100%'' pentru că acum procesorul așteaptă după disc. Observăm diferența mare de schimbări de context voluntare (procesul se blochează) și numărul diferit de zero de citiri din sistemul de fișiere: acum întreg fișierul de intrare este citit de pe disc, nu mai este cache-uit în memorie. |
Cache-ul de disk este esențial pentru funcționarea eficientă a sistemului. În absența acestuia procesorul ar trebui să solicite informații de pe disc, dispozitiv foarte lent comparativ cu memoria și procesor. Trebuie avut grijă la flush-ul/sincronizarea periodică a informațiilor din memorie pe disc pentru ca acestea să nu se piardă la o închidere bruscă a sistemului, memoria fiind volatilă. | Cache-ul de disk este esențial pentru funcționarea eficientă a sistemului. În absența acestuia procesorul ar trebui să solicite informații de pe disc, dispozitiv foarte lent comparativ cu memoria și procesor. Trebuie avut grijă la flush-ul/sincronizarea periodică a informațiilor din memorie pe disc pentru ca acestea să nu se piardă la o închidere bruscă a sistemului, memoria fiind volatilă. |