[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[rofug] MP




Salut,

Nu am mai gasit intrebarea ta decat pe www (imi vin vreo 200 de mailuri pe 
zi) asa ca am deschis un nou thread.
O sa-ti raspund generic nu cu o referinta speciala la NetBSD, FreeBSD sau 
Linux. Ce trebuie sa stie un sistem pt. a trata (performant) o arhitectura 
multiprocesor: suport MP, threaduri in kernel si granularitate fina.
Sa le luam pe rand:
1. suport MP: inseamna ca sistemul de operare stie sa acceseze memoria cu 
ambele procesoare. Exista doua implementari: AP ('Associated Processor') care 
permite numai unui procesor operatii I/O (deci kernelul va "sta" tot timpul 
pe acel procesor) si SMP ('Symmetric MultiProcessor') unde ambele procesoare 
pot efectua operatii I/O. Majoritatea OSurilor implementeaza varianta SMP. De 
fapt nu stiu nici unul care sa aiba AP.
2. threaduri in kernel. cred stie toata lumea ce inseamna asta. Este vorba de 
managmentul threadurilor in kernel-space, acestea putand fi folosite atat in 
kernelul propriu-zis cat si in userspace prin wrapperele implementate.
3. Granularitate fina: Se refera la durata unui lock pe un I/O care tb. sa 
fie infinitezimala. Daca nu intelegeti puteti face analogie cu doua sau mai 
multe procese care vor sa citeasca in acelasi timp, acelasi lucru dintr-un 
device. Cand citeste unul din ele kernelul aplica un lock pe acel device 
astfel incat celelalte sa astepte. cu cat lockul acesta este mai mic cu atat 
este mai bine. 

Week-end placut, 
Mihai Chelaru
__________________________________________________________
Send 'unsubscribe rofug' to listar@rofug.ro to unsubscribe