1.Comunicarea interprocese LINUX 2.varianta system V 3.Arhitectura si componentele sistemului 4.
Sistemul de fişiere – cum este organizat şi caracteristici
Pachetul de comunicare interprocese din varianta System V Nivelul de Abstractizare a Hardware-ului Un proces este defapt un program care se află în execuţie şi Sistemele MS-DOS foloseau sistemul de fişiere FAT (File conţine trei mecanisme, şi anume mesaje, memorie partajată şi HAL este un nivel de software care ascunde diferenţele de constă dintr-un şir de octeţi pe care CPU-ul le interpretează ca Allocation Table). Sistemul de fişiere FAT pe 16 biţi are mai semafoare. Mesajele permit proceselor să trimită fluxuri de hardware faţă de nivelele superioare ale sistemului de operare, şi instrucţiuni maşină (numit "text"), date şi stivă. Mai multe multe neajunsuri, incluzând fragmentarea internă, limitarea date formatate la procese arbitrare, memoria partajată permite pentru a ajuta portarea NT-ului. HAL exportă o interfaţă de procese sunt executate simultan, pe unele sisteme doar în spaţiului la 2GB şi totodată nu prezintă protecţie la accesul la ca procesele să partajeze părţi din spaţiul lor de adrese virtuale, maşină virtuală care este folosită de nucleu, executiv şi drivere. aparenţă, ordinea execuţiei depinzând de planificarea acestora fişiere. Sistemul FAT pe 32 de biţi rezolvă unele dintre iar semafoarele permit sincronizarea execuţiei proceselor. HAL oferă deasemenea suportul pentru multiprocesare de către kernel. Deasemenea mai multe procese pot fi instanţe probleme, cum ar fi dimensiunea şi fragmentarea, dar Implementate ca şi unităţi, aceste mecanisme au anumite simetrică. Din motive de performanţă anumite drivere de I/O ale unui acelaşi program. performanţa şi alte caracteristici sunt încă destul de slabe faţă proprietăţi comune: (în versiunea 4.0 şi driverele grafice) pot accesa direct Un proces se execută urmând o secvenţă strictă de instrucţiuni, de alte sisteme de fişiere moderne. Sistemul NTFS este mult • Fiecare mecanism conţine o tabelă ale cărei intrări descriu hardware-ul. conţinută în proces, şi nu face salturi la secvenţele altor mai bun. Acesta a fost proiectat cu multe caracteristici, cum ar toate instanţele mecanismului. Nucleul procese. El îşi citeşte şi scrie secţiunile de date şi stivă, dar nu fi recuperarea datelor, securitate, toleranţă la defecte, fişiere şi • Fiecare intrare conţine o cheie numerică, care reprezintă Nucleul NT-ului oferă fundamentul pentru executiv şi pentru poate citi sau scrie datele şi stiva altui proces. Procesele sisteme de fişiere mari, fluxuri de date multiple, codificare numele ales de utilizator. subsisteme. Nucleul nu este niciodată eliminat din memorie şi comunică cu alte procese şi cu lumea înconjurătoare doar prin UNICODE a numelor şi compresia fişierelor. Pentru • Fiecare mecanism conţine un apel de sistem de tip get pentru execuţia sa nu este niciodată întreruptă pentru planificarea altor apeluri sistem. compatibilitate NT oferă suport pentru sistemele de fişiere a crea o nouă intrare sau pentru a regăsi una existentă, procese. Acesta are patru mari responsabilităţi: planificarea Practic un proces pe un sistem UNIX este o entitate care este FAT şi OS/2 HPFS. parametri apelului includ o cheie şi indicatori. firelor de execuţie, tratarea întreruperilor şi a excepţiilor, creată priri apelul sistem fork. Orice proces, cu excepţia Structura internă • Pentru fiecare mecanism IPC, nucleul foloseşte următoarea sincronizarea de nivel scăzut dintre procesoare şi revenirea procesului 0 este creat când un alt proces execută acest apel Entitatea fundamentală în sistemul NTFS este volumul. Un formulă pentru găsirea indexului în tabela structurilor de date după o cădere de tensiune. sistem. Procesul care a apelat fork se numeşte proces părinte, volum este creat de utilitarul NT de administrare a discurilor şi din descriptor: index = descriptor modulo (numărul de intrări Nucleul este orientat pe obiecte. Un tip de obiect sub NT este iar procesul nou creat se numeşte procesul fiu. Fiecare proces este bazat pe o partiţie logică a discului. Volumul poate ocupa în tabelă) un tip de dată definit de sistem care are un set de atribute are doar un singur proces părinte, dar poate avea mai multe o porţiune a unui disc, poate ocupa întregul disc sau se poate • Fiecare intrare conţine alte informaţii de stare, ca şi ID-ul (valori) şi un set de metode (funcţii sau operaţii). Un obiect procese fii. Nucleul identifică fiecare proces prin numărul de întinde peste mai multe discuri. în NTFS, toate metadate-le, ca ultimului proces care a actualizat intrarea (a trimis un mesaj, a este doar o instanţă a unui tip de obiect' particular. Nucleul îşi proces al acestuia, numit identificator de proces (PID). de exemplu informaţiile despre volum, sunt stocate în fişiere recepţionat un mesaj, a ataşat memorie partajată, ş.a), şi îndeplineşte funcţia prin folosirea unui set de obiecte sistem Procesul 0 este un proces special care este creat când se obişnuite. momentul ultimului acces sau actualizare. ale căror atribute memorează datele nucleului şi ale căror iniţializează sistemul, după ce lansează un proces fiu (procesul NTFS nu tratează sectoare individuale de pe disc, ci foloseşte • Fiecare mecanism conţine un apel de sistem "control" metode efectuează activităţile nucleului. 1), procesul 0 devine procesul swapper (cel care gestionează clustere-le ca şi unitatea de alocare a discului. Un cluster este pentru a interoga starea unei intrări, pentru a seta informaţii de Nucleul foloseşte două seturi de obiecte. Primul set sunt memoria virtuală). Procesul 1, cunoscut sub numele de inlt alcătuit dintr-un număr care este putere a lui 2 de sectoare de stare, sau pentru a şterge intrarea din sistem. Când un proces obiectele dispatcher. Acestea controlează planificarea şi este "strămoşul" tuturor proceselor din sistem. disc. Dimensiunea clusterului este configurată în momentul interoghează starea unei intrări, nucleul verifică dacă procesul sincronizarea în sistem. Exemple de astfel de obiecte sunt Nucleul, ca urmare a unui apel exec încarcă un fişier executabil creării sistemului de fişiere NTFS. Dimensiunea implicită are drepturi de citire după care copiază datele din intrarea evenimente, mutanţi, mutex-uri, semafoare, fire de execuţie şi în memorie. Procesul încărcat constă din cel puţin trei părţi, pentru volume de până la 512MB este dimensiunea sectorului, respectivă la adresa utilizator. In mod similar, pentru a seta temporizatoare (timer). Obiectul eveniment este folosit pentru a numite regiuni: text, date şi stivă. Regiunile text şi date adică 512 octeţi, pentru cele de până la 1GB este de 1KB, parametri unei intrări, nucleul verifică dacă ID-ul utilizator al înregistra apariţia unui eveniment şi de a îl sincroniza cu o corespund secţiunilor de text şi dată ale fişierului executabil, pentru cele de până la 2GB de 2KB şi 4KB pentru volume mai procesului corespunde ID-ului de utilizator sau al ID-ului celui acţiune. Mutant-ul oferă excludere mutuală în mod nucleu sau dar regiunea de stivă este creată automat şi dimensiunea mari. Această dimensiune a clusterului este mult mai mică care 1-a creat, sau dacă acel proces este rulat de supervisor, utilizator având şi noţiunea proprietarului. Mutex-u\ care este acestuia este ajustată dinamic în timpul execuţiei. decât cea pentru sistemul FAT pe 16 biţi, iar această dreptul de scriere nefiind suficient pentru a modifica disponibil doar în mod nucleu oferă excludere mutuală fără Deoarece în sistemul UNIX un proces poate rula în două dimensiune mică reduce fragmentarea internă. parametri. Nucleul copiază datele utilizator în intrarea de posibilitatea apariţiei interblocării. Un obiect semafor se moduri, kernel sau utilizator, se folosesc stive separate pentru Familia Windows NT suportă compresie pe:fișiere individuale, tabelă, setând ID-ul utilizator, ID-ul de grup, drepturile şi alte comportă ca şi un numărător sau poartă pentru controlul fiecare mod. Stiva utilizator conţine argumentele, variabilele directoare,volume întregi câmpuri depinzând de tipul mecanismului. Nucleul nu schimbă numărului de fire de execuţie care accesează o anumită resursă. locale şi alte date necesare funcţiilor care se execută în mod ID-ul utilizator şi cel de grup al celui care a creat intrarea, Obiectul fir de execuţie este entitatea care este executată de utilizator. Stiva kernel conţine datele necesare pentru funcţiile astfel acel utilizator îşi menţine drepturile de control asupra nucleu şi este asociat cu un obiect proces. Obiectele care se execută în mod kernel. Funcţiile şi datele din această e intrării respective. în final, un utilizator poate şterge o intrare temporizator sunt folosite pentru a urmări scurgerea timpului stivă se referă la funcţii şi date din kernel şi nu din programul cluster de până la 4KB. Când cluster-ul este mai mare de 4KB, dacă este supervisor sau dacă ID-ul său de proces se şi de a semnala depăşiri de timp pentru operaţii care iau prea utilizator. Stiva kernel a unui proces este vidă când un proces funcțiile de compresie nu sunt disponibile. potriveşte cu oricare câmp de ID din intrarea respectivă. mult timp şi trebuiesc întrerupte. rulează în mod utilizator Nucleul incrementează numărul de descriere astfel încât Al doilea set de obiecte nucleu cuprind obiecte de control. Contextul unui proces este starea acestuia, cum este ea definita parte a sa este comprimată sau nu. următoarea instanţă va avea un alt descriptor, astfel apelurile Aceste obiecte includ apeluri de procedură asincrone, de textul său, de valorile variabilelor utilizator globale şi zervă spațiu de sistem vor eşua dacă un proces va încerca să acceseze o întreruperi, notificări de curent, starea curentului, procese şi structurilor de date, de valorile regiştrilor pe care le foloseşte, pentru dimensiunea necomprimată. Sistemul ia înapoi spațiul intrare printr-un descriptor vechi profile. Apelul de procedură asincronă este folosit pentru a de valorile din zona din tabela de procese care îi corespunde nefolosit pe măsură ce fiecare buffer este comprimat. intra într-un fir de execuţie care rulează şi a executa o precum şi din zona u area şi conţinutul stivelor utilizator şi Encrypting File System – criptare/decriptare 3.Varianta BSD procedură. ()biectul întrerupere leagă o rutină de tratare a unei kernel. "Text"-ul sistemului de operare şi structurile sale de folosită pentru a stoca Programele de genul mail, remote file transfer, remote login întreruperi cu o sursă de întreruperi. Obiectul notificare de date globale, sunt partajate de toate procesele, dar ele nu fișiere criptate pe volume NTFS. care trebuie să comunice cu alte maşini obişnuiau să folosească curent este folosit pentru a se apela automat O rutină după ce constituie parte a contextului unui proces. ru utilizatorul care a criptat metode particulare pentru a stabili conexiunea şi pentru a s-a produs o cădere de tensiune, iar obiectul starea curentului fișierul. schimba date. este folosit pentru a verifica dacă tensiunea a căzut. Un obiect EFS folosește criptare cu chei simetrice în combinație cu 6.Servicii (concepte) Deoarece sistemul UNIX creează noi procese doar prin proces reprezintă spaţiul de adrese virtuale şi informaţia de tehnologii cu chei publice. mecanismul fork, procesul server trebuie să existe înainte ca control necesare pentru a executa setul de fire de execuţie Orice sistem de operare are nevoie de o modalitate de a procesul client să încerce să stabilească o conexiune. De obicei asociate unui proces. în final, obiectul profil este folosit pentru executa lucrări în fundal, care să se poată executa indiferent de procesul init creează un proces server care aşteaptă pe un canal a măsura timpul folosit de un bloc de cod. cine foloseşte maşina. Aceste lucrări în fundal pot executa criptată cu un algoritm cu chei publice/private și de comunicaţie până când primeşte o cerere pentru un serviciu Ca şi multe alte sisteme de operare moderne, NT are noţiunile diferite servicii importante pentru sistem sau utilizatori. stocată împreună cu fișierul în câmpuri DDF și DRF după care urmează un protocol pentru a completa iniţializarea de procese şi fire de execuţie. Procesul are un spaţiu de Serviciile Windows NT sunt implementate ca şi executabile După ce fișierul este criptat doar utilizatorii care au DDF sau conexiunii. Programele client şi server de obicei aleg mediul şi adresare virtual şi informaţii ca de exemplu o prioritate de bază normale, dar urmăresc un protocol intern specific care le DRF-uri corespunzătoare pot accesa fișierul. protocoalele ţinând cont de informaţiile din bazele de date de şi o afinitate pentru unul sau mai multe procesoare. Fiecare permite să interacţioneze în mod corespunzător cu Service folosind cheia lor aplicaţie, sau de informaţii efectiv codate în ele. proces are unul sau mai multe fire de execuţie, care sunt Control Manager (SCM). în continuare se vor prezenta privată, pot accesa fișierul. Implementarea streams din System V oferă un mecanism unităţile de execuţie planificate de nucleu. Fiecare fir de modalităţile de creare şi instalare în Windows NT a unor NTFS – Integritatea și Recuperarea elegant pentru suportul de reţea, deoarece modulele de execuţie are propria stare, incluzând o prioritate, o afinitate de servicii Win32 simple. Odată ce serviciile simple sunt înţelese, protocoale pot fi combinate într-un mod flexibil. procesor şi informaţii de contabilizare. construcţia unora mai complicate este destul de simplă, volumului prin folosirea de tehnici standard de logare a Acestei variante i se acociaza modelul de comunicare Cele şase posibile stări ale firelor de execuţie sunt: pregătit deoarece toate serviciile trebuie să conţină acelaşi cod de tranzacțiilor și recuperare. interprocese prin socluri. (ready), în aşteptare (standby), în execuţie (running), în interfaţă cu SCM. Odată ce cerinţele SCM sunt îndeplinite, nu t nedorit, NTFS restaurează aşteptare (waiting), în tranziţie itransition) şi terminat există diferenţe majore dintre executabilele serviciilor şi ale consistența printr-o procedură de recuperare care accesează 7.Sistemul de Securitate al NT-ului (terminated). Pregătit înseamnă în aşteptare pentru execuţie. programelor normale. informațiile stocate în fișierul log. - Este un sistem complex care oferă multe posibilități dar care Firul de execuţie pregătit cu cea mai mare prioritate este trecut Concepte de Bază pentru a putea fi folosit corect trebuie înțeles în starea în aşteptare, care înseamnă că va fi următorul fir de Serviciile sunt de două feluri. Servicii Driver care folosesc clustere pentru a minimiza efectele unor sectoare defecte de pe - Pentru majoritatea cazurilor uzuale există editoare specifice execuţie care va fi executat. într-un sistem multiprocesor, protocoale device driver pentru a interfaţa NT-ul cu diferite un volum NTFS de drepturi în interfețele de gestionare pentru fiecare procesor este păstrat un fir de execuţie în starea piese hardware. Serviciile Win32, pe de altă parte, NTFS – Permisiuni -Se poate scrie cod care să modifice informațiile de securitate în aşteptare. Un fir de execuţie este în execuţie când este implementează procese de fundal generale folosind API-ul În orice rețea Windows se pot seta permisiuni de partajare exact ca și din acele interfețe de gestiune executat de un procesor. Acesta se va executa până ce este Win32 normal. în continuare accentul va fi pus pe serviciile pentru discuri și directoare. -Exemple: întrerupt de un fir cu o prioritate mai mare, până ce se termină, Win32 din cauza utilităţii lor generale şi a uşurinţei creării lor. -Permisiunile sunt disponibile pentru discuri formatate NTFS. -Se poate crea un server de canale pe un sistem, pe care, de până ce cuantumul de timp alocat îi expiră sau până când Orice programator NT utilizând SDK-ul NT obişnuit (sau -Avantajul cu permisiunile NTFS este că ele afectează atât exemplu, doar administratorii de pe alte sisteme să îl poată apelează un apel sistem cu blocare, de exemplu o operaţie de Visual C++) şi cu acces administrativ la o maşină NT, poate utilizatorii locali cât și cei de rețea. accesa I/E. Un fir de execuţie este în starea în aşteptare când aşteaptă implementa şi instala propriile servicii Win32. în toate cazurile -Sunt bazate pe permisiunile acordate fiecărui utilizator la -Se poate crea un mutex (semafor de excludere mutuală) cu după un semnal ca de exemplu terminarea unei operaţii de I/E. în care se doreşte crearea unui program care să pornească la logon. attribute de securitate, care să permită doar anumitor utilizatori Un fir de execuţie nou este în tranziţie până când aşteaptă bootare şi să ruleze continuu în fundal, cel mai corect este sau grupuri să îl acceseze pentru resursele necesare pentru execuţie. Un fir de execuţie utilizarea unui serviciu Win32. 5.Fire de execuţie -Se poate asocia oricărui obiect (de exemplu unui fir de intră în starea terminat când se termină. Serviciile se prezintă prin interfaţa standard a NT-ului, şi execuţie, mutex, canal, fişier sau intrare de registry) abilitatea Executivul Firele de execuţie sunt una dintre cele mai utile avantaje ale anume Control Panel. Aici se găseşte un Applet denumit de a crea o intrare în logul de evenimente în momentul Executivul NT oferă un set de servicii pe care toate sistemului Windows NT/9x şi a Win32 API. Firele de execuţie Services care afişează o listă cu toate serviciile Win32 accesului la acesta subsistemele de mediu le pot utiliza. Serviciile sunt din permit împărţirea unui singur program în multiple fire de disponibile. Acest applet permite pornirea, oprirea, Concepte ale sistemului de securitate următoarele grupe: administrare de obiecte (object manager), execuţie. întreruperea şi reluarea serviciilor. Un al doilea dialog, accesat -De exemplu, se poate crea un fişier pe un volum formatat administrare memorie virtuală {virlual-memory manager), UNIX este un sistem de operare cu multi-tasking preemptiv. prin apăsarea butonului Startup, din Appletul Services, permite NTFS şi permite accesul oricărei combinaţii de utilizatori: administrare procese (process manager), facilitatea de apel Sistemul de operare şi nu aplicaţiile individuale, este schimbarea modului în care porneşte serviciul şi ce cont -Putem permite accesul doar la proprietar local de procedură, administrare I/E şi monitor de referinţe de responsabil de acordarea CPU-ului tuturor proceselor care implicit va fi utilizat. Un serviciu poate porni în mod automat -Putem permite accesul unui singur utilizator la un moment dat securitate. rulează. UNIX alocă unui proces o unitate de timp din timpul la bootare, poate fi dezactivat total, sau poate fi setat pe pornire -Putem permite accesul mai multor utilizatori la un moment dt Subsistemele de mediu CPU-ului, de exemplu 20 milisecunde, iar când această manuală. Când un serviciu este pornit manual, utilizatorul -Putem crea un grup NT şi permite accesul oricărui membru al Subsistemele de mediu sunt procese de mod utilizator aşezate cantitate expiră, sistemul de operare întrerupe procesul şi dă poate preciza parametri de start. Pentru a putea lucra cu acestui grup deasupra serviciilor executivului nativ NT. Rolul lor este următoarea unitate de timp CPU unui alt proces. O maşină Appletul Services utilizatorul trebuie să fie administratorul sau - Putem crea un grup NT şi permite accesul oricărui membru al de a executa UNIX poate să ruleze sute de procese rulând simultan şi totuşi un utilizator cu drepturi speciale. acestui grup, şi refuza apoi accesul unor membri specifici ai programe dezvoltate pentru alte sisteme de operare, incluzând să poată răspunde destul de rapid la comenzile utilizatorului. Sistemul Windows NT este furnizat cu un număr de servicii grupului Windows pe 16 biţi, MS-DOS, POSIX, şi aplicaţii OS/2 mod Dacă un proces se blochează, acesta nu are nici un efect asupra pre-instalate care tratează de exemplu mesageria, planificarea caracter pe 16 biţi. celorlalte, deoarece în continuare sistemul de operare deţine comenzilor cu comanda "at", şi altele. Când se creează noi NT foloseşte subsistemul Win32 ca şi mediu de operare controlul asupra alocării CPU-ului. servicii, acestea trebuiesc întâi instalate, pentru a le insera în principal. Tot acesta este folosit pentru a lansa toate procesele. Windows NT (şi Windows 9x) sunt sisteme de operare care lista tratată de appletul services. Procesul de instalare adaugă obiect din sistem. Rolul sentry este acela de a monitoriza cine Dacă executabilul nu este unul nativ Win32, acest mediu folosesc multi-tasking preemptiv, şi multi-threading. Deoarece informaţii despre noul serviciu, ca de exemplu numele, anume foloseşte obiectul şi cum anume o utilizează – auditare. verifică dacă subsistemul corespunzător rulează, dacă nu atunci foloseşte multi-tasking preemptiv, oferă acelaşi răspuns rapid denumirea executabilului, tipul de pornire, etc, în registry, Descriptorul de securitate acesta este lansat ca şi un proces utilizator. După aceasta şi independenţă a proceselor ca şi sistemele UNIX. Multi- astfel încât SCM, la o nouă pornire, să aibă toate informaţiile Win32 creează un proces pentru a rula aplicaţia şi trece threading-ul merge cu un pas şi mai departe. Un program despre noul serviciu. DWORD ServiceThread(LPDWORD param) { while (1) { Beep(200,200); -Un identificator de proprietar, care identifică proprietarul controlul subsistemului respectiv. individual implicit conţine un fir de execuţie, dar poate fi Sleep(beepDelay); } return 0; } curent al obiectului Deoarece fiecare subsistem este executat ca şi un proces împărţit în mai multe fire de execuţie independente astfel încât, // Initializam serviciul prin pornirea firului sau BOOL -Un identificator al grupului principal utilizator separat, o defecţiune apărută într-unui dintre acestea de exemplu, un fir de execuţie al unei aplicaţii poate trimite un InitService() { DWORD id; / -O listă sistem de control al accesului, sau SACL (System nu afectează pe celelalte. Excepţia este Win32, care oferă toate fişier la o imprimantă în timp ce un altul preia comenzile date / Pornim firul serviciului threadHandle = CreateThread(0, 0, (LPTHREAD_START_ROUTINE) Access Control List), care conţine informaţii de auditare capabilităţile de interacţiune cu tastatura, mouse-ul şi grafica. de utilizator. Această mică schimbare în proiectarea ServiceThread, 0, 0, &id); if (threadHandle==0) return FALSE; else { -O listă arbitrară de control al accesului, sau DACL Dacă acesta se defectează atunci întreg sistemul este programului poate reduce în mod semnificativ aşteptarea la runningService = TRUE; return TRUE; } } (Discretionary Access Control List), care determină care dezactivat, singurul mod de a mai interveni în acest caz este care ar fi supus utilizatorul în timpul calcule îndelungate, utilizatori şi grupuri pot şi care nu pot să acceseze obiectul prin acces de la distanţă. redesenări sau alte operaţii. Discretionary Access Control List Mediul MS-DOS. Multi-threading-ul permite exploatarea avantajelor oferite de -ul este inima sistemului de control al accesului Mediul Windows pe 16 biţi. CPU-uri multiple, disponibile în multe maşini NT high-end. Mediul Win32 Control List), care conţine intrări de control al accesului, sau Subsistemul POSIX ACE-uri (Access Control Entries). Subsistemul OS/2
ce aceştia pot sau nu pot să facă cu obiectul.
Comunicarea în rețea Gestionarea Memoriei Memoria virtual - În API există două facilităţi care suportă comunicaţiile în Programul trebuie să fie adusă în memorie şi plasat într-un Memoria virtuală – separarea memoriei logice utilizator de reţea:Mailslots, Named pipes proces pentru a putea fi rulat. memoria fizică. -API-ul Win32 suportă în mod direct comunicaţiile în reţea - Coada de intrare (Input queue) – colecţie de procese aflate pe trebuie să fie în memorie pentru Exemple: disc care aşteaptă să fie aduse în memorie pentru a rulan execuţie. -un sistem de multi-conferinţă în reţea: programul. fel mult mai mare decât orice mesaj introdus va fi transmis la toţi utilizatorii din reţea -Programele utilizator trec prin mai mulţi paşi înainte de a fi spațiul fizic de adrese. pentru implementare în general se folosesc mailslots rulate. deoarece acestea permit o uşoară distribuţie a informaţiei Legarea instrucţiunilor şi a datelor la adrese de memorie poate procese. -pentru transmisia unei cantităţi mari de date între două maşini, avea loc la trei etape diferite. în mod normal se utilizează conexiuni punct-la-punct virtuală poate fi implementată prin: plementare se pot folosi named pipes apriori, se poate genera cod absolut; trebuie recompilat în ţii cazul schimbării locaţiei de start. conectându-se individual la acesta prin canale cunoscută la Paginare la cerere Există cel puțin două modalităţi de comunicare folosind compilare atunci trebuie generat cod relocatabil. funcţiile native Win32 API: dacă mailslot, o maşină poate transmite un mesaj procesul poate fi mutat în timpul execuţiei dintr-un segment de care este primit de toate celelalte maşini de pe reţea memorie în altul. Necesită suport hardware pentru maparea named pipe), o maşină poate să aleagă o adreselor (ex., regiştri de bază şi limită). Copy-on-Write altă maşină şi să realizeze o conexiune dedicată cu acesta Swapping Copy-on-Write (COW) permite atât proceului părinte cât și Toate segmentele sunt conectate unele la altele printr-un router orar din memorie pe un celui fiu ca inițial să partajeze aceleași pagini în memorie. astfel ca ele să poată să comunice unele cu altele, aşa cum este mediu de stocare secundar şi adus înapoi în memorie pentru Dacă oricare proces modifică o pagină partajată, doar atunci ea arătat mai jos. continuarea execuţiei. este copiată. e secundar – disc rapid destul de mare ce pentru a putea stoca copii ale tuturor imaginilor de memorie doar paginile modificate vor fi copiate. pentru toţi utilizatorii; -un fond (pool) de pagini trebuie să ofere acces direct la aceste imagini de memorie. inițializate cu zero. – variantă de swapping folosită pentru Algoritmi de înlocuire de pagini algoritmi de planificare bazate pe prioritate; procesul de Algoritmul First-In-First-Out (FIFO) prioritate scăzută este eliminat astfel încât un proces de Algoritm Optimal În general: prioritate mai mare să poată fi încărcat şi executat. pentru cel mai mult timp. total de transfer este direct proporţional cu cantitatea de Algoritmul Cel Mai Puţin Folosit(Least Recently Used (LRU)) Folosind mailslots şi canale (named pipes), este posibilă memorie transferată (schimbată). Algoritmi de numărare construcţia a trei arhitecturi de comunicare: eriri care au fost , point-to-point, client/server sisteme (i.e., UNIX, Linux, and Windows). efectuate la fiecare pagină. Conexiuni Mailslot -urile sunt extrem de uşor de creat, iar citirea şi Problema alocării dinamice a memoriei Cum să satisfaci o cerere de dimensiune n dintr-o listă de găuri scrierea sunt efectuate prin funcţiile API normale ReadFile şi libere. WriteFile. First-fit: Alocă primul bloc liber care este destul de mare. ale specială transmisă -fit: Alocă cel mai mic bloc care este destul de mare; funcţiei CreateMailslot determină sistemul să creeze un trebuie căutată întreaga listă, cu excepţia cazului în care lista mailslot în locul unui fişier normal. este ordonată după dimensiune. Produce cel mai mic bloc rămas. "\\.\mailslot\[cale]nume". -fit: Alocă cel mai mare bloc liber;trebuie deasemenea Când mailslotul este creat, se pot specifica lungimea să caute întreaga listă. Produce cel mai mare bloc rămas. maximă a unui mesaj şi timpul în care expiră operaţia de citire. First-fit şi best-fit sunt mai bune decât worst-fit în termeni de Canale (Named Pipes) viteză şi utilizarea spaţiului. uri, canalele pot să spună dacă Paginarea adrese logice ale unui proces poate fi necontinuu; celălalt capăt nu funcţionează bine procesului îi este alocată memorie fizică când acesta din urmă devine disponibilă. serverul de dimensiune fixă numite dacă un alt utilizator cadre(dimensiunea este putere a lui 2, între 512 şi 8192 octeţi). încearcă să se conecteze la receptor, conexiunea va eşua cu ri de aceeaşi dimensiune mesajul de eroare "access denied". Aceasta este din cauza numite pagini. sistemului de securitate NT. u funcţia CreateNamedPipe va fi întotdeauna de forma: găsim n cadre libere şi să încărcăm programul. \\.\pipe\[cale]nume pentru translatarea adreselor Canalele sunt deseori folosite în sisteme client/server, unde logice la cele fizice. serverul foloseşte o abordare multi-fir pentru a trata multiple Segmentarea conexiuni simultan. utilizator asupra memoriei.
unitate logică ca de exemplu:program principal,procedură,
funcţie,metodă,obiect,variabile locale, variabile globale. Segmentare cu paginare – MULTICS blema fragmentării externe şi a timpilor mari de căutare prin paginarea segmentelor. ntarea pură în aceea că intrarea în tabela de segmente conţine nu adresa de bază a segmentului ci adresa de bază a tabelei de pagini pentru acest segment.