3. so windows - ase · 2018-01-25 · 3 conf.dr.carmen timofte sisteme de operare 5 3.2. structura....

9
1 Conf.dr.Carmen Timofte Sisteme de operare 1 3. SO Windows 3.1.Principii de proiectare 3.2. Structura. Componente 3.3. Comenzi 3.4. Registry 3.5. Gestiunea memoriei 3.6. Procese si fire 3.7. Sistemul de fisiere 3.8. Interfata de programare 3.9. Componente de retea Conf.dr.Carmen Timofte Sisteme de operare 2 3.1. Principii de proiectare Extensibilitate – arhitectură pe nivele o Executivul- care rulează în modul protejat, furnizează serviciile sistem de bază o Deasupra lui, câteva subsisteme operează în modul user; o O structură modulară permite subsistemelor de mediu să fie adăugate, fără a afecta executivul; Portabilitate – Win (XP) poate fi mutat de pe o arhitectură hardware pe alta, doar cu câteva modificări; o Este scris în C şi C++; o Codul dependent de procesor este isolat într-un DLL (Dynamic Link Library), numit HAL (Hardware Abstraction Layer); Siguranţă- foloseşte o protecţie hardware - pt. memoria virtuală o protecţie software – pt. resursele SO Compatibilitate - rulează aplicaţii compatibile cu standardul POSIX IEEE 1003.1, fără a schimba codul; Performanţă – subsistemul XP comunică cu altul printr-un sistem performant de trimitere de mesaje (message passing): o Sistemul răspunde rapid la evenimente externe prin prevenirea firelor cu prioritate scăzută; o Proiectare pt. multiprocesare simetrică Suport internaţional ( pt. aplicaţii locale) - conţine API-ul (Application Programming Interface) NLS (National Language Support)

Upload: others

Post on 14-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

1

Conf.dr.Carmen Timofte Sisteme de operare 1

3. SO Windows

3.1.Principii de proiectare

3.2. Structura. Componente

3.3. Comenzi

3.4. Registry

3.5. Gestiunea memoriei

3.6. Procese si fire

3.7. Sistemul de fisiere

3.8. Interfata de programare

3.9. Componente de retea

Conf.dr.Carmen Timofte Sisteme de operare 2

3.1. Principii de proiectare

� Extensibilitate – arhitectură pe nivele

o Executivul- care rulează în modul protejat, furnizează serviciile sistem de bază

o Deasupra lui, câteva subsisteme operează în modul user;

o O structură modulară permite subsistemelor de mediu să fie adăugate, fără a afecta executivul;

� Portabilitate – Win (XP) poate fi mutat de pe o arhitectură hardware pe alta, doar cu câteva modificări;

o Este scris în C şi C++;

o Codul dependent de procesor este isolat într-un DLL (Dynamic Link Library), numit HAL

(Hardware Abstraction Layer);

� Siguranţă- foloseşte

o protecţie hardware - pt. memoria virtuală

o protecţie software – pt. resursele SO

� Compatibilitate - rulează aplicaţii compatibile cu standardul POSIX IEEE 1003.1, fără a schimba codul;

� Performanţă – subsistemul XP comunică cu altul printr-un sistem performant de trimitere de mesaje

(message passing):

o Sistemul răspunde rapid la evenimente externe prin prevenirea firelor cu prioritate scăzută;

o Proiectare pt. multiprocesare simetrică

� Suport internaţional ( pt. aplicaţii locale) - conţine API-ul (Application Programming Interface) NLS

(National Language Support)

Page 2: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

2

Conf.dr.Carmen Timofte Sisteme de operare 3

(*)

Address space 64-bit Windows 32-bit Windows

Virtual memory 16 terabytes 4 GB

Paging file 512 terabytes 16 terabytes

Hyperspace 8 GB 4 MB

Paged pool 128 GB 470 MB

Non-paged pool 128 GB 256 MB

System cache 1 terabyte 1 GB

