FreeBSD izgubio još jednog džina
Danas je Ed Schouten integrisao MultiProcessorSafe (MPSAFE) implementaciju TTY sloja u FreeBSD. To znači da je TTY sloj napokon bez GIANT zaključavanja. Još jedna prepreka za izbacivanje GIANT zaključavanja je uklonjena. Kao što je Paul-Henning Kamp napomenuo u jednom momentu: "Ovo je poslednje poglavlje koje treba napisati iz početka (već dugo vremena)".
GIANT zaključavanje, kao što mu i ime kaže, zaključava "previše". Naime, to znači da kada treba određena operacija da se obavi i osigura se da joj "niko neće smetati", zaključava se globalno. Ovo je dobro pošto ste sigurni da je funkcija koja je pozvala GIANT zaključavanje jedina koja se izvršava i da "ništa ne može da joj pokvari planove". Sa druge strane, zašto bi, na primer, išta što ima veze sa mrežnom karticom zaključavalo i operaciju grafičke kartice (ovo shvatite samo kao izuzetno uprošćen primer)? Dakle, izbacivanjem GIANT zaključavanja se omogućava bolje iskorišćenje više procesora (SMP - symetric multiprocessing).
Izvor: evilcoder.org
Document Actions