Liviu - Andrei IOAN <[email protected]> writes: > Toate răspunsurile mele au fost considerate greșite. > Cum e corect :) ?
E corect ca tine. Erau greșit marcate răspunsurile. Am făcut o trecere prin toate întrebările de la quiz07 încolo și am corectat. > De asemenea, aș dori să știu răspunsul(explicat) la următoarele întrebări: > Care este condiția necesară pentru ca două pagini virtuale să partajeze > aceeași pagină fizică? > * pagina fizică deține cod > * pagina fizică deține date inițializate > * pagina fizică se află în swap > * pagina fizică are intrare asociată în TLB Aici explicația este: dacă pagina fizică deține cod, atunci este read-only și atunci poate fi ușor partajată între diverse pagini virtuale. Am reformulat întrebarea; nici acum nu sunt mulțumit de ea, dar e mai bine ca înainte și nu am găsit o formulare mai potrivită. > Când se poate preempta un proces pe un kernel preemptiv dar nu și pe un > kernel non-preemptiv? > * când îi expiră cuanta în timp ce execută cod utilizator > * când îi expiră cuanta în timp ce execută cod kernel > * când efectuează o operație blocantă în timp ce execută cod utilizator > * când efectuează o operație blocantă în timp ce execută cod kernel Un kernel preemptiv rulează planificator preemptiv. Un kernel non-preemptiv rulează, în codul nucleul, planificator cooperativ. Atenție: când procesul rulează în user-space, planificatorul rămâne preemptiv indiferent de tipul nucleului. Există câteva condiții care fortează context switch: * unui proces îi expiră cuanta (necesită planificator preemptiv) * un proces ready devine prioritar procesului running (necesită planificator preemptiv) * procesul care rulează se blochează * procesul care rulează se termină * procesul care rulează cedează de bună voie procesorul (yield) Ultimele trei bullet-uri se pot întâmpla și pe un sistem cu planificator cooperativ. În cazul de față, fiind vorba de deosebiri strict la nivelul codului kernel, răspunsul corect este ultimul bullet "când efectuează o operație blocantă în timp ce execută cod kernel". Răzvan _______________________________________________ http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