Comparatie intre arhitectura de 64-Bit si 32-Bit

Conf.dr.Carmen Timofte Sisteme de operare 4

(*)

Diferente intre Win 98/Win NT

Win 2000 -versiuni

Page 3: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

3

Conf.dr.Carmen Timofte Sisteme de operare 5

3.2. Structura. Componente

♦ Module sistem pe nivele

♦ Modul protejat - HAL (hardware abstraction layer), kernel, executiv

♦ Modul user — colecţie de subsisteme o Subsisteme de mediu – emulează diferite SO

o Subsisteme de protecţie – furnizează funcţii de securitate

Arhitectura de bază - asigură protecţia task-urilor executate simultan;

- protecţia se bazează pe „ierarhia tutelară” (un task poate să acceseze doar task-urile situate pe un nivel superior):

unde 0- sistem de operare, 1,2 – driver-e, 3 – programe de aplicaţii

- utilizează modelul de memorie nediferenţiat (începând de la 386 şi Win95/NT);

1 0

2 3

Conf.dr.Carmen Timofte Sisteme de operare 6

(*)

- Arhitectura de bază şi elementele componente sunt:

NIVELUL 3 de protecţie - aplicaţii

NIVEL 2 de protecţie – driver-e de echipamente

NIVEL 1 de protecţie – driver-e de echipamente

NIVEL 0 de protecţie – servicii de sisteme de operare 1- control fişiere, 2- servicii reţea, 3- servicii sistem operare,

4- control maşină virtuală, 5-driver-e pentru echipamente

Calculator virtual

MS-DOS

MAŞINĂ

VIRTUALĂ

DOS (VDM)

KERNEL KRNL386.EXE

KERNELL.DLL

Interf.utilizator USER.EXE

USER32.DLL

API Interf.comp.hard GDI.EXE,

GDI32.DLL

Spaţiu de adresare

Multitasking controlat (preemptiv)

Interfaţă Shell Aplicaţii 16 biţi Aplicaţii Win32 biţi

SISTEMUL VM (Virtual Mode)

Spaţiu comun de adresare partajat

Multitasking cooperativ

Page 4: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

4

Conf.dr.Carmen Timofte Sisteme de operare 7

(*)

NIVELUL 3 – conţine:

� Sistemul VM (Virtual Mode) – furnizează funcţiile destinate utilizatorului şi conţine:

o Aplicaţi pe 32 biţi – sunt executate în multitasking preemtiv, utilizând

modelul de adresare nediferenţiat al memorie (se reduce timpul de acces

la memorie); fiecare task primeşte câte o parte egală din interfaţa shell

din Windows Explorer;

o Aplicaţii pe 16 biţi – sunt executate într-un spaţiu de adrese comun, ca un

singur task, utilizând un multitasking cooperativ, nepreemtiv;

Comunicaţia dintre cele 2 categorii de aplicaţii se realizează printr-un strat

de conversie (thunk layer), iar pentru legătura dintre aplicaţii, fişiere DLL

(Dynamic Link Library);

� Maşina virtuală DOS – rulează în mod 86 virtual, creând în memoria virtuală mai multe

maşini 8086 a câte 1MB fiecare, fiecare cu propriul spaţiu de memorie şi acces la

echipamentele sistem;

� API (Application Programming Interface) – reprezintă interfaţa prin care aplicaţiile au

acces la sistemul de operare;

o codul API este reentrant (cu revenire), permiţând procesarea mai multor apeluri;

o are 3 componente, fiecare pe 16 biţi şi 32 de biţi:

o Kernel (KRNL386.EXE, KERNELL.DLL)- este nucleul Windows şi

furnizează suport pentru funcţiile de mai jos necesare rulării unei

aplicaţii;

o Interfaţa cu componentele hardware (GDI.EXE, GDI32.DLL) –

Graphical Device Interface – se ocupă de mediul echipamentelor grafice;

o Interfaţa utilizator (USER.EXE, USER32.DLL) – gestionează ferestrele

