Tehnologia calculatoarelor a făcut un mare progres în ultimii 60 de ani, de la apariția primului calculator și până astăzi. Cu toate că totul a… [310006]
UNIVERSITATEA „ALEXANDRU IOAN CUZA” IAȘI
FACULTATEA DE INFORMATICĂ
TEMA LUCRĂRII
ARHITECTURA VON NEUMANN ȘI
APLICAȚII DIDACTICE
Coordonator științific
Lector Dr. Vlad Rădulescu
Candidat: [anonimizat]
2020
Introducere
Tehnologia calculatoarelor a făcut un mare progres în ultimii 60 [anonimizat]. Cu toate că totul a [anonimizat] a devenit omniprezentă în viața noastră, o tehnologie de care cu greu ne putem lipsi. [anonimizat]. [anonimizat], educație chiar și poliție. [anonimizat] i le oferim și ne furnizează rezultate optime. Această invenție practic a schimbat viețile oamenilor în mare măsură.
Informatica este știința care se ocupă cu prelucrarea informațiilor prin intermediul computerelor. [anonimizat], imagini, video, numere și sunet.
[anonimizat], primul apărut a fost abacul cunoscut în zilele noastre sub denumirea de numărătoare. Acesta este o tabliță dreptunghiulară care a fost folosită în antichitate pentru efectuarea calculelor. Al doilea sistem de calcul a [anonimizat]. Acestea au fost utilizate pentru efectuarea adunărilor și înmulțirilor. A treia invenție a fost sistemul de calcul Babbage aparținând lui Charles Babbage. Următorul sistem de calcul a fost calculatorul Von Neumann. Calculatoarele din zilele noastre funcționează conform calculatorului digital imaginat in anii ’40 de către John von Neumann. În viziunea acestuia un calculator era constituit din 5 părți principale: dispozitivul de intrare care se ocupă cu introducerea datelor în calculator precum o tastatură, [anonimizat], [anonimizat].
Unui computer i se poate oferi titlul de sistem de calcul deoarece acesta este un ansamblu de două componente: [anonimizat], [anonimizat], [anonimizat].
În acestă lucrare am realizat un suport teoretic și aplicativ pentru îndrumarea unui profesor sau student: [anonimizat]1 Noțiuni generale
Arhitectura calculatoarelor constă în teoria ce stă la baza construcției unui calculator. Așa cum un arhitect își stabilește obiectivele și principiile construirii planului de construcție și un arhitect de calculatoare stabilește arhitectura sistemului de calcul ce se află la baza proiectării. [anonimizat]. Un calculator numeric este considerat un sistem format din mai multe unități sau subsisteme. Aceste subsisteme pot fi organizate într-o structură generală urmărind un model standard pentru toate calculatoarele și corespunde modelului von Neumann.
Conform principiilor von Neumann un calculator digital conține următoarele 5 componente:
Mediul de intrare – asigură preluarea instrucțiunilor sau a datelor
Mediul de memorare – stochează programul și datele care au legătură cu acesta.
Mediul de prelucrare – garantează funcțiille logice și aritmetice necesare prelucrării datelor
Mediul de ieșire – responsabil cu extragerea datelor
Mediul de control – are capabilitatea de a interpreta instrucțiunile din memorie și de a controla automatizarea calculelor.
Din punct de vedere structural unui calculator digital îi corespund următoarele 5 unități:
Unitatea de Intrare (IU)
Unitatea Logico-Aritmetică (ALU)
Unitatea de Memorie (MU)
Unitatea de Ieșire (OU)
Unitatea de Comandă și Control (CCU)
Unitatea de comandă
și control
Unitatea de Memorie
Instrucțiuni
Unitatea Logico-Aritmetică și Unitatea de Control formează Unitatea Centrală de Prelucrare (Procesorul).
Unitatea de Intrare
Unitatea de Intrare face posibilă introducerea datelor și programelor, asigurând totodată și legătura dintre mediul exterior și calculator. Aceasta funcționează în două moduri distincte:
Direct cu ajutorul mouse-ului, tastaturii, scannerul-ului, etc. Această metodă prezintă avantajul simplității, însa viteza de operare este mică și se pot întâmpina eventuale erori.
Indirect prin intermediul unor echipamente specializate precum: cititoare de cartele, cititoare de microfilme, cititoare de banda perforată etc, iar ca mediul intermediar se utilizează: benzi perforate, cartele, bandă perforată etc. Această metodă de citire a datelor este mai rapidă, însă consumă timp pentru pregătirea datelor.
Unitatea Logico-Aritmetică
În Unitatea Logico-Aritmetică se generează informația nouă, aceste prelucrări fiind de natură logică și aritmetică. Această unitate este cea mai performantă și productivă, iar viteza de operare este mare. Fiind o componentă a Unității Centrale de Procesare, aceasta operează cu ajutorul unității de control. Putem astfel distinge o magistrală de date, pe care
UAL primește datele de operat, o magistrală de de adrese și una de control și stare. La unele sisteme de calcul operațiile magistralei de date sunt controlate de hardware, iar la altele prin microprogram. Cel din urmă interpretează instrucțiunile de nivel superior. La nivelul UAL sunt implementate funcții prcum:
Funcții aritmetice: adunare, scădere, înmulțire, împărțire;
Funcții logice: ȘI, SAU, SAU EXCLUSIV, NOT(NU), Complement față de unu și complement față de doi.
Unitatea de Memorie
Unitatea de Memorie depozitează programele și datele, îndeplinind totodată 3 funcții de bază:
Scriere
Memorare
Citire
Această unitate pastrează informația intactă și se caracterizează prin capacitate și timpul de acces.
Memoria este structurată în:
memorie principală (memoria internă)
memorie secundară (memoria externă).
Acestea se diferențiază prin capacitatea de stocare, tehnologia implementată, numărul de subnivele, viteza de lucru și funcționalitatea administrării.
Proprietățile unei memorii sunt următoarele:
Tipul fizic: semiconductoare, optic, magnetic, etc.
Caracteristici fizice: volatilitatea, reutilizabilă, etc.
Amplasarea: internă și/sau externă.
Capacitatea: reprezentat prin numărul de cuvinte, dimensiunea cuvântului.
Modul de acces: asociativ, aleator, secvențial și direct.
Unitatea de transfer: octetul, blocul, cuvântul.
Performanța: rata de transfer, timpul de acces, etc.
Organizarea.
Memoria principală se realizează în tehnologie VLSI (Very Large Scale Integration, integrare la scară foarte mare) semiconductoare ce garantează o rată de transfer mare, de ordinul ns și o capacitate mare. Aceasta se împarte în memoria superoperativă și memoria operativă.
Memoria superoperativă (MSO) are o capacitate mică, un timp de acces foarte mic și este cea mai apropiată de proces. Atribuția acesteia este de a depozita instrucțiunile aflate în execuție, datele aferente programului de execuție și rezultatele intermediare. Rolul principal al MSO este să realizeze o viteză de lucru comparabilă cu CPU. CPU preia datele și instrucțiunile din MSO. Memoria cache este, în prezent, cea mai extinsă memorie MSO.
Memoria operativă (MO) mai poartă și numele de memorie externă deoarece nu este componentă a Unitătății Centrale. Aceasta este compusă din diverse dispozitive de stocare externe (CD-ROM, FDD, DVD-ROM, HDD, etc.) care se diferențiază prin capacitate, principiul de funcționare, viteza acestuia și mediul de stocare. Memoria secundară este destinată stocării volumelor mari de date și programe. MS are un timp de acces foarte mare (de ordinul ms) și o capacitate mare (de ordinul TB, GB sau MB). Programele ce trebuie executate în MS vor fi transferate, mai întâi, în MP. Transferul acestui program se face printr-o componenta a software-ului de sistem denumit Sistem de Operare, totul fiind controlat software.
Unitatea de Ieșire
Unitatea de Ieșire face posibilă comunicarea între mediul exterior și calculator prin extragerea rezultatelor din calculator. Aceasta are 2 moduri de a lucra:
Direct cu ajutorul monitorului, displayu-lui, etc.
Indirect prin intermediul dispozitivelor specializate precum perforatoare de benzi, cartele, etc.
Unitățile de intrare și de ieșire poartă denumirea de global unități de I/O. Acestea constituie echipamente periferice ale calculatorului. Principalul rol al unităților I/O este de a asigura comunicarea la distanță incluzând echipamente specializate în acest sens pentru construirea rețelelor. (routere, modem, etc).
Unitatea de Comandă și Control
Unitatea de Control are rolul de a asigura monitorizarea și administrarea funcționării tuturor unităților din calculator, de a superviza și este considerată “creierul” calculatorului. Aceasta asigură automatizarea procesului de calcul și este componenta a CPU. În urma decodificării instrucțiunilor, impulsului de ceas și a cererilor de întrerupere se obțin comenzile generare de UC
In comparative cu arhitectura von Neumann in momentul de față:
– unitatile de intrare si iesire sunt mai multe si mai variate, unele putand lucra in ambele sensuri (I/O)
– unitatea artimetico-logica si cea de control practic formeaza impreuna procesorul
I.2 Diagrame logice
Porți logice și funcțiile boolene atașate acestora
Poarta AND permite trecerea curentului electric doar daca ambele inputuri au tensiune inaltă.
Poarta OR permite trecerea curentului electric daca cel putin unul dintre imputuri au tensiune înaltă.
Poarta NOT schimba nivelul de tensiune de la input in cel opus sau.
Poarta NAND nu permite trecerea curentului electric dacă ambele imputuri au tensiune înaltă.
Poarta NOR ofera ca output tensiunea înaltă doar daca ambele imputuri sunt de joasă tensiune.
Poarta XOR oferă ca output tensiunea înaltă doar daca un singur input are tensiune înaltă.
În diagramele logice, porțile logice comutative și asociative pot avea mai multe imputuri, acestea fiind reprezentarea sumară a mai multor porti de același tip, în serie. Porțile AND,OR și XOR sunt asociative si comutative, pe cănd porțile NAND și NOR sunt doar comutative. Așadar, extensia la multiple inputuri se poate realiza doar la porțile AND, OR și XOR, iar la nivel teoretic, aceasta poate avea loc și cu 𝑛∈ℕ, unde n este un număr finit de inputuri.
Implementarea circuitelor cu ajutorul funcțiilor booleene
Funcțiile logice booleene se pot defini prin tabel de adevăr, așa cum am observat anterior, prin expresii de variabile și operații logice dintr-o structură algebrică, în formă grafică, cu ajutorul diagramelor, sau în sigma-notație (Σ). Astfel, din 𝑓=Σ(3,5,6,7), întelegem: fiecare număr reprezintă un termen din forma normală disjunctivă a funcției. Numărul de variabile implicate în funcție este cea mai mică putere al lui 2, strict mai mare decât cel mai mare număr din paranteză. În cazul nostru, 𝑛=3:4=22<7<23=8. Așadar, putem spune că 𝑓(𝑥1,𝑥2,𝑥3)=Σ(3,5,6,7).
Vom scrie fiecare număr din paranteză, în baza 2, pe n pozitii, după care vom transforma șirul de biti obținuți intr-un termen din FND, urmand ordinea variabilelor 𝑥1,𝑥2,𝑥3, scriem fiecare variabilă negată, dacă îi corespunde un 0 și nenegată, dacă îi corespunde 1: 24
• 3→011→𝑥1̅̅̅∙𝑥2∙𝑥3
• 5→101→𝑥1∙𝑥2̅̅̅∙𝑥3
• 6→110→𝑥1∙𝑥2∙𝑥3̅̅̅
• 7→111→𝑥1∙𝑥2∙𝑥3
numarul de Înlocuind, obținem
Σ(3,5,6,7)= 𝑓(𝑥1,𝑥2,𝑥3)=(𝑥1̅̅̅∙𝑥2∙𝑥3)+(𝑥1∙𝑥2̅̅̅∙𝑥3)+(𝑥1∙𝑥2∙𝑥3̅̅̅)+(𝑥1∙𝑥2∙𝑥3), care este defapt funcția „imparitate”, cu trei intrări. Aceasta returnează 1 dacă numarul de variabile setate pe 1 este impar, 0 altfel. După cum observați, forma normală disjunctivă a funcției este alcatuită din 4 termeni și 14 operatori, iar implementarea fizică a acesteia necesită 14 porți logice: 3 porți NOT, 8 porți AND și porți OR. Aplicănd extensia la multiple imputuri, reducem porți necesare la
I.3 Nivelurile ierarhiei de memorii
Capacitate
Timp de acces
Cost
Regiștri CPU
4-64 octeți
1 ns
Memorie Cache
Nivel 1: < 16 Kilo-octeți Nivel 2: < 2 Mega-octeți 3 ns; 15 ns
0.8 cenți/ byte
Memorie Principală
4 Giga – octeți
150 ns
0.08 – 0.008 cenți/ byte
Disc
Nivel superior
Controlul transferului
Unitatea de transfer
1-8 octeți
CACHE
Hardware
Blocuri (Controller cache)
8-128 octeți
MEMORIE PRINCIPALĂ
Pagini Sistemul de operare
512 – 4 Kilo-octeți
100 Giga – octeți
ms 5,000,000 ns
8×10−5 – 8×10−6 cenți/ byte
Bandă
Secunde-minute
DISC
Fișiere Utilizator
Mega-octeți
BANDĂ
Capacitate
mai mare
8×10−8 cenți/ byte
Nivel inferior
Există mai multe tipuri de memorii, cu diferite capacități de stocare și viteze de transfer. Spațiul de stocare și viteza de transfer sunt invers proporționale. De regulă cu cât un tip de memorie tinde să aibă mai mult spațiu de stocare cu atât tinde să fie mai lentă. Diagrama de mai sus ilustreză diferite tipuri de memori
I.4 Regiștri
Regiștrii sunt poziționați în imediata vecinătate a procesorului și servesc ca scop stocarea de informație la un moment dat de timp, pentru ca ulterior să se opereze pe aceștia. Bineînteles, regiștrii captează și informațiile legate de starea procesorului, precum și adresa de memorie a bazei stivei de memorie și a varfului acesteia. În continuare, vom discuta despre regiștrii si dimensiunile de date ale procesoarelor IA-32, bazate pe arhitectura x86 (pe 32 de biți).
Cuvintele cheie folosite pentru a indica dimensiunile memoriei adresate sunt:
Octetul (BYTE), unde bitul cu indexul 7 este cel mai semnificativ, iar cel cu indexul 0 este cel mai puțin semnificiativ. Acesta este folosit în reprezentarea numerelor întregi, cu sau fără semn.
Cuvântul de dimensiune doi (WORD), unde octetul 15-8 este cel mai semnificativ, iar octetul 7-0 este cel mai puțin semnificativ. Acesta este de asemeni folosit pentru reprezentarea numerelor întregi cu sau fără semn.
Cuvântul de dimensiune patru (DWORD), unde octetul 31-24 este cel mai semnificativ, iar octetul 7-0 este cel mai puțin semnificativ. Acesta este folosit pentru reprezentarea numerelor întregi cu sau fără semn, a adreselor de memorie (pointeri), și a numerelor reale.
Procesoarele IA-32 sunt mașini ce folosesc aranjarea în memorie de tipul little-endian: octeții dintr-un DWORD sau dintr-un WORD sunt așezați in memorie de la octetul cu adresa de memorie cea mai mică, la octetul cu adresa de memorie cea mai mare.
Tipuri de regiștrii:
Regiștrii de uz general: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP; aceștia sunt folosiți pentru stocarea adreselor de memorie și a operanzilor.
31 Regiștrii de uz general 0
EAX
EBX
EDX
ESI
EDI
EBP
ESP
Regiștrii de segment: CS, DS, SS, ES, FS, GS; aceștia sunt folosiți pentru stocarea a 6 selectori de segment.
15 Regiștrii de segment 0
CS
DS
SS
ES
FS
GS
EFLAGS (Registru status-program și control); acest registru reține statusul programului in curs de rulare și permite controlul limitat al procesorului.
31 Registru Status-Program și Control 0
EFLAGS
EIP (Instruction Pointer); acest registru reține o adresă de memorie pe 32 de biți care indică următoarea instrucțiune de executat.
31 Instruction Pointer 0
EIP
În cadrul regiștrilor de uz general, cei mai puțini semnficativi 16 biți sunt direct asociați cu regiștrii generali din cadrul procesoarelor 8086 respectiv Intel 286 și pot fi accesați prin regiștrii: AX, BX, CX, DX, BP, SP, SI, DI. De asemeni, putem accesa fiecare dintre cei doi cei mai puțin semnificativi octeți din cadrul regiștrilor EAX, EBX, ECX, EDX, prin denumirile: AH, BH, CH, DH, pentru cei mai semnificativi, respective AL, BL, CL, DL, pentru cei mai puțin semnificativi.
Registrul pe 32 de biți EFLAGS este format din mai mulți marcatori de tip „Status Flag”:
CF (bitul 0): Carry Flag se setează atunci cănd o operație aritmetică generează un transport sau folosește un împrumut la cel mai semnificativ bit. Acesta poate fi folosit la testarea depașirilor in cadrul operațiilor aritmetice cu numere fară semn.
PF (bitul 2): Parity Flag se setează atunci cănd octetul cel mai puțin semnificativ din cadrul unui număr calculat are un număr par de biți setați pe unu.
ZF (bitul 6): Zero Flag se setează atunci cănd rezultatul unui calcul este zero.
SF (bitul 7): Sign Flag ține valoarea celui mai semnificativ bit dintr-un rezultat. Altfel spus, acesta este semnul unui număr intreg (0 pentru pozitiv, 1 pentru negativ).
OF (bitul 11): Overflow Flag se setează doar atunci cănd apare o eroare de depăsire în cadrul unui calcul
Instrucțiunile din IA-32 se bazează pe zero sau mai mulți operanzi. Aceștia pot fi accesați fie explicit, fie implicit. Datele operandului de tip sursa pot fi localizate fie într-un registru, fie într-o locație din memorie, fie în cadrul instrucțiunii date, sub forma unui operand direct, numit și IMM.
Distanța de la byte-ul 0 la byte-ul de accesat din memorie se numește offset. Offsetul din cadrul unei adrese de memorie poate fi specificat în mod direct, sub forma unei valori statatice, sau prin intermediul unui calcul ce conține cel puțin una din următoarele câmpuri: deplasament (8/16/32 biți), bază (valoarea ce va regăsi în cadrul unui registru de uz general), index (valoarea ce va regăsi în cadrul unui registru de uz general), factor de scalare (având valoarea 1, 2, 4 sau 8).
I.5 Memoria cache
Memoria cache este o memorie redusă ca și dimensiune în comparație cu memoria principală, aceasta rezumându-se la câțiva MB. Cu toate acestea, este o memorie foarte rapidă și este folosită ca o interfață între memoria internă și procesor. Memoria cache cuprinde o copie a unor secțiuni din memoria principală. În momentul în care procesorul încearcă să citească un cuvânt existent în memorie, testează dacă acel cuvânt se găsește în memoria cache. În cazul în care procesorul găsește acel cuvânt, atunci acesta este furnizat unității centrale. În caz contrar, un bloc, ce constă într-un anumit număr de cuvinte, din memoria principală se încarcă în memoria cache, apoi se returneaza cuvântul unității centrale.
Memoriile cache au un timp redus de accesare dacă sunt înglobate în microprocesor (aproximativ 1-5 ns în prezent), datorită tehnologiilor de înaltă performanță. Rolul acestor memorii este de a compensa viteza scazuta a memoriilor DRAM in raport cu procesorul, a cărui potențial scade cu doar 7% pe an. Deobicei, când se accesează o locație DRAM, procesorul „pierde” 15-50 impulsuri de tact, iar accesarea cache-ului se realizează în 1-3 impulsuri de tact. Altfel spus, memoria cache scurtează timpul mediu de acces al procesorului la memoria principală, acest lucru fiind eficace. Un acces în urma căruia se găsește în cache o copie a datei solicitate se numește acces cu succes în cache, pe când un acces în urma căruia nu se găsește o astfel de copie în cache se numește acces cu eșec în cache.
Rata de succes (RS) este definită ca un parametru de performanță al unei memorii cache și este raportul dintre numărul de acces cu succes în cache și numărul total al acceselor procesorului la memorie. În prezent, sunt frecvente peste 90% rate de hit.
Similar, rata de eșec (RE) reprezintă raportul dintre numărul de accese cu eșec în cache și numărul total de accese la memorie. Despre rata de eșec se poate spune că este complementară ratei de succes, cu alte cuvinte:
RS [%] + RE [%] = 100%
Transferul de date dintre memoria principală și cache nu se face la nivel de cuvânt, ci tot la nivel de bloc. Dacă un acces se soldează cu o ratare în cache, ceea ce presupune aducerea blocului căutat din memoria principală, se face evacuarea în memoria principală a unui bloc din cache.
Eficiența memoriilor mizează pe două principii: principiile de localizare spațială și temporală. Potrivit principiului de localizare spațială există o probabilitate foarte mare ca o dată sau o instrucțiune aflată în vecinătatea unei alte date sau instrucțiuni accesate recent de către procesor, să fie și ea accesată într-un viitor apropiat. Conform principiului de localitate temporală, este probabil ca o instrucțiune accesată în acest moment de catre procesor să fie accesată din nou, într-un timp imediat. Combinarea celor 2 principii menționate anterior ne ghidează către faimoasa „regulă 90/10” care presupune că aproximativ 90% din timpul de rulaj al unui program se executa în doar aproximativ 10% din codul său.
Există 3 tipuri de memorii cache, din punct de vedere arhitectual, în conformitate cu gradul de asociativitate:
Cu mapare directa – Un bloc din memoria principală poate fi surprins în cache într-un bloc determinat. De exemplu, blocurile 12, 20, 28, 36, 42, etc. nu pot exista împreună în cache la un moment dat deoarece toate se mapează în cache pe blocul 4.
Semiasociative – La această categorie de cache sunt mai multe seturi, fiecare având mai multe blocuri componente. Blocul dorit poate fi mapat oriunde în acel set, deoarece maparea indică precis setul în care se poate afla blocul dorit.
Total asociative – Acestea introduc un singur set și permit maparea blocului în orice loc în cache.
Tipuri de acces în cache
Explicația cauzelor de miss în cache poate fi de 3 tipuri:
La un bloc, primul acces generează întotdeauna miss
Capacitatea limitată a memoriei cache; nu poate avea toate blocurile din memoria principală la un moment dat
Interferențele blocurilor din memoria principală pe același bloc din memoria cache.
I.6 Memoria principală
Memoria principală a calculatorului este acea componentă care are rolul de a înregistra și de a reda valori. Această memorie este o memorie operativă deoarece aici se încarcă datele aferente și programele lansate în execuție, iar din punct de vedere al procesorului memoria principală este o memorie cu acces direct. Ca și structură, este compusă din două mari părți, și anume memoria RAM și memoria ROM.
Memoria RAM (Random Acces Memory) este acea memorie în cazul căreia informația se pierde în momentul decuplării calculatorului de sub tensiune. În mod normal, după prelucrarea temporară a datelor este recomandat salvarea acestora pe un suport ce poate stoca informații si nu depinde de alimentarea cu energie electrică pentru a menține datele. În implementarea memoriei RAM, se deosebesc două tipuri de memorie: memoria DRAM (Dynamic RAM) și memoria SRAM (Static RAM).
Cea mai întâlnită în sistemele actuale este tehnologia DRAM, iar pentru a putea reține datele stocate în celulele de memorie, aceasta necesită să fie reîmprospatată de sute de ori pe secundă. Această memorie dinamică este alcătuită din condensatori încărcați sau descărcați cu o sarcină electrică corespunzătoare lui 0, respectiv 1 logic. Acești condensatori necesită reîncărcați periodic, deoarece se descarcă în timp. Procesul de reîncărcare a condensatorilor este denumit ca refresh de memorie.
Memoria DRAM este distribuită într-o matrice de celule de memorie, iar pentru stocarea unui bit de date este utilizată fiecare celulă. La intersecția rândului și a coloanei unde se află celula, putem identifica instantaneu datele memorate în celula respectivă. Memoria DRAM fiind mai lentă are un cost mai redus, iar densitatea de integrare este mare, așadar spațiul ocupat este mai mic. O memorie DRAM poate stoca de aproximativ 30-50 de ori mai multă informație decât o memorie SRAM.
Tipurile de memorie DRAM sunt următoarele:
ERAM ( Enhanced RAM ) → aceste memorii implementează paginarea memoriei.
FPM ( Fast Page mode) → memorii cu paginare dublă
S-RAM ( Synchronous RAM ) → aceste memorii sunt sincronizate separat având la bază un semnal de tact și un cache integrat
EDO RAM ( Extended Data Out RAM ) → este un tip de cip de memorie cu acces aleator care îmbunătățește timpul de citire din memorie pe microprocesoare mai rapide.
Memoriile SRAM sunt construite în tehnologie bipolară sau unipolară, iar elementul central al unei celule este circuitul basculant bistabil. SRAM este memoria calculatorului care necesită un flux constant de energie pentru a păstra informații. Consumul de energie variază în funcție de cât de frecvent este accesată memoria. Acestea reprezintă un tip de memorie RAM care deține datele într-o formă statică. Spre deosebire de memorie DRAM dinamică, memoria SRAM nu necesită actualizare. SRAM stochează datele pe patru tranzistoare utilizând două invertoare încrucișate, care furnizează o ieșire de 0 sau 1 în funcție de starea anterioară a circuitului pentru anumite semnale date la intrare. Pentru stocarea unui bit de memorie este nevoie de șase tranzistoare cu efect de oxid de metal semiconductor. Deși este mai rapidă decât memoria DRAM, memoria SRAM care este tot un sistem matriceal este mai scumpă și este utilizată cel mai frecvent în memoria cache-ului si a plăcii video datorită vitezei mari.
I.7 Memoria virtuală
Memoria virtuală reprezintă o metodă de utilizare a unității hard disk pentru a simula o memorie suplimentară pentru computer. Această tehnică implică manipularea și gestionarea memoriei, permițând simultan încărcarea și executarea programelor mai mari sau a mai multor programe. De asemenea, permite fiecărui program să funcționeze ca și când ar avea o memorie infinită și este adesea considerată mai rentabilă decât cumpărarea de memorii RAM suplimentare. Aceasta este compusă din unul sau mai multe cipuri de RAM, fiecare având mai multe module de memorie. Cantitatea de memorie reală dintr-un computer este limitată la cantitatea de memorie RAM instalată. Dimensiunile obișnuite ale memoriei sunt 256 MB, 512 MB și 1 GB. Deoarece calculatorul are o cantitate finită de memorie RAM, este posibil să nu mai existe memorie atunci când prea multe programe rulează simultan. Aici intervine memoria virtuală. Aceasta mărește memoria disponibilă pe care o are computerul prin mărirea "spațiului de adrese" sau a locurilor din memorie unde pot fi stocate date. În momentul în care se solicită un segment de memorie, care de fapt nu se află în memorie acesta este mutat din memoria virtuală în într-o adresă de memorie reală. Procesul de mapare a datelor înainte și înapoi între hard disk și memoria RAM durează mai mult decât accesarea directă din memorie. Aceasta înseamnă că, cu cât memoria virtuală este utilizată mai mult, cu atât va încetini mai mult calculatorul. Memoria virtuală permite software-ului să utilizeze memorie suplimentară utilizând unitatea hard disk (HDD) ca spațiu de stocare temporar. Majoritatea unităților centrale de procesare (CPU) furnizează unități de gestionare a memoriei (MMU) care suportă memoria virtuală. MMU acceptă "tabelele de pagini" care sunt folosite pentru a transforma adresele "reale" și "virtuale" aflate în memorie și pe HDD.
I.8 Gestionarea Memoriei. Paginarea Memoriei.
Managementul memoriei
Managementul memoriei este procesul de control și coordonare a memoriei calculatorului, atribuirea porțiunilor numite blocuri diferitelor programe care rulează pentru a asigura funcționarea corectă a programelor și pentru a optimiza performanța generală a sistemului. Gestionarea memoriei se găsește în hardware, în sistemul de operare (SO) și în programe și aplicații. Managementul memoriei implică componente care stochează fizic date, cum ar fi modulele RAM (memorie cu acces aleator), și componente bazate pe memorie flash, precum SSD-urile (solid-state drive). În sistemul de operare, gestionarea memoriei implică alocarea (și realocarea constantă) a blocurilor de memorie specifice programelor individuale, pe măsură ce se modifică cerințele utilizatorilor. La nivel de aplicație, gestionarea memoriei asigură în permanență disponibilitatea unei memorii adecvate pentru obiectele și structurile de date ale fiecărui program în desfășurare. Gestionarea memoriei aplicațiilor combină două sarcini conexe, cunoscute sub numele de alocare și reciclare. Într-un sistem monoprocesor, memoria principală este secționată în două părți: prima parte este destinată programului ce se află în execuție, iar a doua parte este destinată sistemului de operare (kernel, monitorul rezident). Managementul memoriei se referă la taskul de împărțire și gestionare al memoriei. În momentul în care un program solicită un bloc de memorie, o parte a managerului de memorie numită alocator atribuie acel bloc programului. Atunci când un program nu mai are nevoie de datele din blocurile de memorie alocate anterior, acele blocuri devin disponibile pentru realocare. Această sarcină poate fi efectuată manual (de către programator) sau automat (de către managerul de memorie).
O sarcină importantă pentru managementul memoriei este organizarea acesteia pe doua nivele, și anume: memoria principală, scumpă, însă rapidă și memoria secundară, ieftină, însă și mai lentă
Algoritmi de alocare a memorie
Algoritmii de alocare a memoriei sunt utilizați pentru un nou proces sau unul transferat de pe disc.
1. Algoritmul First Fit
Avantajul acestui algoritm este că are cea mai rapidă căutare, acesta cautând doar primul bloc, adică suficient pentru a atribui un proces. Managerul va examina lista de segmente până se va găsi un segment mai mare sau egal decât dimensiunea ce trebuie alocată în memorie, apoi acest segment va fi împărțit în două părți: una pentru memoria ce a rămas neutilizată, iar cealaltă pentru proces.
2. Algoritmul Next Fit
Next Fit este, de fapt, o versiune modificată al algoritmului First Fit. Acesta este un algoritm de căutare foarte rapid și este, de asemenea, comparativ mai rapid decât First Fit și Best Fit. Un dezavantaj întâlnit la First Fit este că acesta tinde să aloce părți de memorie la începutul acesteia, ceea ce poate conduce la mai multe fragmente interne la începutul acesteia. Algoritmul Next Fit încearcă să rezolve această problemă, începând să caute o porțiune liberă de memorie, însă nu de la începutul acesteia ci unde s-a termiant ultima dată.
3. Algoritmul Best Fit
Acest algoritm caută în toată lista de segmente și îl alege pe cel mai mic în care încape tot procesul. Un dezavantaj al acestui algoritm îl constituie tendința sa de a încărca memoria cu segmente foarte mici și este mult mai lent decât celelalte.
4. Algoritmul Worst Fit
Worst Fit caută cel mai mare segment liber pentru ca procesul să utilizeze o parte din acest segment, restul fiind suficient de mare pentru a fi folosit de un alt proces; din păcate acest algoritm nu este prea eficient.
5. Algoritmul Quick Fit
Algoritmul Quick Fit găsește foarte rapid un segment liber, utilizând liste cu segmente libere de dimensiuni comune (precum 4KB și 8KB), însă concatenează spațiile dintre ele foarte lent.
Paginarea memoriei
Paginarea memoriei este o tehnică de gestionare a acesteia pentru a controla modul în care sunt partajate resursele de memorie ale computerului sau ale mașinii virtuale (VM). Un computer se poate adresa memoriei dincolo de cantitatea instalată fizic pe sistem. Această memorie non-fizică, numită memorie virtuală, este de fapt o secțiune a unui hard disk care este configurat pentru a emula memoria RAM a computerului. Conceptul de memorie virtuală provine dintr-un moment în care memoria fizică, cantitatea de memorie RAM instalată pe un computer, a fost extrem de costisitoare. Partea de pe hard disk care acționează ca o memorie fizică se numește un fișier swap. Atunci când un computer își epuizează din memoria RAM, sistemul de operare (SO) va muta paginile de memorie de pe hard disk-ul computerului pentru a elibera memoria RAM pentru alte procese. Utilizarea prea intensă a paginilor de memorie poate afecta performanța, deoarece memoria de acces aleatorie funcționează mult mai repede decât memoria discului. Acest lucru înseamnă că sistemul de operare va aștepta discul ori de câte ori o pagină este schimbată; cu cât este mai mare volumul de lucru și se depinde de fișiere swap, cu atât va avea un impact mai puternic negativ asupra performanței.
Adresele virtuale sunt acele adrese utilizate într-un program ce formează spațiul pentru acestea. În cazul în care se utilizează memoria virtuală, adresa virtuală va fi preluată de MMU ( Memory Management Unit ) nu va fi plasată pe magistrală. MMU transpune adresa virtuală într-o adresă fizică, care va fi plasată apoi pe magistrala de adrese.
CPU
Mem
MMU
Paginarea
Spațiul virtual de adrese este distribuit în pagini ce vor fi mapate în memorie pe frame page-uri, care vor fi egale ca și dimensiune cu pagina. MMU calculează exact ce frame page îi corespunde adresei virtuale din interiorul paginilor unde sunt adresate instrucțiunile. Din cauza faptului că spațiul de adrese virtuale nu este mai mare decât spațiul de adrese fizice, paginile nu vor fi mapate deodată în memorie.
Page fault
În momentul în care Sistemul de Operare prinde un page fault, acesta va muta pagina cea mai puțin folosită pe disc din memorie și pentru maparea corespunzătoare a paginei va aduce pagina referită în memorie de pe disc.
Tabele de pagini
Page table-ul poate fi conceput ca o funcție, care are un număr de pagini virtuale ca și argument, iar rezultatul evaluării funcției este numărul de page frame. Acesta este folosit pentru maparea paginilor virtuale în page frame-uri.
CAPITOLUL II
Sisteme de operare
Capitolul II. Sisteme de operare
II.1 Structura unui sistem de operare
Monolitic:
practic toate funcționalitățile sunt grupate în nucleu (kernel)
este o colecție de funcții în mare măsură independente, fiecare fiind apelată atunci când este nevoie de ea;
Modular :
sistemul este stucturat pe module cu funcționalități bine precizate
Stratificat:
este compus din straturi suprapuse, fiecare strat oferind servicii stratului superior și abstractizând structura și operațiile cu operațiile stratului inferior;
Exokernel:
majoritatea serviciilor sunt în afara kernelului și rulează în mod de utilizator (cu permisiuni limitate);
kernelul păstrează funcțiile de comunicare între procese și de izolare (procesele nu se încurcă între ele);
se mai numește kernel la purtător;
creează mașini virtuale, cărora le alocă resurse, fiecare mașină virtuală rulând propriul S.O. și propriile procese;
Mașină virtuală
similar cu exokernelul, cu deosebirea că mașinile virtuale simulează un hardware diferit cu cel al mașinii gazdă, având propria copie a kernelului și întreruperi proprii:
pot rula S.O. diferite;
Microkernel (client-server)
majoritatea serviciilor rulează în user-mode, kernelul asigurând comunicația și sincronizarea între procesele client și server;
exemple de server: fișiere, memorie, terminale;
Sisteme distribuite:
similar cu client-server, cu deosebirea că serverul și clientul pot fi pe mașini diferite;
Exemple:
MSDOS – monolitic, nestructurat
Windows XP/7/8/10 – arhitectură stratificată
BSD Unix , Solaris – arhitectură modulară
True 64 UNIX, QNX – microkernel
Linux – arhitectură modulară
Mach – microkernel
Mac OS X – stratificat, modular
Minix – microkernel
II.2 Componentele unui SO
Componenta de management a memoriei:
Procesorul citește instrucțiuni, citește și scrie date din memorie. Perifericele citesc și scriu date în memorie. Programele sunt încărcate de pe disk în memorie. Dacă un program se execută, acesta citește instrucțiunile și datele din memorie, accesând memoria prin adresele de memorie reprezentate pe 16, 32 sau 64 de biți, în funcție de procesor și de sistemul de operare. Odată terminat un program, el este eliberat din memorie și spațiul său este alocat altui program.
Pentru a îmbunătății utilizarea procesoarelor cu nuclee multiple și pentru a mări viteza de reacție a sistemului față de utilizatori, sistemul de operare trebuie să țină în memorie mai multe programe în același timp (multiprogramare). Există mai multe scheme de management a memoriei, selectarea unei anumite scheme pentru un S.O. depinzând de mai mulți factori, în special de platforma hardware a sistemului destinație. Sistemul de operare asigură următoarele operații în ceea ce privește managementul memoriei:
alocă și dezalocă memorie la cerere;
menține o situație a memoriei alocate și a memoriei libere.
decide ce proces să fie încărcat în memorie când aceasta devine disponibilă
Managementul proceselor:
Sistemul de operare este responsabil cu gestiunea proceselor (instanțe ale programelor). Modulul (componenta) unui sistem de operare care gestionează procesele trebuie să asigure următoarele funcții:
funcții de creare a unui proces (proces utilizator sau proces de sistem);
ștergerea sau eliberarea unui proces din memorie;
mecanisme de sincronizare a proceselor;
suspendă și reia executarea proceselor;
mecanisme de comunicare între procese;
mecanisme de gestionare a interblocărilor (când mai multe procese care comunică între ele ajung într-o stare de conflict din care nu pot ieși);
Planificarea procesorului:
asigură accesul proceselor la resursa procesor într-un mod echitabil;
utilizează algoritmi de planificare pentru a împărți timpul de lucru al procesorului între procesele din memorie;
Gestiunea componentelor de Intrare/Ieșire:
gestionează perifericele;
asigură alocarea corectă a acestora către procese;
controlează operațiile de Intrare/Ieșire.
Managementul dispozitivelor de stocare
Asigură:
gestiunea fișierelor de pe disc;
managementul spațiului liber;
alocarea spațiului la cerere;
planificarea și controlul accesului la discuri.
Componenta de rețea (pentru comunicarea cu alte calculatoare)
Interfața de programare a aplicațiilor (API):
oferă programatorului un set de funcții de nivel înalt prin care acesta poate accesa în programare serviciile oferite de celelalte componente ale S.O.
Serviciile sunt oferite către utlizatorul programator:
încărcarea și executarea programelor
operații (servicii) de I/O.
manipularea sistemelor de fișiere (creare, ștergere, scriere și citire).
comunicații între procese (prin memorie partajată sau prin transfer direct de mesaje între procese);
detectarea erorilor și recuperare după eroare (eroare de CPU, de memorie, de scriere, citire, de rețea, imprimantă).
Sistemul de operare permite accesul la serviciile sale prin apelul unor funcții ale sistemului denumite apeluri-sistem. Aceste apeluri alcătuiesc interfața de acces a programatorului către serviciile sistemului de operare. Aceste funcții pot fi apelate direct în limbaj de asamblare prin intermediul vectorului de întreruperi sau în limbaj de nivel înalt prin apelul unor funcții de biblioteca (care la rândul lor invocă serviciile sistemului, generând întreruperile necesare). In sistemul MS-DOS apelul la serviciile S.O. se realizau prin intermediul întreruperii 21H. In Unix și în Linux se accesează prin întreruperea 80H. Printre serviciile sistemului enumerăm:
write – scrie un fișier
create – creează un fișier
read – citește dintr-un fișier
fork – creează un proces nou, identic cu cel curent
exec – execută un program
wait – suspendă execuția programului până ce un proces specificat se termină
malloc – alocă memorie
free – eliberează memorie alocată
10. Terminalul (interpretorul de comenzi):
oferă posibilitatea utilizatorului calculatorului de a interacționa cu sistemul de calcul prin lansarea de procese
poate fi în mod text sau în mod grafic
II.3 Funcțiile unui sistem de operare
O primă funcție a unui sistem de operare constă în administrarea resurselor hardware ale sistemului. În cazul unui calculator, este vorba mai ales despre accesul la procesor, memorie, hard-disk, comunicarea în rețea, precum si cu alte dispozitive de intrare/ieșire. Aceste resurse pot fi solicitate de aplicații multiple și de utilizatori multipli.
Sistemul de operare este la rândul său o aplicație, care necesită resurse (și, implicit, accesul la acestea) pentru a funcționa. Prin urmare, acesta trebuie să își asigure accesul privilegiat la resurse. Un SO trebuie să mențină controlul asupra calculatorului și să facă posibilă utilizarea sa predictibilă și cât mai eficientă.
Sistemul de operare oferă o abstractizare a resurselor hardware. Practic SO este o extensie a sistemului fizic, oferind o inferfață simplificată folosită pentru medierea accesului utilizatorilor și aplicațiilor la resursele hardware.
Sistemul de operare este responsabil cu oferirea unui set limitat de informații și funcții de lucru cu hardware-ul, în loc de descrierea exactă a ceea ce se întâmplă în hardware.
Practic, SO oferă dispozitivelor și aplicațiilor (și, în ultimă instanță, utilizatorilor) o transparență față de modul de funcționare a hardware-ului.
În ceea ce priveștte comunicarea dintre hardware și aplicații, sistemul de operare trebuie să creeze o identitate calculatorului, care să rămână relativ stabilă în dialogul acestuia cu aplicații diverse, chiar dacă au loc upgrade-uri de hardware. Sistemul de operare are deci rolul de asigurare a securității și integrității sistemului de calcul. Sistemul de operare va controla accesul utilizatorilor și proceselor la resursele hardware ale sistemului și va preveni execuția de instrucțiuni invalide, malițioase sau privilegiate.
Sistemul de operare este și cel care permite unei aplicații să ruleze pe sisteme fizice diferite, deoarece uniformizează răspunsurile date de calculator și intermediază accesul la resurse. Sistemele de operare trebuie prin urmare să poată interacționa cu arhitecturi hardware și cu periferice foarte diverse, el fiind cel care facilitează accesul aplicațiilor la resursele hardware. Această funcție se numește portabilitate și se referă la oferirea unei interfețe unice pentru utilizator, indiferent de diferențele hardware dintre arhitecturi.
Un SO folosește drivere pentru comunicarea cu dispozitivele periferice.
Driverele sunt programe care traduc comenzile sistemului de operare în comenzi inteligibile echipamentelor, precum și ieșirea acestora în mesaje accesibile sistemului.
Rolul SO a fost extins prin punerea la dispoziția aplicațiilor a unei colecții de biblioteci (funcții) pe care programele le pot folosi pentru a rezolva probleme specifice legate de interacțiunea cu componentele calculatorului.
Sistemul de operare va include utilitare de diagnosticare și monitorizare a funcționării diferitelor componente atât hardware cât și software. Un sistem de operare poate, desigur, să eșueze în realizarea funcțiilor sale. De exemplu, un tip foarte frecvent de eroare constă în blocarea funcționării calculatorului. Un astfel de “crash” poate fi cauzat de unele imperfecțiuni ale sistemului, dar poate fi favorizat și de funcționarea necorespunzătoare a anumitor aplicații.
Un al doilea tip frecvent de eroare se referă la problemele de securitate, care pot permite intruziunea unui utilizator sau a unei aplicații malițioase. De asemenea, este posibil ca un sistem de operare să nu reușească să interacționeze corect cu anumite periferice sau echipamente. În principal, funcționarea corectă a unui sistem de operare poate fi păstrată prin realizarea metodică a unui număr limitat de operații:
repararea problemelor (bug-urilor) din sistemul de operare însuși;
repararea bug-urilor din aplicații;
eliminarea virușilor, viermilor, a spyware etc;
instalarea de versiuni actualizate ale sistemului de operare și aplicațiilor acestuia.
II.4 Managementul proceselor
Un proces este o unitate de lucru în cadrul unui sistem de calcul care are un program asociat, căruia i se alocă un set de resurse de memorie, de procesor,etc. și care execută în mod secvențial instrucțiunile programului.
Procesul se mai numește și joburi, mai ales în contextul planificării proceselor. La lansarea unui proces, acestuia i se alocă o zonă de memorie pentru stivă, o zonă pentr date și o zonă de memorie heap care e alocată dinamic la rulare. In plus, procesul mai conține un contor de program numit instruction pointer și conținutul registrelor procesorului.
Procesul se poate afla în una din următoarele stări:
proces nou
rulează
așteaptă (pentru date de la un periferic)
gata de execuție (poate fi executat de către planificatorul de procese)
terminat
Informația legată de stare face parte din datele asociate fiecărui proces. Aceste informații despre un proces sunt menținute de către planificatorul de procese într-o structură specială numită Process Control Block.
O structură PCB conține:
Starea procesului
Identificatorul (ID) procesului
Instruction pointer (IP), care reprezintă poziția în care s-a ajuns cu executarea procesului
Registele procesorului
Memoria alocată
Fișiere deschise
Informații de planificare (prioritate)
Lista de dispozitive de Intrare/Ieșire asociată procesului
Un proces nu este un program. În modelul de proces discutat până acum, programul asociat era executat secvențial, instrucțiune după instrucțiune. Altfel spus,un singur proces execută o singură operațiune la un moment dat. Sunt cazuri în care se dorește ca un program să execute în paralel două sau mai multe secvențe de instrucțiuni. Altfel spus, să execute mai multe proceduri din program în același timp. Acest lucru se obține prin lansarea mai multor fire de execuție.
Avantaje:
Aplicațiile pot avea un fir de execuție dedicat pentru interfață (astfel răspunzând mai rapid la comenzile utilizatorului)
Permit partajarea resurselor
Duc la economia de memorie și de procesor
Utilizarea optimă a calculatoarelor multiprocesor
Firele pot fi gestionate la nivel de user-mode sau la nivel de kernel. S.O. moderne oferă suport pentru fire la nivel de kernel. Există mai multe modele de implementare a firelor:
Many-to-One Model: mai multe fire dintr-un proces sunt gestionate (reprezentate) de un singur fir din kernel. Comutarea între fire este rapidă și este gestionată în spațiul utilizator. Dar toate firele se blochează în cazul în care unul din fire este blocat într-un apel de sistem. De asemenea, deoarece un singur fir poate accesa kernelul, acest model de fire nu poate permite rularea în paralel a firelor pe mai multe procesoare.
One-to-One Model: fiecărui fir din spațiul user-mode îi corespunde un fir în kernel. Dezavantajul este că pentru fiecare fir se mai creează încă unul în kernel. Linux, Windows, Unix implementează acest model.
Many-to-Many Model: mai multe fire din kernel folosesc la planificarea mai multor fire din spațiul utilizator. Programatorii pot crea oricât de multe fire în programele lor.
Model hibrid (many to many plus one to one)
II.5 Managementul procesorului (Scheduling)
În sistemele multiprogramate, în memorie sunt încărcate mai multe programe la un moment dat. S-a observat că unele procese sunt mai mult procese de calcul, iar altele manipulează date prin sistemul Intrare/Ieșire, iar în cadrul unui proces s-a observat repetarea ciclică a unei faze de calcul intens urmată de o fază de așteptare la periferice de Intrare/Ieșire. Deci procesul execută o rafală de instrucțiuni pe procesor, după care așteaptă sosirea datelor la dispozitivul de Intrare/Ieșire.
Intre două rafale de instrucțiuni procesorul nu este utilizat. Pentru o utilizare optimă a lui, acesta poate fi cedat unui alt proces care își va executa rafala de instrucțiuni până la prima fază de așteptare a datelor.
Planificarea accesului la procesor de către procese folosește algoritmul de planificare.
Exista două tipuri de algoritmi de planificare:
Algoritmi preemptivi: procesul curent poate fi întrerupt oricănd de către S.O. ( dacă îi expiră cuanta de timp)
Algoritmi nepreemptivi: procesul nu poate fi întrerupt oricând de către S.O.; acesta cedează controlul de bunăvoie la terminarea unei secvențe de instrucțiuni sau la intrarea în zona de așteptare. In cazul unor erori, un proces poate bloca întregul S.O.
Criterii de planificare:
Planificarea proceselor pe procesor va urmări următoarele criterii:
Utilizarea procesorului în mod optim
Troughtput (numărul de procese terminate în unitatea de timp)
Timpul total de rulare
Timpul total de așteptare (în coada ready)
Timpul de reacție
Algoritmi de planificare
First-Come-First-Served: primul venit, primul servit. Procesele sunt executate în ordinea sosirii lor în coada rady. Algoritmul este nepreemptiv.
Avantaje: toate procesele vor ajunge să ruleze odată și odată;
Dezavantaje: efectul de convoi (adică procesele care durează puțin trebuie să aștepte după un proces care durează mai mult).
Shortest-Job-First: cel mai scurt proces mai întâi. Algoritmul măsoară durata secvenței de instrucțiuni pentru fiecare proces și încearcă să promoveze pe procesor procesele cu cea mai scurtă rafală. Poate fi și preemptiv și nepreemptiv.
Algoritm de planificare după priorități: fiecărui proces i se asociază un număr numit prioritate. Algoritmul avansează procesele spre procesor în funcție de prioritatea acestora. Este preemptiv sau nepreemptiv. Dezavantaj: blocare indefinită (înfometare). O soluție la problema înfometării ar fi îmbătrânirea = o metodă de a crește prioritatea proceselor care asteaptă de mult timp în coadă.
Roun-Robin este similar cu FCFS dar este preemptiv; lucrează cu noțiunea de cuantă de timp; procesele stau în coadă circulară și se execută în ordine pe durata cuantei de timp. Dacă durata secvenței de instrucțiuni e mai scurtă decât cuanta, procesul cedează procesorul voluntar; altfel procesul e întrerupt și trecut în coadă și pe procesor intră următorul proces din coada circulară.
Planificarea cu cozi pe mai multe nivele: procesele se împart pe mai multe categorii și fiecare categorie are propriul ei algoritm de planificare și propria coadă de procese. Exemplu: procese beckground, procese sistem,procese pe loturi.
Planificarea cu cozi pe mai multe nivele cu feedback. Cozile au o anumită ordine / prioritate: dacă avem două cozi cu ordin 1 și 2, întâi se execută procesele din coada 1 și numai cănd aceasta este goală se execută și procese din coada 2.
II.6 Managementul memoriei
Există trei cerințe de bază ale memoriei interne:
Timpul de acces la memoria internă trebuie să fie cât mai mic posibil; acest lucru se realizează prin proiectarea adecvată atât a componentei hardware cât și a celei software implicate în gestiunea memoriei. Pentru o performanță mai bună, calculatoarele moderne folosesc memoria cache pe lângă cea RAM. Memoria cache reprezintă un tip de memorie cu acces foarte rapid și conține informațiile cel mai recent utilizate de către CPU.
Dimensiunea memoriei adresabile trebuie să fie cât mai mare posibil, ceea ce se poate realiza prin conceptual de memorie virtuală.
Memoria internă trebuie să aibă un cost relativ scăzut.
Funcțiile administratorului memoriei interne sunt:
Alocarea de spațiu de memorie internă proceselor.
Realizarea corespondenței dintre spațiul de adrese al procesului și locații de memorie internă.
Minimizarea timpului de acces la locațiile de memorie.
Realizarea acestor funcții este condiționată atât de componenta hardware, cât și de cea software, conținută în SO. Odată cu evoluția componentelor hardware ale SC, s-au schimbat și strategiile de administrare a memoriei, pentru a se valorifica aceste îmbunătățiri. Reciproc, strategiile privind gestiunea memoriei au evoluat în timp, ceea ce a condus la evoluția componentelor hardware ale sistemelor de calcul.
Principalele obiective ale gestiunii memoriei sunt:
calculul de translatare a adresei (relocare);
protecția memoriei;
organizarea și alocarea memoriei operative;
gestiunea memoriei secundare;
politici de schimb între procese, memoria operativă și memoria secundară.
Metode clasice de alocare a memoriei
La sistemele monoutilizator este disponibil întreg spațiul de memorie. Gestiunea acestui spațiu cade exclusiv în sarcina utilizatorului. El are la dispoziție tehnici de suprapunere (overlay) pentru a-și putea rula programele mari. Ideea de bază este de a păstra în memoria internă numai acele instrucțiuni și date de care este nevoie permanent. Celelalte grupuri de instrucțiuni sunt încărcate în memoria internă numai atunci când este nevoie de ele, după care sunt evacuate. Porțiunea dintre adresele 0 si a-1 este rezervată nucleului SO, care rămâne acolo de la încărcare și până la oprirea sistemului. Între adresele c și m-1 (dacă memoria are capacitatea de m locații) este spațiul nefolosit de către programul utilizator activ. Evident, adresa c variază de la un program utilizator la altul.
Alocarea cu partiții fixe (MFT-Memory Fix Tasks sau alocare statică).
Se presupune că memoria este împărțită în N zone de lungime fixă numite partiții. Presupunem că o partiție i este de lungime Ni și este alocată unui proces pe toată durata execuției lui, indiferent dacă o ocupă complet sau nu. Editorul de legături pregătește programele pentru a fi rulate într-o zonă de memorie prestabilită.
De obicei, partițiile au lungimi diferite, astefel încât procesele solicită partiții în conformitate cu dimensiunile lor. Dacă un proces are nevoie de nk unități de memorie ele poate fi încărcat în oricare dintre partițiile i, pentru care Ni ³ nk . În timpul execuției procesului, un spațiu de dimensiune Ni – nk rămâne neutilizat. Acest fenomen se numește fragmentare internă. Problema care se pune este să se aleagă partiția astfel încât porțiunea de memorie nefolosită să aibă o dimensiune căt mai mică, adică să se minimizeze diferențele de forma Ni nk .
Dacă un proces nu încape în nici una dintre partițiile existente, el nu poate fi executat. Una dintre problemele cele mai dificile este fixarea acestor dimensiuni. Alegerea unor dimensiuni mai mari scade probabilitatea ca unele procese să nu poată fi executate, dar scade și numărul proceselor active din sistem. În cazul în care există job-uri în sistem care așteaptă să fie executate, dar toate partițiile libere existente la momentul respectiv sunt prea mici, apare fenomenul de fragmentare externă a memoriei.
Selectarea job-urilor care urmează să fie executate se face de către planificator, în funcție de necesarul de memorie necesitat de acestea(pe baza informațiilor transmise de către utilizator sau determinate automat de către sistem) și de partițiile disponibile existente la momentul respectiv. În general, există două moduri de legare a proceselor la partiții:
Fiecare partiție are coadă proprie; legarea la o anumită partiție a proceselor se va face pe baza necesității diferenței minime între dimensiunea partiției și a procesului (best fit-cea mai bună potrivire).
singură coadă pentru toate partițiile; SO va alege pentru procesul care urmează să intre în lucru, în ce partiție se va executa.
Selectarea lucrării se poate face prin:
strategie de tip FCFS (First Come First Served), care are dezavantajul că o anumită lucrare trebuie să aștepte în coadă chiar dacă există o partiție disponibilă în care ar încăpea iar în fața lui în coadă se află job-uri care necesită partiții de dimensiuni mai mari;
pe baza împărțirii job-urilor în clase de priorități, în funcție de importanța lor, care poate avea dezavantajul prezentat mai sus;
pe baza celei mai bune potrivirii între dimensiunea job-ului cu dimensiunea partiției.
Evident că metodele prezentate pot fi combinate. De exemplu, dacă avem mai multe job-uri în sistem care au aceeași prioritate, va fi ales cel care se potrivește cel mai bine peste partiția care devine disponibilă.
Legarea prin cozi proprii partițiilor este mai simplă din punctul de vedere al SO; în schimb, legarea cu o singură coadă este mai avantajoasă din punctul de vedere al fragmentării mai reduse a memoriei.
Deoarece în memorie există mai multe job-uri în execuție, trebuie rezolvate două probleme: relocarea și protecția memoriei. O soluție a rezolvării ambelor probleme este ca CPU să conțină două registre speciale, registrul de bază și registrul limită. Când lucrarea este planificată pentru execuție, în registrul de bază este încărcată adresa primei instrucțiuni din fișierul executabil, iar registrul limită va conține lungimea partiției.
Protecția memoriei se poate realiza și prin așa zisă cheie de protecție. Fiecare entitate de memorie alocată (partiție, pagină etc.) conține o astfel de cheie, iar fiecare entitate de program încărcabilă la un moment dat (segment, pagină etc.) dispune de o cheie de acces. Fiecărei chei de protecție i se asociază un șir de biți prin care se specifică posibilitățile zonei respective. Principalele 3 posibilități sunt R,W,E:
R: din zonă se poate numai citi (read – only).
În astfel de zone se trec de obicei elementele constante ale proceselor.
W: în zonă se poate scrie, eventual zona se poate șterge sau se poate extinde.
E: conținutul zonei poate fi executat. În astfel de zone, conținutul rămâne neschimbat, adică este un cod reentrant.
Fiecare proces (sau segment de proces) primește la încărcare un șir de biți reprezentând drepturi de acces. Acestea sunt în corespondență cu biții reprezentând posibilitățile zonei de memorie. În principiu protecția memoriei, se asigură executând doi pași:
La fiecare invocare a unei locații de memorie se compară cheia de protecție cu cheia de acces. În caz de neconcordanță, accesul este interzis și procesul se termină cu un mesaj de eroare.
Dacă cheile coincid, atunci se compară posibilitățile zonei solicitate cu drepturile de acces ale procesului și cu acțiunea cerută de proces. Accesul este permis numai în cazul răspunsului afirmativ la toate aceste comparații.
Alocarea cu partiții fixe a fost folosită la sistemele generației a III-a de calculatoare (IBM 360, Felix C256/512/1024), dar ea nu este recomandată pentru utilizarea în cadrul sistemelor unde nu se cunoaște dinainte de ce spațiu de memorie are nevoie procesul pentru a fi executat, aspect întâlnit adesea în cadrul sistemelor de operare moderne.
Interschimbarea job-urilor (job-swapping) apare în cazul sistemelor cu organizarea memoriei în partiții fixe, din necesitatea ca la anumite momente unele dintre ele să fie evacuate din memorie iar altele să fie introduse în memorie. De exemplu, dacă se execută un job și apare un alt job de prioritate mai înaltă, jobul de prioritate mai slabă va fi evacuat pe disc.
În mod normal, un job care a fost evacuat va fi readus în aceeași partiție, restricție impusă atât strategia de alocare, cât și de metoda de relocare. Dacă relocarea se face în momentul asamblării sau în momentul încărcării(relocare statică), job-ul nu poate fi transferat într-o altă partiție; dacă se folosește relocarea dinamică(cu registru de bază și registru limită, de exemplu) acest lucru este posibil.
Interschimbarea joburilor necesită o memorie externă cu acces direct și rapid, care să poată îngloba copii ale tuturor imaginilor de memorie utilizator. Toate procesele ale căror imagini de memorie se află pe disc și care sunt gata să intre în execuție se grupează într-o coadă, în timp ce procesele existente în memorie la momentul respectiv formează altă coadă. Atunci când planificatorul dorește să lanseze în execuție un proces, el apelează dispecerul care verifică dacă procesul se află în memorie. Dacă nu și dacă nu există nici o partiție liberă, dispecerul evacuează din memorie unul dintre procese, introduce în locul său procesul dorit, reîncarcă registrele și transferă controlul procesului selectat. Bineînțeles că o acțiune de acest fel presupune și cea de salvare a contextului procesului în execuție(a conținuturilor regiștrilor utilizați de către acesta), acțiune care este destul de complexă.
Alocarea cu partiții variabile (alocare dinamică sau alocare MVT – Memory Variable Task), reprezintă o extensie a alocării cu partiții fixe, care permite o exploatare mai eficientă a memoriei SC.
În cazul multiprogramării cu partiții fixe, problema cea mai dificilă este optimizarea dimensiunii partițiilor, astfel încît să se minimizeze fragmentarea memoriei. De asemenea, se presupune că joburile au o dimensiune cunoscută, ipoteză care nu este în general adevărată.
Aceste inconveniente pot fi rezolvate dacă se admite modificarea dinamică a dimensiunii partițiilor, în funcție de solicitările adresate sistemului și de capacitatea de memorie încă disponibilă la un moment dat. Prin folosirea acestei metode, numărul și dimensiunea partițiilor se modifică în timp.
În momentul în care procesul intră în sistem, el este plasat în memorie într-un spațiu în care încape cea mai lungă ramură a sa. Spațiul liber în care a intrat procesul, este acum descompus în două partiții: una în care se află procesul, iar cealaltă într-un spațiu liber care poate fi alocat altui proces. De asemenea, când un proces își termină execuția spațiul din memorie ocupat de el este eliberat, urmând a fi utilizat de către un alt proces. Apare, deci o alternanță a spațiilor libere cu cele ocupate. Pentru a se obține spații libere de dimensiune cât mai mare, SO va declanșa operația de alipire a unor spații libere vecine sau de compactare a memoriei (relocare a adreselor), adică de deplasare a partițiilor active către partiția ocupată de către nucleul SO, pentru a se concatena toate fragmentele de memorie neutilizate. De regulă, operația de compactare este complexă, presupunând efectuarea de operații de modificare a adreselor; în practică se aleg soluții de compromis, cum ar fi:
Se lansează periodic compactarea, la un interval de timp fixat, indiferent de starea sistemului. Procesele care nu au loc în memorie așteaptă compactarea sau terminarea altui proces.
Se realizează o compactare parțială pentru a asigura loc numai procesului care asteaptă.
Se încearcă numai mutarea unuia dintre procese, cu concatenarea spațiilor rămase libere.
Strategii de administrare a spațiului din memoria internă. Așa cu am menționat anterior, la un moment dat memoria se prezintă ca o alternanță a spațiilor libere cu cele ocupate. Cele libere vor fi alocate proceselor care cer memorie, iar cele ocupate, când sunt eliberate trebuie, eventual să fie concatenate cu alte spații libere, pentru a obține zone contigue de dimensiune cât mai mare. Deci, sunt necesare metode prin care să se țină evidența spațiilor libere și a celor ocupate și să se aloce spațiile de memorie solicitate.
Administrarea memoriei folosind liste înlănțuite. Vom presupune că întreaga cantitate de memorie solicitată la un moment dat este formată dintr-un șir de octeți consecutivi, care se alocă proceselor dintr-un rezervor de memorie (numit heap), de unde se ia acestă memorie. De asemenea, presupunem că există două rutine, una pentru a aloca o zonă de memorie și de a întoarce adresa ei de început și o a doua rutină pentru a elibera spațiul alocat anterior, în vederea refolosirii lui.
Fiecare zonă liberă începe un cuvânt de control, care conține un pointer către următoarea porțiune liberă și un camp care conține lungimea zonei respective. La fel se întâmplă în cazul unei zone ocupate. O zonă ocupată (respectiv liberă) este reperată după cuvântul ei de control. În timp, eate posibil ca două zone libere să devină adiacente. Sistemul conține o procedură de comasare a două zone libere adiacenter.
În momentul în care un proces cere o anumită cantitate de memorie, sistemul caută o zonă liberă de unde să se ocupe o anumită porțiune. Pentru aceasta se folosesc următoarele strategii:
Metoda primei potriviri (First-Fit). Esența metodei constă în aceea că partiția solicitată este alocată în prima zonă liberă în care încape.Principalul avantaj al metodei este simplitatea căutării de spațiu liber.
Metoda celei mai bune potriviri (Best-Fit). Esența metodei constă în căutarea acelei zone libere care lasă după alocare cel mai puțin spațiu liber. Avantajul metodei constă în economisirea zonelor de memorie mai mari. Dezavantajul este legat de timpul suplimentar de căutare și generarea blocurilor de lungime mică, adică fragmentarea internă excesivă.
Primul neajuns este eliminat parțial dacă lista de spații libere se păstrează nu în ordinea crescătoare a adreselor, ci în ordinea crescătoare a lungimilor spațiilor libere; în acest caz algoritmul s-ar complica foarte mult.
Metoda celei mai rele potriviri (Worst-fit) este duală metodei Best-Fit. Esența ei constă în căutarea acelei zone libere care lasă după alocare cel mai mult spațiu liber. Deși numele metodei sugerează că este vorba despre o metodă mai slabă, în realitate nu este chiar așa. Faptul că după alocare rămâne un spațiu liber mare, este benefic, deoarece în spațiul rămas poate fi plasată în viitor o altă partiție.
II.7 Managementul fișierelor
Este cea mai vizibilă componentă a sistemului, gestionează spațiul de stocare a datelor pememoria extinsă (discuri magnetice, benzi magnetice, discuri optice, stick-uri de memorie).
Fiecare dispozitiv din cele enumerate are propriile caracteristici legate de modul de acces (secvențial sau aleator), viteza de acces, rata de transfer a datelor etc.
Sistemul de operare asigură o vedere uniformă a dispozitivelor de stocare care reprezintămemoria extinsă a sistemelor de calcul.
Sistemul de operare abstractizează modul de funcționare a diferitelor dispozitive de stocareși definește o singură unitate de lucru numită fișier.
Un fișier este o colecție de informații create de utilizator, stocate sub un nume unic.Sistemul de operare asigură următoarele funcții in ceea ce privește managementul fișierelor:
creează și șterge fișiere;
creează și șterge directoare;
asigură funcții de manipulare a fișierelor și directoarelor;
asigură mecanisme de backup.
Sisteme de operare moderne
Deși există mai multe criterii de clasificare, doar anumite tipuri de sisteme de operare vor avea relevanță pentru utilizator obișnuit al unui calculator, fie el și unul cu profil tehnic. Un criteriu pragmatic, care ține cont de răspândirea sistemelor de operare actuale, conduce la clasificarea sistemelor de operare în:
– sisteme de operare desktop, destinate sistemelor de calcul obișnuite (desktop) și laptop-urilor;
– sisteme de operare server, destinate sistemelor de calcul folosite în general în Internet pentru a oferi servicii;
– sisteme de operare pentru dispozitive mobile, destinate telefoanelor mobile, smartphone-urilor sau dispozitivelor de tip PDA sau Palm.
Sisteme de operare desktop și server
Piața sistemelor de operare desktop este dominată în ultimele decenii de sistemele de operare din familia Windows1. În prezent, familia Windows det,ine o cotă de circa 93% din piața sistemelor desktop. Mac OS X deține circa 4.5%-5%, iar Linux în jur de 1%.
Toate aceste sisteme de operare rulează în principal pe arhitecturi PC (x86 sau x86_64).
Deși cu o cotă de piață foarte mică raportat cu familia Windows, Mac OS X și Linux au câștigat procente importante pe piață.
Ținând cont că un utilizator poate opta între mai multe sisteme de operare, apar întrebări firești legate de asemănările și deosebirile dintre ele, care sunt punctele tari și punctele slabe ale fiecăruia și, în ultimă instanță, care dintre ele este cel mai bun. În realitate însă, a compara cele trei clase de sisteme este un lucru foarte dificil, date fiind diferențele fundamentale de concept și realizare, iar mai mult, a trage concluzia că unul dintre sisteme este implicit mai bun sau mai slab decat celălalt este imposibil.
Toate cele trei familii de sisteme de operare oferă performanțe avansate, un mediu stabil de operare și au un domeniu foarte bogat de aplicații disponibile și concepute special pentru acestea. Dar pentru că filozofiile din spatele manierei în care sistemele au fost proiectate și au evoluat sunt diferite, concluzia finală depinde în mare măsură de scopul în care sistemul va fi folosit, gradul de pregătire al utilizatorilor, configuratța hardware și mulți alți factori subiectivi.
Sistemele de operare din familia Windows și Unix/Linux oferă variante atât pentru sisteme desktop cât și pentru sisteme server. Astfel, Windows XP, Windows Vista, Windows 7 sunt versiuni desktop ale sistemului de operare de la Microsoft, în vreme ce Windows Server 2003, Windows Server 2008 sunt versiuni dedicate pentru sisteme server. În lunea Unix/Linux diferentțeste mai puțin clară, un sistem putând fi configurat pentru a funcționa atât ca server cât și ca desktop. Anumite distrpibuții Linux sunt, însă dedicate pentru sisteme desktop (Ubuntu, Fedora, openSUSE, Mint, PCLinuxOS) sau pentru sisteme server (Ubuntu Server, RedHat Enterprise Linux, SUSE Linux Enterprise). Alte sisteme de operare din familia Unix (OpenSolaris, FreeBSD, NetBSD, OpenBSD) pot fi folosite și ca sistem desktop și ca sistem server. Apple oferă Mac OSX ca sistem desktop și Mac OS X Server ca sistem server.
Windows vs. Linux
Un subiect care stârnește mult interes și dezbateri este diferența dintre Windows și Linux. De multe ori această diferență este una de ordin semantic.
Microsoft Windows desemnează un produs bine delimitat, având asociate niște specificații, pe baza căarora există un preț pe piață.
De cealaltă parte, Linux nu reprezintă un produs bine definit, termenul având mai multe înțelesuri. Tehnic vorbind, Linux este numele nucleului (kernel-ului) sistemului de operare. Linux este o marcă înregistrată a lui Linus Torvalds, inițiatorului proiectului nucleul Linux. Nucleul nu depinde de restul sistemului, așa cum nici restul pachetelor care compun sistemul nu depind în mod necesar de kernel, cu unele excepții notabile.
Cu toate acestea, majoritatea sistemelor au ajuns să fie construite pe o serie comună de pachete, bazată pe proiectul GNU, întreg sistemul fiind pus laolaltă în ceea ce se cheamă o distribuție: o colecție de pachete, împreună cu nucleul Linux, de întreținerea și actualizarea căreia se ocupă o anumită organizație sau comunitate.
Astfel, printr-un abuz de limbaj unanim acceptat, aceste clase de sisteme de operare sunt denumite distribuții Linux (sau GNU/Linux), dată fiind legătura puternică cu nucleul și pachetele de bază construite peste acesta. Întrucât Linux este numele nucleului sistemului de operare, recomandăm folosirea sintagmei nucleul Linux sau kernel-ul Linux în loc de nucleul de Linux sau kernel-ul de Linux.
Familia Windows
Microsoft a lansat la început Windows ca pe o colecție de aplicații MS-DOS, rulate întrun mediu grafic interactiv, care să ușureze munca utilizatorului de a lucra cu sistemul.
Primele versiuni folosite pe scară largă au fost Windows 3.0 și Windows 3.1.
Un punct important l-a constituit lansarea Windows 95 în 1995. Cu o interfață intuitivă și prietenoasă, suita bogată de aplicații preinstalate, suportul tehnic dedicat, Microsoft a promovat Windows 95 și edițiile ulterioare ca fiind alegerea ideală pentru sistemul desktop de uz personal sau pentru birou.
Acest atu a fost păstrat și la edițiile ulterioare de Windows, unde s-au făcut progrese semnificative în direcția performanțelor: sistemul s-a desprins de MS-DOS, căpătând un kernel modern, cu suport de multitasking și mai mulți utilizatori, interfața grafică a devenit mai bogată și mai atrăgătoare și, nu în ultimul rând, necesitatea de cunoștințe tehnice din partea utilizatorilor s-a diminuat de la ediție la ediție.
Edițiile actuale de Windows sunt construite pe tehnologia NT. Din familia NT fac parte Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 și versiunile server lansate de Microsoft. Tehnologia NT a însemnat rescrierea nucleului sistemului de operare și obținerea unui sistem de operare modern cu funcționalități de integritate și securitate bine definite.
Cu o cotă impresionantă pe piața sistemelor de operare, Windows are rolul unui sistem de operare universal. Cea mai mare parte a aplicat,iilor existente rulează pe sistemele Windows. Cota mare de piață a făcut Windows ținta a numeroase atacuri de securitate, rezultând în creșterea eforturilor Microsoft pentru asigurarea integrității sistemului la ultimele versiuni de Windows.
Mac OS X
Mac OS X reprezintă o familie de sisteme de operare concepute special pentru calculatoarele Macintosh (“Mac”-uri) produse de firma Apple. Introduse inițial în 1984, sistemele de operare pentru Macintosh au cunoscut o evoluție spectaculoasă până în prezent, menținându-se drept concurent pentru Microsoft Windows atât prin performanțele sistemului propriu-zis cât și prin versatilitatea și utilitatea aplicațiilor pe care le dețin.
Calculatoarele Macintosh au implementat, de la lansare, o arhitectură hardware de tip Power PC, migrând mai apoi către o arhitectură Intel, moment în care sistemele de operare pentru Mac-uri au început să reprezinte o concurență pentru Windows.
Sistemul de operare a fost radical schimbat la lansarea versiunii 10.0, prin rescrierea nucleului. Această schimbare este reflectată și în modificarea denumirii sistemului de operare din Mac OS în Mac OS X. Adăugarea literei X subliniază trecerea de la tehnologia Mac OS nanokernel, la tehnologie derivată din Unix.
Prin sistemul de operare și prin aplicațiile care pot rula pe acesta, Mac OS X excelează la capitolul interfață grafică și în domeniul prelucrării media, aducând în același timp inovații orientate spre nevoile utilizatorului individual.
Linux
Una dintre principalele confuzii pentru un utilizator proaspăt intrat în lumea sistemelor de operare este cea provocată de denumirile Linux și Unix. În general, Unix reprezintă o familie de sisteme de operare. Un sistem de operare este Unix (adică face parte din familia Unix) dacă respectă standardul Single Unix Specification.
În afară de Linux (sau mai bine spus GNU/Linux), alte Unix-uri (adică sisteme compatibile cu Single Unix Specification) sunt Solaris, sistemele de familia BSD (FreeBSD, OpenBSD, NetBSD) și Mac OS X.
Sistemul de operare Unix a apărut la începutul anilor ’70, în laboratoarele Bell ale AT&T.
Folosirea limbajului C pentru scrierea sistemului de operare a condus la portarea rapidă a acestuia și răspândirea sa în mediul acadamic. Versiunile System V (de la AT&T) și BSD 4.3 au marcat o serie de avansuri importante în anii ’80.
Linux este de fapt o clonă de Unix. O clonă Unix este un sistem de operare care respectă Single Unix Specification, dar care nu conține componente din sursele inițialte Unix. BSD-urile sau Solaris sunt direct derivate din codul Unix și pot fi denumite Unix-uri veritabile.
Linux a fost scris de la zero de Linus Torvalds în 1991. Treptat, în jurul său s-a consolidat o comunitate entuziastă de dezvoltatori, Linux ajungând în acest moment unul dintre cele mai mari proiecte open-source
După apariția nucleului Linux, o multitudine de proiecte software având la bază acest kernel au fost înființate, cu numărul și importanța acestora crescând de la an la an. Spre deosebire de cazul Windows-ului, software-ul pe Linux nu a fost scris neapărat având în minte ușurința de utilizare și accesibilitatea, deși aceasta este tendința din prezent.
Un nucleu este doar un mediator între aplicații și resursele hardware – este inutil de unul singur. Pentru a obține un sistem de operare complet, diverse comunități sau companii au combinat utilitarele GNU și nucleul Linux. Au apărut astfel distribuțiile GNU/Linux (Ubuntu, Fedora, Gentoo, Debian, Slackware, OpenSuSE, RedHat etc.), care oferă utilizatorului funcționalităț i complete pentru operarea sistemului. Din punct de vedere strict tehnic, expresia corectă este instalarea unei distribut, ii Linux(GNU/Linux), nu instalarea Linux.
Fiind vorba îndeosebi de mediul academic, majoritatea utilizatorilor aveau cunoștint,e avansate de IT și apreciau la un sistem stabilitatea, flexibilitatea și performanța, mai degrabă decât o interfață simplă și intuitivă. Datorită acestor puternice avantaje, Linux (ca majoritatea sistemelor Unix, de altfel) a avut un succes exploziv pe servere, și a câștigat teren într-o măsură mult mai mică pe desktop, unde supremația este încă deținută de căatre sistemele de operare de la Microsoft. În momentul de față, o bună parte din infrastructura Internet-ului se bazează pe sisteme rulând Linux.
Sisteme de operare pentru dispozitive mobile
O dată cu dezvoltarea hardware-ului și a Internet-ului, un număr din ce în ce mai mare de dispozitive mobile inteligente și-au făcut apariția în posesia utilizatorilor. Așa numitele smartphone-uri4 posedă sisteme de operare cu facilități avansate de conectare la Internet, navigare pe Web, citire/scriere de e-mail-uri, folosirea unei tastaturi virtuale etc.
Există mai multe sisteme de operare, concepute de marii producători de telefoane mobile. Astfel, avem iOS de la Apple, Android de la Google și Windows Phone/Mobile produs de Microsoft. Inițial, lista era mai mare, dar în prezent mulți producători de smartphone preferă să producă telefoane care vor funcționa cu un alt sistem de operare. Spre exemplu, BlackBerry, deși are un sistem propriu, BlackBerry OS, produce în special telefoane care funcționează cu Android.
În plus, așa cum se lansează mereu câte un nou smartphone, apar și noi sisteme de operare, care ar putea să concureze în viitor cu Android și iOS. Printre acestea se numără Firefox OS, Ubuntu Phone OS, Samsung Tizen, Open WebOS, Jolla Sailfish, Amazon Fire OS. Cele mai multe sunt încă în faza de dezvoltare și rulează o platformă mobilă bazată pe Linux, cum este și Android, de altfel.
În prezent, principalele sisteme de operare pentru smartphone sunt: iOS (Apple), Android (Google) și Windows Phone (Microsoft). Iată care sunt caracteristicile fiecăruia în parte
1. iOS
iOS este sistemul de operare creat de Apple, compatibil numai cu dispozitivele mobile produse de această companie: iPhone, iPad și iPod. Primul iOS a fost lansat în iulie 2007 și, spre deosebire de Android, nu este disponibil și pentru telefoanele fabricate de alți producători. Este practic un sistem de operare exclusiv Apple, iar utilizatorii care sunt fani ai brandului apreciază foarte mult acest aspect.
2. Android
Cel mai răspândit și popular sistem de operare pentru smartphone este Android, produs de Google. Lansat în 2008, sistemul poate fi întâlnit pe foarte multe mărci de smartphone de top (LG, Samsung, Huawei, Sony) și în fiecare an vine cu un update, oferind o nouă versiune a platformei, cu diferite îmbunătățiri. A devenit celebră și denumirea acestor versiuni, care include nume de dulciuri: Android Donut, Eclair, Gingerbread, Honeycomb, Jelly Bean, KitKat, Lollipop, Oreo, Nougat și Marshmallow.
Sistemul de operare este open source, astfel încât programatorii pot face orice modificări doresc și pot fi creativi, lansând noi aplicații Android extrem de ușor de folosit și de realizat.. În plus, multe dintre acestea pot fi descărcate gratuit, aspect care atrage milioane de utilizatori din întreaga lume, Android fiind considerat din punctul de vedere al numărului de utilizatori cel mai bun sistem de operare pentru smartphone
3. Windows for Mobile/Windows Phone
Acesta este sistemul de operare conceput de Microsoft special pentru dispozitivele mobile. Platforma Windows Phone (numită inițial Windows for Mobile) a fost lansată în februarie 2010, după ce Microsoft a cumpărat vechiul sistem de operare produs de Nokia, Symbian OS.
În prezent, Microsoft a lansat versiunea sistemului de operare Windows 10 atât pentru calculatoare, cât și pentru smartphone. Interfața grafică are un design specific mai deosebit care, deși arată bine, este considerat destul de dificil de către utilizatori.
Marele avantaj al acestui sistem de operare realizat de Microsoft este că îți oferă cel mai bun suport pentru a vedea și edita documente Excel, Word sau PowerPoint direct pe telefon.
Utilizatorii au acces și la Windows Apps – Microsoft Store, de unde pot descărca gratuit sau contra cost mii de aplicații diferite. Pentru că acest sistem de operare își are originea în platforma Symbian creată de Nokia, este normal ca modelele de smartphone cu Windows OS să fie în special cele din gama Microsoft Lumia și Nokia Lumia.
Distribuții LINUX
O distribuție Linux este un sistem de operare realizat dintr-o colecție de aplicații care au la bază kernel-ul de Linux. Multe din interfețele grafice ale acestor distribuiții sunt foarte apropiate de mediul de lucru Windows. Acest lucru oferă o oarecare familiaritate acestui sistem de operare, iar multe din aplicațiile uzuale au versiuni și pe Linux.
Cea mai mare diferență constă în modul în care se obțin aceste aplicații, el fiind similar cu cel al smartphone-urilor. Acestea nu se descarcă direct de pe Internet pentru a fi instalate, ci se instalează dintr-un manager de sistem care se conectează la diverse arhive online.
Majoritatea distribuțiilor Linux sunt bazate pe Debian, Fedora, Mandriva, openSUSE, Arch, Gentoo, sau Slackware. Principalele elemente diferite sunt interfețele grafice, arhivele de aplicații și frecvența update-urilor de sistem.
1. Ubuntu Linux
Ubuntu este probabil una dintre cele mai populare și mai cunoscute distribuții de Linux pentru utilizatori mainstream. Acest sistem de operare se pretează foarte bine pentru utilizatorii noi și este foarte ușor de folosit și înțeles.
Fereastra managerului de fișiere din Ubuntu
Ubuntu este totodată una dintre cele mai stabile și distribuții și un sistem de operare pe care mereu baza. Update-urile nu sunt foarte frecvente, ținta principală fiind stabilitatea și compatibilitatea. Interfața este una simplă și intuitivă iar comunitatea din jurul acestei distribuiții este una destul de mare.
2. Linux Mint
Linux Mint este o distribuție bazată pe Ubuntu și este ideala pentru orice laptop sau sistem desktop. Oferă combinația perfectă între o interfață grafică foarte atractivă și funcționalitate de top. Este foarte similar cu Windows din punct de vedere estetic și va avea orice tip de aplicație, indiferent dacă vorbim despre productivitate sau home-use.
Ecranul de lucru din Linux Mint
Update-urile nu sunt la fel de dese precum în cazul altor distribuiții, însă accentul este pus pe stabilitate. Sistemul de operare este unul foarte rapid, fară bug-uri și care se pretează chiar și pentru gaming.
3. Fedora
Fedora este o distribuție de Linux foarte stabilă, foarte flexibilă și populară. Aceasta este gândită pentru dezvoltatori software, însă poate fi utilizată și de utilizatori obișnuiți.
Mai multe ferestre deschise pe ecranul de lucru din Fedora
Este o distribuție ideală pentru utilizatori neexperimentați deoarece nu necesită prea multă bătaie de cap. Update-urile se instalează automat iar aplicațiile uzuale nu prea au bug-uri.
4. Debian
Debian este o distribuție de Linux populară în ultimii ani. Designul este unul minimalist și orientat spre productivitate. Sistemul de operare nu necesită cerințe hardware prea mari, și poate rula aproape pe orice calculatoarele personale, inclusiv modelele mai vehci. Interfața este prietenoasă, iar distribuția are o colecție foarte mare de programe.
Mai multe ferestre deschise pe cranul de lucru din Debian
5. Arch Linux
Arch Linux este o distribuție de Linux minimalistă, foarte customizabilă și care vă oferă cele mai recente inovații. Interfața grafică este ușor de folosit iar aplicațiile pe care le puteți descărca sunt foarte diversificate.
Acest sistem de operare nu vine cu multe aplicații instalate, utilizatorul având control deplin asupra acestui aspect. Se pot instala doar softurile de care ai nevoie și nimic mai mult. Acest lucru va rezulta într-o experiență mult mai fluidă și concentrată pe productivitate.
Arch Linux dispune și de una dintre cele mai complete baze de date cu documentații.
Capitolul III. Abordări didactice
III.1 Metode moderne de predare-învățare-evaluare
folosite în învățământul vocațional
Metodele de învățământ reprezintă căile prin care profesorul transmite elevilor anumite cunoștințe și-i stimulează pentru a și le însuși mai ușor. Folosirea acestor metode urmărește realizarea obiectivelor informativ-formative stabilite, în vederea pregătirii temeinice a elevilor și în vederea integrării lor socio-profesionale eficiente.
Nu există metode bune sau rele, noi sau învechite, în sine. O metodă este considerată modernă în măsura în care cultivă însușirile fundamentale necesare elevilor în prezent, dar mai ales în viitor: independența, spirit critic, gândire creatoare, aptitudini, atitudine exploratoare etc. O metodă care duce la promovarea originalității și creativității este o metodă modernă, chiar dacă este folosită de mult timp.
Metodele de învățământ actuale prezintă o serie de caracteristici:
Rezolvă probleme de tipul: cum să predăm și cum să învățăm? ce și cât predăm, ce și cât învățăm?
Ajută la pregătirea elevilor pentru autoeducație și educație permanentă;
Sunt în același timp știința, tehnica și chiar arta de predare-învățare;
Se realizează în strânsă legătură cu operațiile logice ale gândirii (compararea, analiza, sinteza, abstractizarea, inducția, deducția, analogia etc.);
Dovedesc atât un caracter dinamic, deschis înnoirilor, cât și unul conservator (își îndeplinesc funcțiile stabilite și își mențin performanțele în condiții date pentru o anumită perioadă etc.).
Până în prezent, nu s-a ajuns la o clasificare riguroasă și unanim acceptată a metodelor didactice, iar delimitarea dintre metodele tradiționale și moderne s-a diminuat mult, deoarece metodele tradiționale s-au modernizat, iar cele moderne s-au integrat sistemului metodologic.
II.1. În cadrul procesului de predare-învățare a disciplinelor reale, se folosesc ca metode moderne, active următoarele:
Învățarea prin descoperire;
Problematizarea;
Brainstorming-ul;
Algoritmizarea;
Instruirea programată;
Metode de gândire critică – Metoda ciorchinelui;
– Cvintetul, diagrama Venn;
– „Știu, vreau să știu, am învățat”.
1. Învățarea prin descoperire constă în (re)descoperirea de noi cunoștințe de către elevi.
Această metodă constă în „organizarea procesului de cunoaștere în așa fel, încât elevii să fie confruntați cu o suită de probleme teoretice și practice, pe care să le sesizeze, să le înțeleagă, să le rezolve, acțiuni care determină progresul cunoașterii și contribuie la formarea gândirii”.
Învățarea prin descoperire reprezintă o strategie didactică complexă de dobândire (descoperire) prin efortul propriu al elevilor, a informațiilor, cunoștințelor ce trebuie asimilate. Această metodă constituie o cale de instruire recomandată în mod deosebit de didactica modernă, deoarece însușirea noilor noțiuni se realizează prin descoperirea acestora de către elevi, în cadrul procesului de învățământ, în clasă sau în cadrul orelor de laborator, atelier, lecții-vizită etc. Metoda învățării prin descoperire se bazează pe următoarele constatări:
participarea la descoperirea unui adevăr are ca urmare o mai deplină înțelegere a acestuia;
însușirea cunoștințelor este cu atât mai completă, cu cât activitatea proprie a elevilor este orientată mai mult spre soluționarea unor întrebări, a unor sarcini cognitive în legătură cu acestea și pe antrenarea continuă a elevilor în găsirea de noi legături, în stabilirea unor noi concluzii, în descoperirea adevărurilor;
situațiile problematice, de incertitudine parțială și de conflict, trezesc în cel mai înalt grad interesul elevilor;
numai în cadrul unei tehnologii didactice bazată pe activități creative și euristice se manifestă stările psihice favorabile învățării, pentru că asemenea activități sunt legate de emoții pozitive, de curiozitate, de sentimentul așteptării, de îndoială etc.
Valoarea deosebită a acestui mod de învățare constă în aceea că se bazează pe și stimulează, totodată, capacitatea de cunoaștere a fiecărui elev. Elevul ajunge la descoperirea unei noțiuni, a unui adevăr, prin activitate proprie, individuală, prin autodirijarea gândirii sale.
Pe parcursul descoperirii unui adevăr, gândirea realizează un ansamblu de operații mentale pentru transformarea unei informații, pentru legarea sau combinarea unor noțiuni deja însușite, în vederea obținerii unor noi informații, sau a rezolvării unor probleme. Metoda asigură dezvoltarea capacităților intelectuale, dezvoltă gândirea creatoare, ca urmare a operațiilor mentale care au loc pe parcursul desfășurării unor astfel de lecții.
2. Problematizarea este o metodă de învățare prin care elevul este pus în situația de a analiza anumite relații între fenomenele studiate și de a sesiza relații noi între aceste, prin selecția, compararea, reorganizarea cunoștințelor de care dispune până în acel moment. Elevii trebuie să fie permanent stimulate, sensibilizați, prin întrebări, să primească diferite sarcini spre rezolvare, pentru a descoperi prin efort propriu laturile noi ale cunoștințelor, informațiile primite, să fie puși în situația de a utiliza cunoștințele lor în explicarea diferitelor fenomene. Sub acest aspect, problematizarea poate fi considerată ca o variantă a conversației euristice.
Problematizarea intervine ori de câte ori elevii sunt puși în fața unor dificultăți pentru care nu au un răspuns gata elaborat, când trebuie să afle o relație nouă, să stabilească o cauză, să găsească o explicație științifică etc.
Problematizarea presupune un plan de acțiune, o suită de operații didactice, prin care se stimulează activitatea elevilor.
Mobilizarea resurselor elevilor în stabilirea unor adevăruri noi se poate face prin realizarea unor „situații-problemă” și prin folosirea „întrebărilor-problemă”.
Situațiile-problemă reprezintă împrejurări de cunoaștere care trebuie să apară cât mai firesc în conținutul lecției și care se concretizează, de fapt, prin întrebări-problemă. Situația-problemă conține problema de rezolvat în elementele ei esențiale, este mai bogată în informații și mai complexă decât problema însăși. Întrebarea-problemă este mai restrânsă ca arie, deoarece se referă, de obicei, la un singur aspect al situației-problemă.
Întrebările-problemă se deosebesc de întrebările folosite în lecțiile clasice prin aceea că trebuie să determine o situație conflictuală în mintea elevului. Întrebările-problemă nu urmăresc răspunsuri predeterminate și nici nu reclamă simple expuneri ale faptelor, ci trebuie să prezinte caracter deschis, să trezească curiozitatea, dorința de a găsi răspunsul.
Răspunsul obținut prin rezolvarea situației conflictuale, determinată de întrebarea-problemă, constituie condiția trecerii la o nouă informație.
Problematizarea și rezolvarea oricărei situații-problemă presupune parcurgerea anumitor etape:
cunoașterea și înțelegerea datelor problemei, a scopului și a dificultăților pe care le conține problema;
cercetarea și examinarea datelor situației-problemă și formularea ipotezei de lucru;
descompunerea problemei în componentele ei mai simple și întocmirea algoritmului de rezolvare;
controlul exactității soluției sau rezolvării sale.
Pe întreg parcursul acestor etape, ajutorul și îndrumarea profesorului trebuie să fie prezente, chiar când elevii lucrează independent.
O lecție care decurge prin metoda problematizării trebuie să urmărească instalarea în clasă sau în laborator, atelier, a unei atmosfere creative, propice pentru realizarea micilor descoperiri ale elevilor și stimulativă pentru aspirațiilor lor de investigatori teoretico-experimentali. Pentru această însă, problemele vor fi alese și formulate astfel încât să permită orientarea corectă a elevilor, să le trezească interesul, să sporească eficiența învățării.
Fișe de lucru problematizate
După scopul urmărit, și fișele de lucru problematizate pot fi: fișe de instruire, fișe de dezvoltare, fișe de exerciții, fișe de recuperare.
Fișele de instruire urmăresc mobilizarea elevilor și mărirea contribuției individuale în dobândirea cunoștințelor noi. Conținutul fișelor poate fi parcurs și însușit, sub îndrumarea profesorului, prin întrepătrunderea unor momente de activitate individuală cu activitate în colectiv, asigurându-se corectitudinea rezultatelor prin folosirea tablei, a retroproiectorului etc. Alteori, în funcție de condiții, fișele pot fi rezolvate integral sau în fragmente, prin activitate independentă.
Fișele de dezvoltare sau de progres sunt destinate elevilor cu aptitudini speciale și cu interes pentru disciplina respectivă. Conținutul acestora depășește programa analitică a clasei respective și au rolul de a menține interesul elevilor pentru acest obiect și de a-i face să progreseze.
Fișele de exerciții cuprind părți ale materiei din programa școlară, abordate sub aspectul teoretic sau practic în forme accesibile elevilor, pot avea ca scop fixarea, verificarea cunoștințelor, dezvoltarea deprinderilor de muncă intelectuală sau practică etc. Se folosesc în diferite etape ale lecțiilor sau ca temă pentru acasă.
Fișele de recuperare sau de omogenizare urmăresc combaterea rămânerii în urmă la învățătură a unor elevi. Acestea cuprind material care, constituind baza pentru înțelegerea capitolelor ce urmează a fi predate, trebuie să intre în mod obligatoriu în fondul de cunoștințe al fiecărui elev; se rezolvă de către elevi în timpul orei sau acasă.
Fișele de lucru reprezintă, totodată, una din posibilitățile pe care profesorii le au la dispoziție pentru a realiza un învățământ diferențiat, de a se adapta la pregătirea fiecărui elev în parte sau a grupelor de elevi.
3. Asaltul de idei (brainstorming)
Brainstorming-ul este o metodă de căutare individuală și de elaborare (creativitate) în grup. Folosirea acesteia comportă mai multe etape, și anume:
anunțarea temei și a obiectivelor ei;
emiterea de către participanți a numeroase idei, soluții etc., fără nicio restricție;
închiderea ședinței după ce s-a acumulat un număr relativ suficient de date;
evaluarea ideilor și a soluțiilor propuse și stabilirea concluziilor cu privire la acestea.
Ședința de brainstorming este condusă de către profesor. Pentru reușita ședinței, este bine ca la aceasta să participe elevi bine pregătiți în ceea ce privește tema abordată. Se emit idei, soluții, ipoteze etc. fără restricții. Se pot continua ideile antevorbitorilor. Este interzisă aprecierea critică imediată. Aprecierea se face după ce s-a terminat ședința, de aceea metoda este denumită și „evaluarea amânată”. Această strategie înlătură inhibiția elevilor și dinamizează elaborarea de idei, date, soluții, algoritmi, în număr cât mai mare. Când este necesar, profesorul intervine și dinamizează elaborarea de noi date; după ședință, profesorul ierarhizează ideile, soluțiile preconizate, clasificându-le în:
4. Algoritmizarea
Prin algoritm se înțelege un sistem de reguli, de operații sau indicații care, aplicat la orice problemă dintr-o anumită clasă, duce la rezolvarea acesteia.
Algoritmizarea face parte din operațiile instrumentale ale gândirii. Ca metodă de învățământ, algoritmizarea urmărește, în primul rând, simplificarea muncii de rezolvare a unor probleme tipice.
Algoritmizarea se înscrie în metodele didactice așa-zise închise, convergente, întrucât obligă elevul la parcurgerea unor etape mai mult sau mai puțin fixe, dinainte stabilite.
Descoperirea algoritmilor de către elevi în cursul procesului de învățare favorizează posibilitatea acestora de a-și transfera cunoștințele pe cazuri făcute diferite, contribuie la formarea unei gândiri sistematice a elevilor, mărește efortul creator al elevilor în alegerea unor soluții, ceea ce mărește implicit valoarea algoritmizării ca metodă de învățământ.
5. Instruirea programată
Instruirea programată reprezintă una din metodele cu cele mai bune rezultate în formarea deprinderilor de muncă independentă ale elevilor. Acest mod de învățare se înscrie între cele mai noi direcții ale modernizării instrucției și are la bază ideea de a considera procesul de învățământ ca un „sistem de comandă și control”, idee care se datorează modului cibernetic de interpretare a acestui proces. Necesitatea abordării procesului de învățământ din acest punct de vedere a avut ca origine cerințele majore ale învățământului actual, dar și unele neajunsuri în legătură cu aceste cerințe, între care:
activizarea elevilor și mărirea posibilităților de informare a acestora;
formarea unei gândiri flexibile la elevi;
formarea deprinderilor de muncă independentă ale elevilor;
necesitatea cunoașterii de către profesor a forțelor reale ale fiecărui elev.
Privită din punct de vedere al informaticii, instruirea programată ne apare ca un proces în care elevul acumulează informații și își modifică sistematic comportamentul.
Astfel, apare necesitatea ca profesorul să se informeze cu privire la rezultatul datelor transmise, ceea ce se realizează prin control. În felul acesta, în procesul de învățământ, între profesor și elevi se stabilește o conexiune inversă (feed-back).
Instruirea programată este o metodă activ-participativă care permite elevului să știe după fiecare pas, în ce măsură și-a însușit informația primită.
Principiul instruirii programate constă în faptul că informația este prezentată elevului în doze mici (pas cu pas), logic structurate, care alcătuiesc un program de instruire.
Avantajele instruirii programate sunt:
este un mijloc eficace de individualizare și intensificare a activităților elevilor;
reduce timpul de învățare și asigură însușirea unui volum mai mare de informații;
creează posibilitatea revenirii asupra unor probleme insuficient înțelese, realizând o însușire completă și temeinică a cunoștințelor;
asigură o conexiune inversă superioară metodelor clasice, elevul primind repede și continuu confirmarea răspunsului său.
Instruirea programată are și dezavantaje, și anume:
elementarizarea cunoștințelor;
pierderea unei viziuni de ansamblu asupra materiei de învățat, prin urmărirea subiectului din aproape în aproape;
impunerea din afară a motivației învățării;
caracterul limitat al metodei (aplicabilă numai la anumite obiecte și anumite teme);
ruperea legăturii între profesor și elevi.
Date fiind inconvenientele și limitările sale, instruirea programată nu poate constitui o metodă absolută de învățare. Programele pot completa sau înlocui anumite segmente de instruire tradițională, sau se pot completa reciproc.
Avantajele pe care le prezintă instruirea programată cresc prin folosirea concomitentă a altor metode de învățământ.
6. Metode de gândire critică
6.1. Metoda ciorchinelui – este o formă de gândire neliniară, care aproximează în mare măsură felul în care funcționează mintea omenească;
– poate fi utilizată pentru a stimula gândirea înaintea studierii temeinice;
– această metodă poate fi folosită ca mijloc de a rezuma ceea ce s-a studiat, ca modalitate de a construi asociații noi;
– este o activitate de scriere (mai ales pentru elevii recalcitranți la scris);
– este o strategie de predare, care încurajează pe elevi să gândească liber și deschis.
Etapele realizării unui ciorchine:
Scrieți un cuvânt sau o propoziție-nucleu în mijlocul unei pagini;
Începeți să scrieți cuvinte, care vă vin în minte, legate de tema respectivă;
Începeți să trageți linii între ideile care se leagă într-un fel;
Scrieți atâtea idei, care vă vin în minte până expiră timpul sau nu mai aveți altă idee.
Reguli de bază
Scrieți tot ce vă trece prin minte.
Nu faceți judecăți de valoare în legătură cu gândurile care vă vin, notați-le doar pe hârtie.
Nu vă preocupați de ortografie, punctuație sau alte reguli ale textului scris.
Lăsați să apară mai multe conexiuni. Nu vă limitați numărul ideilor și conexiunilor.
6.2. Metoda: Diagrama Venn
O „diagramă Venn” este formată din două cercuri mari, care se suprapun parțial. Se folosește pentru a arăta asemănările și diferențele între două idei sau concepte.
Profesorul cere elevilor să construiască o asemenea diagramă completând în perechi, doar câte un cerc, care să se refere la o anumită idee. Apoi elevii se pot grupa câte patru pentru a-și compara cercurile, completând împreună zone de intersecție a cercurilor, cu elementele comune celor două idei.
6.3. Metoda: „Știu / Vreau să știu / Am învățat”
Cu grupuri mici sau cu întreaga clasă, se trece în revistă ceea ce elevii știu deja despre o anumită temă și apoi se formulează întrebări la care se așteaptă găsirea răspunsului la lecție.
Pentru a folosi această metodă, elevii pot completa, individual sau în perechi, un tabel de forma:
Același tabel poate fi construit și pe tablă.
Se cere câtorva perechi să spună celorlalți ce au scris pe liste și se notează lucrurile cu care toată lumea este de acord în coloana din stânga.
În continuare, elevii pot formula întrebări despre lucrurile de care nu sunt siguri, completându-se astfel coloana din mijloc.
Unele din întrebările lor s-ar putea să rămână fără răspuns și s-ar putea să apară întrebări noi.
6.4. Metoda „Cvintetul”
Un „cvintet” este o „poezie”, care necesită sintetizarea informației și materialelor în exprimări concise, care descriu sau exprimă reflecții asupra subiectului. Un cinquain este o poezie de cinci versuri.
Reguli:
Se plecă de la un cuvânt care să exprime o temă;
Se scriu 2 adjective;
Se scriu 3 verbe la gerunziu;
Se scriu cuvinte care să exprime sentimente;
Se scrie un cuvânt care să sintetizeze tema.
II.2. Evaluarea performanțelor elevilor este o acțiune esențială, a unui proces educațional eficient. Evaluarea nu poate și nu trebuie să fie separată în mod artificial de celelalte componente ale procesului educațional.
O evaluare eficientă și realizată profesionist trebuie:
să stabilească dacă au fost atinse obiectivele;
să ajute profesorii să facă o diagnoză a progresului elevilor;
să orienteze elevii în luarea celor mai bune decizii privind propriul demers educațional;
să ajute profesorii să-și evalueze propriul demers;
să furnizeze un feedback util părinților, familiei.
Cele mai folosite metode alternative de evaluare sunt:
autoevaluarea;
referatul;
portofoliul;
proiectul.
1. Autoevaluarea are rol esențial în întregirea imaginii elevului din perspectiva judecății de valoare pe care o emite profesorul evaluator și, totodată, are multiple implicații în planul motivațional și atitudinal datorită necesității elevilor de autocunoaștere.
Tehnici folosite:
Autonotarea controlata – elevul își propune nota;
Notarea reciprocă sau interevaluarea;
Completarea la sfârșitul unei sarcini importante de învățare a unui chestionar de forma:
am învățat …………………..
am fost surprins de faptul că …………………..
am descoperit că …………………..
am folosit metoda ………………….. deoarece …………………..
în realizarea acestei sarcini am întâmpinat următoarele dificultăți: …………………..
2. Referatul este o metodă de evaluare alternativă concretizată în elaborarea unei sinteze originale pe o anumită temă sau problemă, prin consultarea și prelucrarea informațiilor din una sau mai multe surse documentare.
Se deosebește de rezumat sau conspect prin:
prezentarea critică / analitică largă;
exprimarea de puncte de vedere personale;
conține aprecieri valorice, soluții, propuneri.
Reprezintă o restructurare a cunoștințelor și a informațiilor, sinteza și reformularea lor fiind făcute prin prisma personalității, a concepției, puterii creatoare, convingerilor și experienței celui care îl elaborează.
Tipuri de referate:
analitic – cu expunerea amănunțită a conținutului;
indicativ – cu expunerea sumară a conținutului;
evaluativ – cu descrierea conținuturilor însoțite de aprecieri personale asupra ideilor;
complex – cu punerea în evidență a ideilor esențiale din mai multe lucrări care se referă sau abordează aceeași temă științifică.
Structura unui referat, în manieră clasică, este formată din 3 părți: introducere, conținut, concluzii. Prezentată dezvoltat, ea va avea următoarele puncte:
titlul, autorul, scurt plan al ideilor de bază ale referatului;
introducere în care se prezintă locul și nivelul atins de problemă;
dezvoltarea ideilor, cu marcarea celor personale, originale;
concluzii, cu preocupări pentru deschiderea unor noi abordări;
emiterea unor judecăți de valoare sintetice asupra contribuției;
bibliografia menționată în text sau la sfârșitul referatului;
data întocmirii.
3. Portofoliul reprezintă „cartea de vizită” a elevului, prin care profesorul poate să-i urmărească progresul – în plan cognitiv: atitudinal și comportamental – la o anumită disciplină, de-a lungul unui interval mai lung de timp (un semestru sau un an școlar).
Această metodă alternativă de evaluare oferă fiecărui elev posibilitatea de a lucra în ritm propriu, stimulând implicarea activă în sarcinile de lucru și dezvoltând capacitatea de autoevaluare.
Scopul nu este neapărat cel al evaluării, ci mai ales de stimulare a învățării, prin directa implicare a participanților la activitate. Elevii reflectă continuu asupra a ceea ce învață, existând o permanentă corelație cu obiectivele. Îndrumătorul trebuie să fie deschis și să sprijine căutările acestora.
Portofoliul reprezintă un pact între elev și profesorul care trebuie să-l ajute pe ele să se autoevalueze. Profesorul discută cu elevul despre ce trebuie să știe și ce trebuie să facă acesta de-a lungul procesului de învățare.
Portofoliul se compune în mod normal din materiale obligatorii și opționale, selectate de elev și/sau de profesor și care fac referire la diverse obiective. Portofoliul poate cuprinde:
lista conținutului acestuia (sumarul, care include titlul fiecărei lucrări / fișe etc. și numărul paginii la care se găsește);
argumentația care explică ce lucrări sunt incluse în portofoliu, de ce este importantă fiecare și cum se articulează între ele într-o viziune de ansamblu a elevului / grupului cu privire la subiectul respectiv; lucrările pe care le face elevul individual sau în grup;
rezumate, eseuri;
articole, referate, comunicări;
fișe individuale de studiu;
proiecte și experimente;
temele de zi de zi;
probleme rezolvate;
rapoarte scrise – de realizare a proiectelor;
teste și lucrări semestriale;
chestionare de atitudini;
înregistrări, fotografii care reflectă activitatea desfășurată de elev individual sau împreună cu colegii săi;
observații pe baza unor ghiduri de observații;
reflecțiile proprii ale elevului asupra a ceea ce lucrează;
autoevaluări scrise elev sau de membrii grupului;
interviuri de evaluare;
alte materiale, hărți cognitive, contribuții la activitate care reflectă participarea elevului / grupului la derularea și soluționarea temei date.
Evaluarea portofoliului începe de obicei prin explicarea de către profesor, la începutul perioadei, a obiectivelor învățării în perioada pentru care se va primi nota. Profesorul și elevii cad de acord asupra produselor pe care trebuie să le conțină portofoliul și care să dovedească îndeplinirea obiectivelor învățării (mulți profesori le reamintesc aproape zilnic elevilor să pună în portofoliu eșantioane care să le amintească mai târziu de munca depusă).
De asemenea, evaluarea portofoliului va avea în vedere efectele pe care acest gen de evaluare l-a avut asupra dezvoltării personalității, a capacității de autoevaluare și a competențelor de intercomunicare.
Materialele cuprinse în portofoliu pot fi citite atât de profesor cât și de părinți sau colegi, fiind o sursă foarte bună de cunoaștere a elevului.
Portofoliul reprezintă un veritabil „portret pedagogic” al elevului relevând:
nivelul general de pregătire;
rezultatele deosebite obținute;
interesele și aptitudinile demonstrate;
capacitățile formate, atitudinile;
dificultățile în învățare întâmpinate;
corelațiile interdisciplinare;
resursele pentru o învățare ulterioară;
disponibilitățile de comunicare și de lucru în echipă;
gradul de implicare în sarcina de lucru;
perseverența și conștiinciozitatea;
trăsăturile de personalitate.
4. Proiectul este deosebit de util atunci când profesorul urmărește accentuarea caracterului practic / aplicativ al învățării și apropierea între discursul teoretic și experiența de viață a elevilor.
Proiectul începe în clasă, prin definirea și înțelegerea sarcinii de lucru – eventual și prin începerea rezolvării acestea –, se continuă acasă pe parcursul a câtorva zile sau săptămâni, timp în care elevul are permanente consultări cu profesorul, și se încheie tot în clasă, prin prezentarea în fața colegilor a unui raport asupra rezultatelor obținute și dacă este cazul, a produsului realizat.
Realizarea unui proiect presupune parcurgerea următoarelor etape:
Identificarea unei probleme / teme / subiect;
Culegerea, organizarea, prelucrarea și evaluarea informațiilor legate de problema sau tema aleasă;
Elaborarea unui set de soluții posibile ale problemei;
Evaluarea soluțiilor și deciderea către cea mai bună variantă.
În funcție de tema aleasă, există și un al cincilea pas, în care elevii trec efectiv la aplicarea soluției pentru care au optat, ceea ce presupune elaborarea unui plan de implementare, cu etape, resurse, responsabilități, modalități de evaluare a rezultatelor obținute. Proiectul poate fi realizat individual sau în grup.
Etapele prin care trebuie să treacă participanții sunt următoarele:
stabilirea domeniului de interes;
stabilirea premiselor inițiale: cadru conceptual, metodologic, datele generale ale investigației;
identificarea și selectarea resurselor materiale;
precizarea elementelor de conținut;
prezentarea rezultatelor.
Avantajele folosirii acestei metode:
oferă șansa de a analiza în ce măsură elevul folosește adecvat cunoștințele, instrumentele, materialele disponibile în atingerea finalităților propuse;
este o metodă alternativă de evaluare care scoate elevii și cadrul didactic din rutina zilnică;
pune elevii în situația de a acționa și a rezolva sarcini în mod individual sau în grup, autotestându-și capacitățile cognitive, sociale și practice.
Profesorul poate să aprecieze rezultatele proiectului urmărind:
adecvarea metodelor de lucru, a materialelor și a mijloacelor didactice folosite la scopurile propuse;
acuratețea produsului;
rezultatele obținute și posibilitatea generalizării lor;
raportul final și modul de prezentare a acestuia;
gradul de implicare a participanților în sarcina de lucru.
Evaluarea proiectului presupune din partea profesorului multă atenție. El trebuie să asiste elevul / grupul de elevi pe durata derulării lui, consiliindu-i și încurajându-i în demersurile întreprinse astfel:
să-i îndemne să reflecte asupra activității, asupra achizițiilor realizate (cunoștințe, aptitudini, atitudini, experiențe);
să-șu autoevalueze activitatea și progresul;
să discute dificultățile, aspectele care îi nemulțumesc sau pe care le consideră insuficient realizate.
Profesorul poate să alcătuiască fișe de evaluare în care să consemneze în mod regulat observații și aprecieri asupra activității fiecărui elev / grup de lucru.
III.2 Conceptul de învățare centrată pe elev
Învățarea centrată pe elev se referă în special la învățare și nu la predare.
Rolul profesorului este:
de a coordona învățarea;
oferă indivizilor oportunități de a învăța într-un mod care-l ajută să învețe cel mai bine;
îi determină pe elevi să-și asume responsabilitatea propriei lor educații.
Din aceste motive, se impun schimbări nu numai în rândul personalului din școlile și centrele de formare, dar și schimbări referitoare la mediul de predare / formare; aceste schimbări impun diferite roluri din partea profesorilor și formatorilor, pentru care aceștia trebuie să capete competențele corespunzătoare.
Principalele tendințe în cadrul modificărilor de rol al profesorilor / formatorilor sunt următoarele:
în sala de curs, profesorii / formatorii devin mai degrabă organizatorii mediului de învățare și cei ce facilitează procesele de învățare decât transmițători de informații;
trebuie să folosească, printre altele, tehnologia informației și a comunicării;
în sala de curs, ei lucrează mai degrabă ca membri ai unei echipe de profesori și formatori răspunzători de aceiași elevi și nu individual, alăturând doar contribuția lor aceleia a colegilor;
sala de curs nu mai este singura scenă unde se desfășoară procesul de învățare;
școala / centrul de formare va funcționa tot mai mult ca mediu de învățare deschis, ei nu vor mai lucra doar cu personalul instituției, ei vor colabora și cu membrii comunității, în primul rând părinții, dar și cu colegii de la alte școli / centre de formare din țară sau străinătate.
Învățarea centrată pe elev înseamnă „schimbare”; aceasta are rolul de a-i ajuta pe elevi să înțeleagă modul în care învață să cunoască modalitățile în care învață cel mai bine, să-și cunoască punctele tari și punctele slabe, propriile stiluri de învățare.
Este esențial ca profesorii să-și dezvolte modalități eficiente de a oferi feedback elevilor în așa fel încât să le mențină motivația pentru învățare.
Ca profesori, suntem „experți” în domeniul nostru și cunoaștem limbajul specific al disciplinei pe care o predăm. Acest lucru ne poate face să uităm că cei care învață s-ar putea să nu cunoască terminologia noastră, din acest motiv trebuie să folosim un limbaj adecvat pentru fiecare elev în parte!
Varietatea de stiluri și abilități ale elevilor necesită abordări diferite din partea profesorilor, adică o armonizare foarte bună între:
un individ și profesorul său (adecvarea între metodă și materiale, pe de o parte, și acordarea pe care individul o are asupra învățării);
cel care învață și școală;
cel care învață și serviciile de învățare disponibile în comunitate.
Având în vedere cele scrise mai sus, este bine să folosim strategii de predare, care să corespundă stilurilor individuale de învățare ale elevilor; în acest sens există fișe de îndrumare concepute să sprijine profesorii în înțelegerea și dezvoltarea practicilor lor de predare, astfel încât fiecare stil de învățare să fie luat în considerare și, ca urmare, toți elevii să fie angajați în felul acesta în procesul de învățare.lș
Stilurile individuale de învățare pot fi: auditiv, vizual și practic, fiecare dintre aceste stiluri având puncte tari și puncte slabe.
Profesorii pot folosi informațiile despre stilul de învățare al elevilor, astfel încât activitățile la lecții să fie variate, acestea din urmă garantând că toate stilurile de învățare sunt satisfăcute la un anumit moment al lecției.
Se pot da teme individuale elevilor pe baza stilului de învățare sau preferințelor, deși acest lucru ocupă mult din timpul profesorului.
Elevilor li se pot da informații despre stilul lor de învățare și acest lucru poate fi folosit la stabilirea obiectivelor, folosind în acest fel cel mai bine punctelor lor forte și dezvoltând punctele slabe.
III.3 Aplicații didactice
Scopul aplicației și grupul țintă
În continuare, ne propunem sa realizăm două aplicații didactice ce vor surprinde următoarele aspecte:
Prezentarea elementelor teoretice fundamentale ale arhitecturii calculatoarelor, iar în cazul în care audiența este mai puțin familiarizată cu subiectul, prezentarea noțiunilor se pliază pe un limbaj mai puțin tehnic și se expun analogii, cu scopul acceptării pe deplin a noilor informații.
Familiarizarea elevilor cu asamblarea unui sistem de calcul de tip desktop, folosind un simulator 3D, numit „PC Building Simulator” creat de Claudiu Kiss în Unity3D și C#.
Inslalarea unui Sistem de Operare, LINUX-Ubuntu cu ajutorul unei mașini virtuale
Întreg procesul va fi ghidat prin expunerea grupului la demonstrații și obiective scrise. În prealabil, se vor aminti aspecte teoretice aplicate în practică și se vor pune întrebări. De asemeni, este foarte important ca întrebarile publicului să fie tratate prompt și concis, pentru a nu depăși timpul propus.
Aplicația de verificare a cunoștiințelor va cuprinde 9 întrebari și exerciții cu variante de răspuns, fiecare dintre acestea fiind notate cu 10 puncte. Nu se acordă punctaje parțiale pentru întrebarile cu raspunsuri multiple. Această etapă se va realiza ghidând grupul catre un link web, ce va conduce la o aplicație formular de tip test grilă.
Întrebări și răspunsuri
Feedbackul va fi transmis printr-o aplicație online, către care grupul va fi redirecționat cu ajutorul unui link web. Acesta va conține 6 câmpuri cu raspunsuri pe o scară personalizată, în funcție de întrebare.
Proiectul didactic și desfășurarea lecției
Profesor: Miron Mirela Geanina
Lecția: Fundamente în arhitectura sistemelor de calcul și aplicații didactice
Tipul lecției: Predare-Învățare
Timp: 100 de minute
Competența generală:
Componentele calculatorului și modul de funcționare al acestora
Competențe specifice:
Descrierea și asamblarea unui sistem de calcul Von Neumann Obiective operaționale:
Cognitive
Să prezinte elementele teoretice fundamentale ale arhitecturii calculatoarelor
Să familiarizeze grupul de elevi cu asamblarea unui sistem de calcul de tip desktop
Să expună grupul la demonstrații și obiective scrise
Afectiv – atitudinale:
Să evalueze corect răspunsurile oferite de elevi
Să se autoaprecieze în funcție de obiective și clasa
Participarea activă a elevilor la lecție
Evaluarea rezultatelor activității decurse
Dezvoltarea interesului în studierea informaticii aplicând cunoștințele în diverse probleme
Psihomotorii:
Dezvoltarea gândirii logice, capacității de a generaliza și a problematiza
Consolidarea noțiunilor dobândite
Dezvoltarea abilităților pentru rezolvarea problemelor
Strategii didactice:
Resurse procedurale: explicația, conversația, demonstrarea, învățarea prin descoperire, exercițiul, problematizarea.
Resurse materiale: calculatoare.
Forme de organizare: lucru individual, activitate frontală.
Forme de evaluare:
Aplicație de verificare a cunoștințelor sub forma unui test grilă
III.3.1 PC Building Simulator
Introducere
Aplicația a fost dezvoltată de către Claudiu Kiss folosind mediul de dezvoltare Unity3D și limbajul de programare C# și a fost lansată la data de 27.03.2018, ca publicație The Irregular Corporation. Succesul software-ului a fost viral, numărând peste 500.000 de descărcări în varianta demo pre-alpha. Aplicația permite utilizatorului să cumpere componente de calculatoare, să asambleze diferite modele de calculatoare dupa bunul plac și să le stocheze în spațiul personal. Asamblarea este foarte realistă, oferind posibilitatea montării, demontării și realizarea de legaturi prin cablu între componente, dar ceea ce scoate cu adevărat în evidentă softul este grafica, ce oferă utilizatorului un sentiment de real. Varianta folosită în aplicația noastră este una demo și conform contractului de licența, avem acordul dezvoltatorului de a o folosi în scopuri personale.
Cerințe de sistem:
Sistem de operare: Windows 7 sau superior
Procesor: Intel Core i5-2500K sau AMD Athlon X4 740 (sau echivalent)
Memorie: 4 GB RAM
Grafica: GeForce GTX 660 (2048 MB) sau Radeon R9 285 (2048 MB) – Placile video integrate pot funcționa dar nu se garantează suportul în întregime pe aplicație
DirectX: Versiunea 9.0c
Spațiune pe unitatea de disc: 4GB spațiu disponibil
Placa de sunet: Compatibilă cu DirectX
Aplicația
După instalarea aplicației și rularea acesteia, ni se vor prezenta o serie de opțiuni de rulare, respectiv rezoluția în care vrem să rulam programul, dacă dorim sau nu să fie fullscreen sau window mode, calitatea graficii și monitorul pe care vrem să afișăm. Dacă se dispune de calculatoare cu specificații tehnice peste cele menționate anterior, vom selecta rezoluția 1920×1080, respectiv calitate „fantastică”.
Dorim să ilustrăm construcția unui calculator cu ajutorul simulatorului PC Building Simulator. Deschidem executabilul.
La lansarea aplicației, observăm un meniu care permite pornirea simulatorului.
Avem la dispoziție un spațiu de lucru, în care se află mai multe rafturi, mese, și calculatoare.
Alegem să asamblăm calculatorul în carcasa din partea dreaptă. Simulatorul ne permite să schimbăm orientarea camerei cu ajutorul mouse-ului.
De asemenea, obervăm un meniu în partea de jos, prin intermediul căruia putem efectua mai multe acțiuni, precum să adăugăm componente din inventar.
Inventarul conține toate componentele de care avem nevoie pentru a asambla un sistem de calcul Von Neum
Vom începe prin a desface panourile carcasei.
În continuare, vom monta sursa, pe care o alegem din inventar. Sursa alimentează întreg sistemul, și îl protejează de fluctuații de curent.
Pentru a monta sursa, vom desface întâi suportul de metal din partea de jos.
După plasarea sursei, vom fixa suportul la loc cu șuruburi.
Următorul pas este să montăm placa de bază, care reprezintă una dintre cele mai importante componente. Aceasta asigură atât comunicarea dintre componente, cât și intrarea și ieșirea datelor prin intermediul porturilor.
Înainte de montarea plăcii de bază, este necesar să montăm distanțierele. Acestea fixează placa de bază și o protejează de scurtcircuitele care pot apărea în urma contactului cu carcasa.
Ulterior, fixăm placa de bază cu șuruburi. Înaintea plasării plăcii de bază, se fixează automat scutul de intrare-ieșire, care protejează porturile plăcii.
După aceea, vom monta procesorul în placa de încărcătură. Procesorul execută instrucțiunile primite de la alte componente hardware prin intermediul plăcii de bază, și cele primite de la utilizator prin intermediul programelor software.
Ulterior, vom aplica pastă termoconductoare pe procesor, care asigură o bună conductivitate termală între procesor și radiator. Aceasta trebuie aplicată pe centru, și în cantități mici.
Apoi, vom monta radiatorul direct pe procesor. Acesta are rolul de a menține procesorul la o temperatură sigură.
Procesorul conține un procesor grafic integrat, care este suficient pentru funcționarea sistemului. Însă, vom monta și o placă video dedicată. Începem prin a demonta fațadele din spatele carcasei.
Plasăm placa video aleasă din inventar, și apoi fixăm la loc una dintre fațadele demontate anterior.
În continuare, vom monta plăcile de memorie RAM în sloturile adecvate, prin deschiderea siguranțelor. Memoria RAM conține instrucțiunile care sunt executate de procesor, iar sistemul nu bootează în lipsa acesteia. Capacitatea maximă de memorie depinde de placa de bază.
Ultima componentă necesară este discul dur, pe care îl vom plasa jos, în partea din spate. Acesta reprezintă un mediu de stocare nevolatil și stochează atât toate fișierele sistemului de operare, cât și fișierele personale ale utilizatorului.
Vom monta și un ventilator, pentru a asigura buna circulație a aerului.
Toate componentele sunt poziționate la locul lor. Următorul pas este să le conectăm între ele, folosind meniul din partea de jos a ecranului.
Vom începe cu placa de bază, pe care o conectăm la sursă prin intermediul unui cablu ATX de 20/24 de pini.
Continuăm cu placa video, care necesită două cabluri PCI-Express.
Conectăm și ventilatorul radiatorului la partea superioară a plăcii de bază.
Urmează ventilatorul din spatele carcasei, pe care îl conectăm în același mod.
Vom conecta încă un cablu la placa de bază, care oferă curent electric suplimentar.
Discul dur necesită două cabluri SATA: unul pentru curent electric, și unul pentru transferul de date.
Ne asigurăm că toate cablurile necesare sunt conectate.
Majoritatea carcaselor necesită o conexiune la placa de bază, pentru funcționarea elementelor precum butonul de pornire și oprire a sistemului.
Sistemul este complet. Vom monta panourile carcasei pentru a proteja componentele.
Sistemul asamblat poate fi inspectat, și este complet funcțional.
III.3.2 VirtualBox
Introducere
VirtualBox este o aplicație de virtualizare pentru seturile de instrucțiuni x86 respectiv AMD64/Intel64. Aceasta a fost creată de Innkotek în anul 2007, companie achiziționată ulterior de către Sun Microsystems. În anul 2010, Sun Microsystems a fost achiziționat de Oracle, care este prezentul dezvoltator al proiectului.
Aplicația permite utilizatorului să emuleze mai multe sisteme de operare pe un singur sistem gazdă. Fiecare sistem emulat poate fi configurat, pornit și oprit în mod independent față de celelalte sisteme. De asemenea, sistemul gazdă poate comunica cu sistemele emulate prin intermediul mai multor mecanisme (precum rețelele virtuale).
Cerințe de sistem
Procesor: de tip x86, Intel sau AMD, suficient de puternic pentru a rula două sisteme de operare în paralel
Memorie: suficientă pentru sistemul de operare gazdă plus cel emulat
Spațiu pe disc: suficient pentru sistemul de operare emulat
Sistem de operare: Windows, Linux, Mac OS X, Solaris sau OpenSolaris
Interfață
După lansarea aplicației, putem crea o mașină virtuală nouă folosind meniul din partea de sus a ferestrei. Fereastra de creare a unei mașini noi ne cere să specificăm resursele oferite respectivei mașini virtuale (cum ar fi memorie RAM și spațiu fizic pe disc).
Putem manageria mașinile virutale deja existente folosind meniul din partea stângă. Fiecare mașină virtuală poate fi configurată, pornită sau oprită.
Dorim să instalăm un sistem de operare. Pentru a demonstra procedeul, vom folosi o mașină virtuală. Pornim sistemul.
Alegem imaginea de disc a sistemului de operare pe care dorim sa îl instalăm. În acest caz, vom instala Linux Ubuntu.
Așteptăm ca sistemul de operare să se inițializeze.
Observăm o fereastră de instalare, de unde putem selecta limba dorită. Avem și două acțiuni posibile: putem încerca sistemul de operare, sau îl putem instala. Alegem să îl instalăm.
Apoi, trebuie să selectăm limba tastaturii.
Observăm mai multe opțiuni de configurare. Putem alege să instalăm toate programele disponibile, sau doar pe cele de bază. De asemenea, putem alege să instalăm toate actualizările de sistem, și alte drivere pentru componente hardware.
Ulterior, trebuie să alegem unde instalăm sistemul de operare. Putem opta pentru a șterge toate datele de pe disc, sau să instalăm doar pe una sau mai multe partiții. Avem și alte opțiuni avansate. Vom alege să ștergem datele înainte de instalare.
Ni se cere să confirmăm opțiunea dorită.. Implicit, două partiții for fi create: una numită ESP, care conține fișierele necesare pornirii sistemului, și una numită Root, care conține atât fișierele sistemului de operare, cât și cele ale utilizatorului.
Ulterior, vom indica locația curentă.
Ultimul pas este să oferim informații de identificare: numele complet, numele calculatorului, numele de utilizator, și parola. De asemenea, putem alege dacă parola este necesară în timpul logării.
Acum, sistemul de operare va fi instalat și configurat cu opțiunile alese.
La finalul instalării, vom restarta sistemul
După pornirea sistemului, ne vom autentifica cu datele precizate în timul instalării.
Ecranul de lucru a fost inițializat, și putem accesa fișierele personale.
De asemenea, putem vizualiza toate aplicațiile instalate. Sistemul de operare funcționează perfect.
Bibliografie
1. Tanenbaum, Organizarea structurată a calculatoarelor, Ed. Agora, 1999.
2. Tanenbaum, Modern Operating Systems, Prentice Hall, 2001.
3. F. Baciu, Arhitectura calculatoarelor, 2014
4. D. A. Patterson, J. L. Hennessy, Organizarea și proiectarea calculatoarelor. Interfața hardware/software, Ed. All, 2002.
5. R. W. Hockney, C. R. Jesshope, Calculatoare paralele, Ed. Tehnică, 1991.
6. L. Vințan, Fundamente ale arhitecturii microprocesoarelor, ed.Matrix
7. Rom, 2016 Nicolae Robu, Arhitectura calculatoarelor, 2014
8. D. Rotar, Sisteme de operare, Ed. Alma Mater, Bacău, 2007
9. O. Chelai, Arhitectura calculatoarelor, Ovidius Univ. Press, Constanța, 2016
10. A.Tanenbaum, Organizarea structurată a calculatoarelor, Ed. Agora, Tg. Mureș, 1999
11. F.M.Boian, Sisteme de operare interactive, Ed. Libris, Cluj-Napoca, 1994
12. A.Silberschatz, P.Galvin, G.Gagne, Operating Systems Concepts – 10th ed., Ed. John
13. Wiley & Sons Inc., 2018
14. A.Tanenbaum, Modern Operating Systems – 4th ed., Ed. Prentice Hall International, 2015
15. R. D. Zota, Elemente de arhitectură a sistemelor decalcul și operare,
16. Ed-ASE, București, 2005
17. D. Acostăchioaie, Securitatea sistemelor LINUX, Editura Polirom, Iași, 2001
18. L.Miclea, Noțiuni de sisteme de operare și reețele de calculatoare (LINUX), Universitatea Tehnică Cluj-Napoca, 2001.
19. R. Rughinuș, R. Deaconescu, G. Milescu, D. Bardac, Introducere in Sisteme de Operare, Ed. Printech, 2010
20. Silberschatz A., Galvin P.B. and Gagne G. Operating Systems Concepts, 7th edn. ohn Wiley & Sons, 2005
21. Tanenbaum A.S., Operating Systems, Design and Implementation. Englewood Cliffs NJ: Prentice-Hall, 1987
Anexe
Aplicație pentru verificarea cunoștiințelor:
https://docs.google.com/forms/d/1GGWL-eAYXuxPh6stQqbH
LqYtDm__c9JYNkCHtQ5z0A/edit
Formular pentru feedback:
https://docs.google.com/forms/d/1R_CfkOuhnEjFMsgz7tMwHWNsy7aN9tYpfZV3DmnuQSM/viewform?edit_requested=true
Fișiere video:
PC-Building-Simulator-Aplicația.mp4
Linux-Ubuntu-Aplicația mp4
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Tehnologia calculatoarelor a făcut un mare progres în ultimii 60 de ani, de la apariția primului calculator și până astăzi. Cu toate că totul a… [310006] (ID: 310006)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
