3. so windows - ase · 2018-01-25 · 3 conf.dr.carmen timofte sisteme de operare 5 3.2. structura....
TRANSCRIPT
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)
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
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
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.
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)
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.
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
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.
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