utilizatorului

Conf.dr.Carmen Timofte Sisteme de operare 8

(*)

NIVELUL 0 - Sistemul de bază – conţine toate serviciile sistemului de operare:

� Controlul fişierelor – interfaţă pentru toate echipamentele conectate la PC;

� Servicii de reţea –

� Servicii de sistem de operare – PnP, solicitări ale utilizatorului, ale SO;

� Gestiunea maşinii virtuale:

o Programarea execuţiei task-urilor;

o Lansarea în execuţie şi oprirea aplicaţiilor sistem;

o Controlul memoriei virtuale prin intermediul interfeţei API;

o Controlul operaţiilor de alocare a memoriei (inclusiv DPMI - interfaţa

pentru modul protejat DOS)

o Comunicaţia între task-uri care filtrează cererile pentru DDE (Data

Dynamic Exchange) şi OLE (Object Linking and Embeding)

� Driver-e pentru dispozitivele care lucrează în:

o Modul real – implică comutarea permanentă între modul real (sisteme

vechi) şi cel protejat;

o VxD (Virtual x Driver) – comunică cu sistemul fără comutarea în modul

real;

De la Windows95 s-a eliminat adresarea în mod real, prin includerea funcţiilor SO într-o

arhitectură pe 32 de biţi, utilizând tehnica adresă în mod protejat VFAT (Virtual File

Allocation Table), care reduce căderile de sistem şi timpul de acces la disc.

Page 5: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

5

Conf.dr.Carmen Timofte Sisteme de operare 9

(*)Win XP- arh

Conf.dr.Carmen Timofte Sisteme de operare 10

Detalierea arhitecturii Windows 2000:

WIN32

USER GDI

Driver-e,

grafice

Tratarea serviciilor sistem

Manager I/O

HAL (Hardware abstraction layer)

Mod

KERNEL Sistem de fir

de executie

Mod USER

Procese sistem Procese de servicii Aplicaţii utilizator Subsisteme mediu

Ntdll.dll

Service Control

Manager

Lsass

Winlogon

Session Manager

Svchost.exe

Winmgmt.exe

Spooler

Services.exe

OS/2

POSIX

Win32

Task Manager

Windows Explorer

Aplicaţii utilizator

Subsisteme DLL

(interfaţă callable în mod kernel)

Driver-e pt.

dispozitive şi fişiere sistem

Kernel

Ap

el pro

cedu

ri

loca

le

Con

figu

ratio

n

man

ager

(reg

istry)

Pro

cese şi fir

e

de ex

ecuţie

Mem

orie

virtu

ală

Secu

rity

reference

Mon

itor

Po

wer

Ma

nager

Ma

na

ger

ob

iecte

File

system

cach

e

Plu

g&

Pla

y

Ma

nager

Interfeţe hardware

(magistrale, dispozitive I/O, DMA ş.a)

Page 6: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

6

Conf.dr.Carmen Timofte Sisteme de operare 11

(*)

- Modul USER – conţine 4 grupe de procese, fiecare rulând în spaţii de memorie private,

diferite:

� „procese suport sistem” – cum ar fi procesul de logon, manager-ul de sesiune (care nu sunt

servicii Windows 2000 pornite de managerul de control al serviciilor);

� „procese de servicii” – care găzduiesc serviciile Win32, cum ar fi: Task Scheduler, Spooler

Service ş.a (aplicaţii ca SQL Server, Exchange Server rulează ca servicii).

� „aplicaţii utilizator” - care pot fi de 5 tipuri: Win32, Windows 3.1, MS-DOS, POSIX,

OS/2 1.2;

� „subsisteme de mediu” – permite simularea a trei subsisteme:Win32, POSIX şi OS/2, prin

intermediul unui set de funcţii „callable”.

o Expune unele subset-uri ale serviciilor sistem executive de bază din

Windows 2000 unor programe de aplicaţii;

o Fiecare din cele trei subsisteme accesează părţi diferite ale unor subseturi

de servicii native Windows 2000 (de exemplu, o aplicaţie Win32 nu

poate utiliza funcţia fork din POSIX);

o Nu se permit apeluri de funcţii mixate între subsisteme;

o Subsistemul Win32 se referă la mouse, tastatură, display, care se

regăsesc în toate sistemele Windows, şi tb. să fie pornit tot timpul

(celelalte două doar la nevoie); conţine umrătoarele componente:

� Procesul subsistemului de mediu (csrss.exe) – care oferă suport

pentru: consolă text şi fereastră, crearea şi ştergerea proceselor şi

firelor de execuţie, o parte din procesele maşinii virtuale DOS

(VDM),ş.a.;

� Driver pentru dispozitivul mod kernel (win32k.sys)- care conţine:

manager de ferestre, colectarea intrărilor de mouse, tastatură şi

alte dispozitive, trimitere mesajelor utilizatorilor către aplicaţii,

precum şi GDI;

� Subsistemul DLL – include funcţii pentru linie, text, desenare

figuri, manipulări de grafice;

Conf.dr.Carmen Timofte Sisteme de operare 12

(*)

- „Subsistemul DLL” este situat sub componentele „aplicaţii utilizator” şi „procese servicii”,

deoarece aceste grupe de procese nu apelează direct serviciile SO, decât prin intermediul DLL-

urilor. Acest subsistem transformă funcţia documentată într-un apel de serviciu sistem intern

Windows 2000.

� Ntdll.dll – este principala bibliotecă de sistem pentru utilizarea subsistemului DLL; conţine

funcţii pentru încărcarea imaginii (Ldr), head manager, pentru subsistemul Win32 (Csr),

rutine generale (Rtl), prelucrarea apelurilor procedurilor asincrone din modul user (APC);

- Modul KERNEL – conţine următoarele componente:

� „executivul” – este nivelul superior al kernel-ului Ntoskrnl.exe; conţine serviciile de bază ale

SO, cum ar fi: managementul memoriei, al proceselor şi firelor de execuţie, securităţii, I/O,

comunicări interprocese, WDM (Windows Management Intrumentation);

� „kernel” – constă dintr-un set de funcţii în Ntoskrnl.exe, este scris în C şi limbaj de

asamblare (pentru codul specific anumitor procesoare); conţine:

o funcţiile SO de nivel scăzut (low-level): planificarea firelor de execuţie,

tratarea intreruperilor şi excepţiilor, sincronizarea multiprocesor);

o un set de rutine şi obiecte de bază utilizate de „executiv” în

implementarea constructorilor de nivel-înalt;

� „driver-e de dispozitive” – include:

o drivere de dispozitive hardware – care traduc apelurile funcţiilor de I/O

în cereri de dispozitive hardware specifice de I/O;

o drivere de reţea şi sisteme de fişiere;

o Windows2000 aduce îmbunătăţiri pentru Plug&Play, Power ş.a. într-un

model numit WDM (Windows Driver Model);

� „HAL” – este un nivel de cod care izolează kernel-ul, driver-ele dispozitivelor şi restul

executivului Windows 2000, de diferenţele hardware ale diferitelor platforme (cum ar fi

diferenţe între plăci de bază);

o face posibilă portarea SO;

o este un modul încărcabil (hall.dll) din modul kernel;

� „Sisteme grafice şi ferestre” – implementează funcţiile GUI (Graphical User Interface)

cunoscute sub numele de Win32 USER şi funcţii GDI, precum şi lucrul cu ferestre,

controlul interfeţei utilizator, desenare etc.

Page 7: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

7

Conf.dr.Carmen Timofte Sisteme de operare 13

(*)

- Fişierele sistem de bază (nucleul):

Denumire fişier Componente

Ntoskrnl.exe Execuţie şi kernel

Ntkrnlpa.exe Execuţie şi kernel cu suport pentru extinderea adresei fizice PAE

(Physical Address Extension) – permite adresarea memoriei fizice

la peste 64GB

Hall.exe Nivelul de abstractizare hardware (Hardware Abstraction Layer)

Win32k.sys Parte a modului kernel din subsistemul Win32

Ntdll.exe Funcţii suport interne

Kernel32.dll Miezul Win32 al subsistemului DLL

Advapi32.dll

User32.dll

Gdi32.dll

- Procese sistem – care apar în orice sistem Windows 2000:

� Proces idle –conţine un fir de execuţie/CPU pentru contorizarea idle-ului timpului CPU;

� Proces sistem – conţine majoritatea firelor de execuţie al modului kernel;

� Manager de sesiune (Smss.exe) – este primul proces al modului user creat în sistem; se

ocupă cu operaţii de redenumire/ ştergere, crearea variabilelor sistem de mediu; lansează

procesele csrss.exe şi winlogon.exe;

� Subsistemul Win32 (Csrss.exe) –

� Procesul de logon (Winlogon.exe) – în caz de reuşită a autentificării, lansează shell-ul;

� Managerul controlului serviciilor (Services.exe) – împreună cu toţi copii descendenţi din

acesta, cum ar fi:

o Svchost.exe – generic service host image;

o Spoolsv.exe – spooler service;

o Regsvc.exe – remote registry service;

o Mstask.exe – task scheduler service;

� Local Security Authentification Server (Lsass.exe) – primeşte cererile de autentificare de la

Winlogon şi apelează pachetul de autentificare potrivit, implementat ca DLL; în caz de autentificare cu succes, generează un obiect de acces care conţine profilul de securitate al

utilizatorului;

Conf.dr.Carmen Timofte Sisteme de operare 14

(*)

- BOOTARE:

� Windows se lansează ca o aplicaţie pe 16 biţi (KRNL386.EXE), pentru a putea implementa

standardul Plug&Play.

� Configurarea tuturor echipamentelor are loc înaintea lansării interfeţei grafice.

� Apel shell

� Nucleul Kernel pe 16 biţi vede apelul pentru shell şi lansează aplicaţia VWIN32.386, care

încarcă bibliotecile DLL pe 32 de biţi care alcătuiesc WIN32 API

� După terminare, VWIN32.386 redă controlul kernel-ului pe 16 biţi, care apelează kernel-ul

pe 32 de biţi.

Procesele care pornesc in procesul

de boot-are:

� Procesele de deasupra linieipornesc tot timpul

� Procesele de sub liniesunt exemple de servicii care pot fipornite

Page 8: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

8

Conf.dr.Carmen Timofte Sisteme de operare 15

3.3. Comenzi

For more information on a specific command, type HELP command-name

ASSOC Displays or modifies file extension associations.

AT Schedules commands and programs to run on a computer.

ATTRIB Displays or changes file attributes.

BREAK Sets or clears extended CTRL+C checking.

CACLS Displays or modifies access control lists (ACLs) of files.

CALL Calls one batch program from another.

CD Displays the name of or changes the current directory.

CHCP Displays or sets the active code page number.

CHDIR Displays the name of or changes the current directory.

CHKDSK Checks a disk and displays a status report.

CHKNTFS Displays or modifies the checking of disk at boot time.

CLS Clears the screen.

CMD Starts a new instance of the Windows command interpreter.

COLOR Sets the default console foreground and background colors.

COMP Compares the contents of two files or sets of files.

COMPACT Displays or alters the compression of files on NTFS partitions.

CONVERT Converts FAT volumes to NTFS. You cannot convert the

current drive.

COPY Copies one or more files to another location.

DATE Displays or sets the date.

DEL Deletes one or more files.

DIR Displays a list of files and subdirectories in a directory.

C:\>help > fisC:\>comanda /?

Conf.dr.Carmen Timofte Sisteme de operare 16

(*)

MODE Configures a system device.

MORE Displays output one screen at a time.

MOVE Moves one or more files from one directory to another directory.

PATH Displays or sets a search path for executable files.

PAUSE Suspends processing of a batch file and displays a message.

POPD Restores the previous value of the current directory saved by PUSHD.

PRINT Prints a text file.

PROMPT Changes the Windows command prompt.

PUSHD Saves the current directory then changes it.

RD Removes a directory.

RECOVER Recovers readable information from a bad or defective disk.

REM Records comments (remarks) in batch files or CONFIG.SYS.

REN Renames a file or files.

RENAME Renames a file or files.

REPLACE Replaces files.

RMDIR Removes a directory.

SET Displays, sets, or removes Windows environment variables.

SETLOCAL Begins localization of environment changes in a batch file.

SHIFT Shifts the position of replaceable parameters in batch files.

SORT Sorts input.

START Starts a separate window to run a specified program or command.

SUBST Associates a path with a drive letter.

TIME Displays or sets the system time.

TITLE Sets the window title for a CMD.EXE session.

TREE Graphically displays the directory structure of a drive or path.

TYPE Displays the contents of a text file.

VER Displays the Windows version.

VERIFY Tells Windows whether to verify that your files are written

correctly to a disk.

VOL Displays a disk volume label and serial number.

XCOPY Copies files and directory trees.

DISKCOMP Compares the contents of two floppy disks.

DISKCOPY Copies the contents of one floppy disk to another.

DOSKEY Edits command lines, recalls Windows commands, and creates macros.

ECHO Displays messages, or turns command echoing on or off.

ENDLOCAL Ends localization of environment changes in a batch file.

ERASE Deletes one or more files.

EXIT Quits the CMD.EXE program (command interpreter).

FC Compares two files or sets of files, and displays the differences

between them.

FIND Searches for a text string in a file or files.

FINDSTR Searches for strings in files.

FOR Runs a specified command for each file in a set of files.

FORMAT Formats a disk for use with Windows.

FTYPE Displays or modifies file types used in file extension associations.

GOTO Directs the Windows command interpreter to a labeled line in a

batch program.

GRAFTABL Enables Windows to display an extended character set in graphics

mode.

HELP Provides Help information for Windows commands.

IF Performs conditional processing in batch programs.

LABEL Creates, changes, or deletes the volume label of a disk.

MD Creates a directory.

MKDIR Creates a directory.

Page 9: 3. SO Windows - ASE · 2018-01-25 · 3 Conf.dr.Carmen Timofte Sisteme de operare 5 3.2. Structura. Componente ♦ Module sistem pe nivele ♦ Modul protejat - HAL (hardware abstraction

9

Conf.dr.Carmen Timofte Sisteme de operare 17

(*)

Nr. DOS

UNIX

1. backup cpio

tar

2. cd cd

3. chdir cd

4. chkdsk fsck

5. command sh

6. comp diff

7. copy cp

dd

8. date date

9. debug xdb

10. del rm

11. dir ls

12. dickcopy dd

13. edlin ed

vi

14. erase rm

15. find grep

16. link ld

17. mkdir mkdir

18. mode stty

19. more pg

20. path PATH=

21. print pr

22. prompt PS1=,

PS2=

23. recover fsck

24. rename mv

25. restore cpio

tar

26. rmdir rmdir

27. set set

28. sort sort

29. time date

30. tree find

31. type cat

Conf.dr.Carmen Timofte Sisteme de operare 18

(*)

To ... DOS UNIX

display list of files dir/w dir ls

dir ls -l

display contents of file type cat

display file with pauses type filename | more more

copy file copy cp

find string in file find grep

fgrep

compare files comp diff

rename file rename OR ren mv

delete file erase OR del rm

delete directory rmdir OR rd rmdir

change file protection attrib chmod

create directory mkdir OR md mkdir

change working directory chdir OR cd cd

get help help man

apropos

display date and time date, time date

display free disk space chkdsk df

print file print lpr

display print queue print lpq

Vezi http://www.wilsonmar.com/1opsys.htm