SOFTWARE
ÐÑедаваÑе 4
ÐÑедаваÑе 4
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>SOFTWARE</strong>
Osnovna podela softvera je na:<br />
SISTEMSKI - primenjuje se na sve<br />
programe koji na neki način mogu pomoći<br />
korisnicima određenog tipa računara da<br />
bolje koriste računar. Sistemski softver<br />
sadrži programe koji se odnose na<br />
organizaciju i upravljanje radom<br />
računarskog sistema i automatizaciju<br />
procesa razvoja i održavanja programa.<br />
Ovi programi se nazivaju i upravljački.<br />
• APLIKACIONI - za razliku od sistemskog<br />
sadrži programe namenjene za rešavanje<br />
problema korisnika.
PODELA SISTEMSKOG SOFTVERA:<br />
OPERATIVNI SISTEM<br />
PROGRAMSKI SISTEM<br />
KOMUNIKACIONI<br />
SOFTVER<br />
SISTEM ZA UPRAVLJANJE BAZAMA PODATAKA<br />
SOFTVER ZA RAČUNARSKU GRAFIKU<br />
PROGRAMI TEHNIČKE PODRŠKE (ponekad)
• OPERATIVNI SISTEM :<br />
• Operativni sistem predstavlja skup programa<br />
kojima se organizuje rad računara<br />
unara, efikasnije<br />
korišćenje<br />
svih resursa računara<br />
kao i upravljanje<br />
i izvršenje<br />
računarskih<br />
programa. . OS je deo<br />
sistemskog softvera koji je najbliži hardveru<br />
računara<br />
unara. . On predstavlja osnovnu pomoć u<br />
organizaciji rada računara<br />
i efikasnom korišćenju<br />
hardvera. Svi programi OS mogu se podeliti na tri<br />
relativno nezavisne celine:<br />
-upravljanje<br />
poslovima<br />
-upravljanje<br />
zadacima<br />
-upravljanje<br />
podacima
• Resursi računarskog sistema :<br />
• Jedna od najvažnijih funkcija OS jeste upravljanje resursima. Ona ima<br />
uticaj na strukturu skoro svih komponenti računarskog sistema.<br />
Računarski sistem poseduje pre svega sledeće resurse:<br />
• vreme centralnog procesora,<br />
• OM,<br />
• U/I uredjaji,<br />
• datoteke i softver<br />
Upravljanje resursima sastoji se u dodeljivanju tih resursa<br />
programima koji konkurišu za njhovo dobijanje. Ovde ulazi<br />
raspoređivanje zadataka, dodeljivanje OM, dodeljivanje U/I<br />
uredjaja, i upravljanje korišćenjem programskih resursa. Naime,<br />
potreba za upravljanjem javlja se zbog konkurencije za dodelu<br />
resursa.Programi konkurišu za dobijanje vremena CPU-a, za<br />
dobijanje dela OM, za korišćenje U/I uredjaja a i za dobijanje<br />
operativne i spoljnje memorije.<br />
• Kriterijum za ocenu kvaliteta upravljanja resursima je efikasnost korišćenja<br />
raspoloživih resursa, prioritet zadataka koji konkurišu, zahteva za<br />
vremenom reakcije kod rada u realnom vremenu, kao i logička<br />
usaglašenost rešenja.
• Funkcija operativnog sistema :<br />
Može se posmatrati sa dve tačke gledišta:<br />
a)Korisničke<br />
b)Administrativne<br />
• Kod korisnička funkcija OS je da olakša dobijanje rešenja<br />
problema pružajući mu razne usluge.<br />
• Sa administrativne tačke gledišta funkcija OS je da obezbedi<br />
efikasno korišćenje resursa računara.<br />
• Još jedna moguća tzv. hijerarhijska dekompenzacija OS je<br />
podela na sladeće delove koji predstavljaju slojeve OS:<br />
• -Jezgro<br />
• -Upravljanje memorijom<br />
• -Upravljanje U/I uredjajima<br />
• -Upravljanje podacima<br />
• -Planiranje poslova<br />
• -Evidencija i interpretacija komandnog jezika
• Jezgro OS obezbedjuje upravljanje sistemom prekida, planiranje zadataka z<br />
OS, manipulaciju sa zadacima i komunikaciju izmadju zadataka.<br />
• Upravljanje OM obavlja sledeće e funkcije: realizacija određene ene strategije<br />
dodeljivanja memorije, samo dodeljivanje memorije, realizacija određene o<br />
strategije oslobođenja memorije.<br />
• Na nivou upravljanja U/I realizuju se sledeće e funkcije: obezbeđenje<br />
nezavisnosti programa od tipa uređaja, , obezbeđivanje o<br />
efikasnosti uređaja,<br />
realizacija određene strategije dodeljivanja uređaja, , samododeljivanje<br />
s<br />
uređaja i realizacija strategije oslobađanja uredjaja.<br />
• Upravljanje podacima treba da obezbedi softverska sredstva za<br />
organizaciju i pristup podacima na način koji odgovara korisnicima<br />
računarskog sistema. Na ovom nivou se realizuju sledeće e funkcije:<br />
formiranje i brisanje osnovnih strktura podataka, čitanje i upis datoteka,<br />
upravljanje sekundarnim memoriskim prostorom, obezbeđenje eđenje uslova za<br />
simboličko obraćanje anje datotekama, zaštita podataka od namernog ili<br />
nenamernog uništenja itd.<br />
• Planiranje se sastoji u uvođenju novih poslova u sistem i određivanje<br />
poretka u kojem će e se oni izvršavati. Funkcije koje se realizuju u okviru<br />
planiranja su: izbor novog posla za izvršenje, dodeljivanje prioriteta<br />
poslovanja, realizacija strategije dodeljivanja resursa.<br />
• Komandni jezik omogućava uspostavljanje veze izmedju korisnika i<br />
sistema i korišćenje resursa računara. Ova veza se ostvaruje pomoću<br />
interpretatora komandnog jezika OS ili jezika za upravljanje poslovima.
• Upravljanje poslovima:<br />
planiranje poslova<br />
dodeljivanje resursa<br />
komunikacija sa operaterom<br />
interpretacija komandi<br />
upravljanje ulazom/izlazom<br />
vođenje sistemskog dnevnika
• Upravljanje zadacima:<br />
upravljanje prekidima<br />
upravljanje vremenom procesora<br />
upravljanje operativnom memorijom<br />
sinhronizacija i opsluživanje zadataka<br />
organizacija službe vremena<br />
upravljanje vanrednim događajima
• Upravljanj<br />
nje e podacima:<br />
upravljanje periferijama<br />
upravljanje datotekama<br />
upravljanje i dodeljivanje sekundarne memorije<br />
sinhronizacija i opsluživanje zadataka<br />
obrada U/I podataka
PROGRAMSKI SISTEM:<br />
Programski sistem sadrži programe koji služe za<br />
automatizaciju, pripreme i testiranje korisničkih<br />
problema. To su programski jezici, programski<br />
prevodioci (asembleri), interpretatori, editori,<br />
problemski podprogrami i uslužni programi.<br />
Osnovna podela programskog sistema je na:<br />
-Programske prevodioce i uslužne programe<br />
• Programske prevodioce delimo na: asemblere i<br />
mikroasemblere, kompilatore, interpretatore,<br />
predprocesore.<br />
• Uslužne programe delimo na: editore, povezivače,<br />
sredstva za testiranje i otklanjanje grešaka,<br />
pomoćne programe.
• Termin programski prevodioci označava ava jezičke procesore koji prihvataju<br />
programe pisane na nekom od programskih jezika. Kompilator je prevodioc<br />
čiji je ulazni jezik viši i programski jezik, a izlazni jezik neka posebna forma<br />
koji interpretira. Za razliku od asemblera kompilator i interpretator po<br />
pravilu za jednu programsku naredbu napisanu na višem programskom<br />
jeziku generišu više e instrukcija programskog jezika. Kompilator i<br />
interpretator se razlikuju po tome što kompilator prevodi na mašinski jezik<br />
čitav program i tek onda ga izvršava dok interpretator prevodi naredbu po<br />
naredbu i odmah ih izvršava. Predprocesor je program koji izvršava neku<br />
modifikaciju ulaznog programa, da bi je učinio u<br />
pogodnom za ulaz u<br />
kompilator.<br />
• Medju uslužnim programima izdvajamo editore. Priprema ( unošenje )<br />
programa obavlja se u posebnoj fazi razvoja programa koji se naziva<br />
editovanje, a deo sistemskog softvera koji realizuje tu fazu naziva se<br />
editor. Namenjen je za unos i modifikaciju tekstualnih podataka, na primer<br />
programa na nekom od viših ih programskih jezika, knjiga i drugih<br />
tekstualnih dokumenata. Rezultat editovanja je izvorni program. Zatim tu<br />
su i povezivači. i. Rezultat prevodjenja programa ne dobija se direktno u<br />
mašinskoj, već u formi koja se naziva objektni modul. Da bi se program<br />
mogao izvršiti iti na računaru neophodno je dovesti ga u izvršnu formu i<br />
smestiti u operativnu memoriju. Celokupan posao oko generisanja izvršne<br />
forme i njenog smeštanja u OM obavlja se u posebnoj fazi razvoja<br />
programa koja se naziva povezivanje ( linkovanje ). Ova faza sledi posle<br />
procesa prevođenja.<br />
enja.
KOMUNIKACIONI SOFTVER:<br />
On sadrži i programe čija je funkcija upravljanje<br />
komunikacijom računara sa udaljenim<br />
terminalima ili drugim računarima. Osnovne<br />
komponente su: komunikacioni monitor,<br />
rukovalac protokola, mrežni kontroler, podrška<br />
udaljenih terminala, konverzacioni monitor.<br />
Osnovni zadatak komunikacionog softvera je pre<br />
svega upravljanje funkcionisanjem i<br />
komunikacijom svih uređaja povezanih u mrežu, a<br />
posebno: upravljanje uzajamnim delovanjem<br />
procesa u mreži, upravljanje samom mrežom i<br />
mrežnim službama.
SISTEM ZA UPRAVLJANJE BAZAMA PODATAKA:<br />
Sistemski softver koji obezbeđuje rad sa bazama<br />
podataka naziva se sistem za upravljanje bazama podataka.<br />
Nastao je kao rezultat razvoja sistema za rad sa datotekama<br />
kao dela svakog OS koji je obezbeđivao skladištenje<br />
u<br />
datotekama kao spoljnim nosiocima i pristup zapisima<br />
datoteka. Sistem za upravljanje bazama podataka namenjen<br />
je za opis podataka u bazi, upravljanje i manipulaciju<br />
podacima.Ovaj sistem obezbedjuje: kreiranje i vodjenje<br />
baze podataka, centralizovano upravljanje podacima,<br />
smanjenje redundanse podataka, modućnost otklanjanja<br />
protivrečnosti, celovitost baze podataka i dr. On takođe<br />
sadrži i sredstva za definisanje šeme baze podataka i<br />
operacije koje se mogu koristiti za transformacije baze<br />
podataka. Za realizaciju pristupa bazi podataka formira se<br />
opis baze podataka. Kao minimum svaki sistem za<br />
upravljanje bazama podataka sadrži tri komponente:<br />
• -Jezik za opis podataka (DDL Data Definition Language )<br />
• -Jezik za rad sa podacima (DML- Data Manipulation<br />
Language )<br />
• -Specijalna programska sredstva
SOFTVER ZA RAČUNARSKU GRAFIKU:<br />
• Imajući i u vidu prirodu podataka, kao i njihovu količinu<br />
inu<br />
najveća a efikasnost u komuniciranju izmedju čoveka i<br />
računara postiže e se koriđčenjem slike ili crteža a kao nosioca<br />
informacije, odnosno korišćenjem računarske grafike. Ova<br />
efikasnost posebno dolazi do izražaja aja pri projektovanju<br />
računarom. Računarska grafika je deo sistemskog softvera<br />
koji služi i za crtanje slika i prikazivanje grafičkih podataka.<br />
Sadrži i metod za unos, obradu i prikaz grafičkih objekata<br />
pomoću u računara.Osnovne funkcije programa za<br />
računarsku grafiku su:<br />
• rad sa alfanumeričkim i grafičkim ekranima<br />
• -grafičke metode pristupa<br />
• -grafičko programiranje<br />
• -korišćenje ekrana kao konzole
POKRETANJE I OSNOVNA STRUKTURA<br />
DOS-a:<br />
• Do sada je bilo reči i o samoj proceduri<br />
startovanja računara i operativnog sistema<br />
koju korisnik treba da izvrši i na početku<br />
rada. Sada ćemo reći i nešto o strukturi<br />
DOS-a a i načinu na koji se on startuje. Ova<br />
procedura je inače e transparetna za<br />
korisnika.<br />
• DOS se satoji od četiri komponente. To su<br />
:<br />
- Startni zapis ( Boot record ),<br />
- ROM BIOS interfejs,<br />
- DOS programska datoteka,<br />
- Komandni procesor.
Startni zapis počinje na stazi 0, sektor 1,<br />
strana 0 svake diskete formatirane od<br />
strane DOS-a. Kod čvrstog diska, startni<br />
zapis počinje od prvog sektora DOS<br />
oblasti. Startni zapis sadrži i ime diska i<br />
BIOS parametar blok ( BPB ). BPB sadrži<br />
informacije o veličini ini adresara, broju<br />
sektora po stazi, veličin<br />
ini sektora, broju<br />
sektora po klasteru, broju skrivenih<br />
sektora i dr. Ove informacije upisuju se na<br />
disk prilikom formatiranja. DOS pri<br />
svakom pristupanju disku koristi ove<br />
podatke. Međutim, on ih očitava o<br />
samo<br />
kada je disketa u jedinici zamenjena<br />
drugom ili kada je sistem resetovan.<br />
Ukoliko je u pitanju sistemski disk , startni<br />
zapis sadrtži i adresu programa koga treba<br />
automatski učitati u<br />
u memoriju i startovati.
• Posle uključenja ili resetovanja računara<br />
počinje da se izvršava program koji se<br />
nalazi u ROM-u u računara. ROM ( Read Only<br />
Memory ) je poluprovodnička memorija<br />
kod koje je moguće e vršiti isključivo<br />
ivo čitanje<br />
i obično sadrži i sistemske programe a<br />
nedostupna je za korisnika. Program koji<br />
se nalazi u ROM-u u zove se BIOS ( Basic<br />
Input Outpu System ) i sadrži i rutine za<br />
samotestiranje računara i za opsluživanje<br />
postojećih hardverskih resursa računara.<br />
Operativni sistem isključivo ivo koristi BIOS<br />
za sve ulazne izlazne operacije. On to radi<br />
preko programa koji se zove IO.SYS koji<br />
predstavlja vezu između u DOS-a a i ROM<br />
BIOS-a a . IO.SYS učitava u<br />
DOS programsku<br />
datoteku i komandni procesor i predaje mu<br />
dalje upravljanje.
• DOS programska datoteka je operativni<br />
sistem u užem u<br />
smislu reči. Ona<br />
obezbeđuje vezu sa aplikacionim<br />
programima na visokom, mašinski<br />
nezavisnom nivou. Ova datoteka zove se<br />
MSDOS.SYS i zajedno sa IO.SYS se<br />
nalazi na sistemskom disku. MSDOS.SYS<br />
sadrži i rutine za upravljanje datotekama<br />
dok uređajima upravlja pozivajući i rutine iz<br />
IO.SYS. Aplikativni program, kada želi da<br />
izvrši i neku ulazno-izlaznu operaciju poziva<br />
rutinu DOS-a a predajući i mu odgovarajuće<br />
parametre. DOS aktivira odgovarajući<br />
upravljački program iz IO.SYS koji poziva<br />
hardverske rutine iz ROM BIOS-a, a<br />
rezultate preko IO.SYS i MSDOS.SYS vraća<br />
aplikativnom programu.
Komandni procesor COMMAND.COM je izvršni kontrolni<br />
program koji predstavlja vezu između u korisnika i<br />
operativnog sistema. COMMAND.COM interpretira komande<br />
i omogućava izvršenje programa. On se sastoji iz tri dela:<br />
1) Rezidentni deo - nalazi se u memoriji odmah iza<br />
MSDOS.SYS i njegove oblasti za podatke. Ovaj deo sadrži<br />
rutine za povratak iz aplikativnog programa, za obradu<br />
prekida u slučaju da se pritisnu tasteri ( Control ) - ( Break ) i<br />
za obradu kritičnih grešaka.<br />
2) Inicijalizacioni deo - nalazi se iza rezidentnog dela i<br />
ima kontrolu nad sistemom za vreme startovanja. Ovaj deo<br />
vrši i pripremu za izvršenje AUTOEXEC.BAT datoteke<br />
određuju segmente adrese RAM-a a od kojih će e programi iz<br />
datoteke biti napunjeni. Kada COMMAND.COM učita u<br />
prvi<br />
program on će e to uraditi preko inicijalizacionog dela, jer<br />
ovaj u daljem radu nije potreban.<br />
3) Tranzientni deo - puni se najvi{im adresama<br />
raspolo`ivog RAM-a.<br />
To je komandni procesor u u`em<br />
smislu jer u sebi sadr`i interpreter internih komandi.
OSNOVNI POJMOVI I KOMANDE D O S – a<br />
Program (aplikativni, korisnički, softver ) je niz naredbi napisanih u nekom od viših<br />
programskih jezika (Fortran, Cobol, Basic, Pascal, C itd) koje su smeštene u datoteci i<br />
koje kazuju računaru kako da izvrši neki zadatak.<br />
Datoteka (file) predstavlja kolekciju srodnih podataka koja ima svoje ime i<br />
nastavak - ekstenziju. Ekstenzija nam bliže govori o tome kakva je sadržina datoteke<br />
pa je tako ekstenzija TXT znak da je u njoj smešten neki tekstualni zapis, FOR (PAS,<br />
BAS) da je to program, EXE predstavlja izvršnu verziju programa, BAT i COM<br />
predstavljaju procedure, DOC je datoteka rađena u Wordu itd. U DOS-u ime datoteke<br />
može biti dugačko osam karaktera, dok ekstenzija uglavnom zauzima tri mesta.<br />
Adresar ili direktorijum (directory) predstavlja tabelu sadržaja diska, tj. imena<br />
datoteka, njihovu veličinu i datum poslednje modifikacije. Raspored podataka na<br />
disku je u vidu stabla direktorijuma pri čemu se adresar na vrhu hijerarhije naziva<br />
koreni adresar ili root direktorijum dok su ostali adresari podadresari ili<br />
subdirektorijumi.Pri prelasku sa adresara na adresar treba navesti ime puta koje može<br />
biti zadato eksplicitno ili implicitno. Eksplicitno ime puta sadrži sve direktorijume od<br />
tekućeg pa do ciljnog međusobno odvojenim znakom obrnute kose crte - kontra sleš,<br />
naprimer c:\aplsof\vezbe ) . Implicitno navođenje puta sastoji se u sledećoj konvenciji<br />
: dve tačke na putu .. označavaju “roditelja” u hijerarhijskom stablu, a znak kontra sleš<br />
označava koreni adresar.<br />
ROOT<br />
koreni direktorijum<br />
DOS WORD7 P_RACUNA USER<br />
NORTON COREL GRUPA1 DIR1 DIR2 DIR3<br />
GRUPA2
Windows 98<br />
Architecture
• Microsoft Windows 98 is a 32-bit operating system<br />
that provides built-in:<br />
Internet connectivity,<br />
Plug and Play hardware support,<br />
High performance, robustness, and backward<br />
compatibility with Windows 95.<br />
• Windows 98 enhancements to Windows 95 include<br />
More sophisticated power management,<br />
Multiple video display support, and integrated support<br />
for the latest hardware.<br />
Also included is support for the new Win32 Driver<br />
Model (WDM), allowing a WDM device to run under<br />
both Windows 98 and future versions of Windows NT<br />
using the same driver.<br />
• These features are supported by the components<br />
shown in Figure below:
Windows 98 components<br />
• A complete 32-bit kernel, including memory management, and<br />
preemptive multitasking and multithreading support.<br />
• A fully integrated 32-bit, protected-mode file system, which eliminates<br />
the need to rely on a separate copy of MS-DOS once the system boots<br />
up.<br />
• 32-bit installable file system drivers supporting FAT, FAT32, ISO 9660<br />
(CD-ROM), ISO 13346 (Universal Disk Format/Digital Video Disc<br />
[UDF/DVD]), network redirection, and high performance. These file<br />
system drivers also support the use of long file names and an open,<br />
modular architecture to handle future expansion.<br />
• WDM support, which allows a WDM-supported device to run under both<br />
Windows 98 and future versions of Windows NT using the same driver.<br />
• •Improved system-wide robustness and "cleanup" after an application or<br />
driver fails. This delivers a more stable and reliable operating<br />
environment.<br />
• A dynamic hardware and environment configuration, which reduces the<br />
need for users to adjust and restart their systems manually.
• Windows 98 Registry<br />
• The central information database for Windows 98 is<br />
called the registry. . It makes the operating system<br />
more adaptable by storing user-specific specific and<br />
configuration-specific information so you can share<br />
one computer among multiple users and have more<br />
than one configuration (such as in-the<br />
the-office and on-<br />
the-road configurations) for each computer.<br />
• A primary role of the registry in Windows 98 is to<br />
serve as a central repository for hardware-specific<br />
information for use by the hardware detection and<br />
Plug and Play system components. When a new<br />
device is installed, the system checks for an existing<br />
configuration in the registry. If none is found,<br />
Windows 98 then searches all available media for the<br />
driver that best matches the device.
• Improvement over INI Files<br />
• Earlier versions of Windows used initialization (INI) files to store<br />
system-specific specific or application-specific information on the state or<br />
configuration of the system. For example, the Win.ini file stored<br />
information about the appearance of the Windows environment,<br />
the System.ini file stored system-specific specific information on the<br />
hardware and device driver configuration of the system. The<br />
registry alleviates the issues of dealing with multiple INI files s by<br />
providing a single location for the computer's configuration<br />
information.<br />
• For backward compatibility, Windows 98 supports the<br />
Autoexec.bat, Config.sys, and INI files, because many Win16-<br />
based applications still use them. For example, Windows 98<br />
allows Win16-based applications to use INI files for their<br />
program settings, parameters, device drivers, and so on that the<br />
applications need to run. In addition, Windows 98 continues to<br />
scan the [386Enh] section of System.ini at startup to check for<br />
virtualization drivers to ensure that they are loaded.
Windows 98 provides improved support for hardware devices,<br />
including disk devices, display adapters, pointing devices,<br />
modems, , fax machines, and pinters.<br />
A virtualization driver (VxD) is a 32-bit, protected-mode driver that manages a system<br />
resource, such as a hardware device or installed software, so that more than one application<br />
can use the resource at the same time. VxD refers to a general virtualization driver; the x<br />
represents the type of device driver. For example, a virtualization driver for a display device<br />
is known as a VDD, a virtualization driver for a timer device is a VTD, a virtualization driver for<br />
a printer device is a VPD, and so forth.
Windows<br />
98 supports the Human Interface Device (HID) class,<br />
the standard for input devices, such as keyboards, mouse<br />
devices, joysticks, and game pads.
• The Virtual Machine Manager manages resources needed for<br />
each application and system process running on the computer.<br />
Virtual Machine Manager creates and maintains the virtual<br />
machine environments in which applications and system<br />
processes run: method known as cooperative multitasking
• Windows 98, like Windows NT, uses a demand - paged<br />
virtual memory system. This system is based on a flat,<br />
linear address space, accessed using 32-bit addresses.
• Figure below shows the file system architecture used<br />
by Windows 98.
• Configuration Manager works with a number of<br />
subcomponents to identify each bus and each device on the<br />
system and to identify the configuration settings for each<br />
device.
• Windows 98 includes a core composed of three<br />
components — User, Kernel, and Graphics Device<br />
Interface (GDI) — as shown in Figure below:
Arhitectura<br />
Windows-a 2000
User Mode Architecture<br />
System<br />
Process System<br />
Process<br />
Security<br />
Server<br />
Process Server<br />
Process<br />
Enterprise Environment<br />
Enterprise Service Subsystem<br />
Environment<br />
Service Subsystem<br />
Active Drectory<br />
Plug<br />
&<br />
Play<br />
NTDLL.DLL<br />
User Mode<br />
Kernel Mode<br />
Executive Services
Kernel Mode Architecture<br />
User Mode<br />
Kernel Mode<br />
NTDLL.DLL<br />
Executive Services<br />
I/O Manager<br />
Cache<br />
Manager<br />
Memory<br />
Manager<br />
Process<br />
Manager<br />
Plug &<br />
Play<br />
Security<br />
Monitor<br />
Window<br />
Manager<br />
Network<br />
File<br />
Systems<br />
Device Drivers<br />
Hardware<br />
Object<br />
Manager<br />
Kernel<br />
Hardware Abstraction Layer (HAL)<br />
Graphics<br />
Device<br />
Drivers
Vrlo slično<br />
no-Arhitektura WIN NT
Windows 2000 Kernel<br />
• Obezbeđuje procesorsku<br />
sku arhitektur<br />
turu<br />
• Obezbeđuje:<br />
• Vremensko planiranje-Scheduling<br />
i<br />
povezivanje sklopova<br />
• Niski nivo MP sinhronizas<br />
nhronizacije<br />
• Manipulisanje izuzecima i prekidima-<br />
Exception and interrupt handling<br />
• Implementira procedure za obnavljanje<br />
sistema posle geške u napajanju-<br />
Implements system recovery procedures<br />
after a power failure<br />
• Upravlja:<br />
• Raspoređuje i kontroliše e objekte-<br />
Dispatcher and Control Objects
Hardware Abstraction Layer<br />
• Sistemska podrška<br />
specifičnim<br />
I/O zahtevima<br />
• Sistemskiski bus<br />
• DMA Controler<br />
• Kontroler prekida-Interrupt<br />
Controler<br />
• Sistemsko sko vreme<br />
• Kontrola keša<br />
• Sistem-specifična<br />
SMP podrška
Prioriteti<br />
ti vremenskog<br />
planiranja<br />
• Jezgro koristi šemu prioriteta<br />
da<br />
determiniše e redosled izvršavanja<br />
toka operacija i zahteva<br />
• Jezgro prekida izvršenje ako je<br />
dobilo zahtev višeg prioriteta na<br />
izvršenje<br />
• Dispečer<br />
er baze podataka održava<br />
razmak u zahtevima čekajući i da<br />
se izvrši šema prioriteta
Memory Management:<br />
Protecting memory<br />
• Posebna memorijska mesta za<br />
svaki proces<br />
• Kernel/User mod<br />
• Zaštitni mehanizam baziran na<br />
stranama-Page<br />
based protection<br />
mechanism<br />
• Zaštita<br />
memorije<br />
objektnog tipa
Windows 2000 Memory Model<br />
App 1<br />
2 GB GB<br />
Program Program<br />
Address Address<br />
Space Space<br />
App 2<br />
2 GB GB<br />
Program Program<br />
Address Address<br />
Space Space<br />
1 2<br />
Virtual<br />
Virtual<br />
Memory<br />
Manager<br />
3<br />
Demand<br />
Paging<br />
RAM<br />
App App 1<br />
App App 1<br />
App App 2<br />
App App 1<br />
App App 2<br />
System<br />
Pages<br />
4<br />
Disk<br />
Pagefile.sys<br />
Virtual<br />
Memory
VDM: Karakteristike<br />
• VirtualDosMashine<br />
je Win32 aplikcija<br />
koja omogućuje uje kompletno virtualno<br />
pokretanje DOS-a<br />
• Ona dopušta<br />
DOS aplikaciji<br />
zadavanje mašinskih instrukcija, da<br />
pozove BIOS i organizuje interapte<br />
• Svaki VDM proces se pokreće e u<br />
posebnom konzolnom prozoru
Introduction to the<br />
Windows XP<br />
Architecture<br />
WIN133
What's New in Windows XP<br />
What's New in Windows:<br />
• New user interface<br />
• Improved tools for managing multimedia files<br />
• New system utilities, such as Remote Assistance<br />
• New multimedia programs, including Windows Media Player 8.0 and<br />
Windows Movie Maker<br />
• New Internet tools, such as Internet Explorer 6 and Windows<br />
Messenger<br />
• Improved multiuser support and Fast User Switching<br />
• Built-in in Internet Connection Firewall<br />
• Improved home networking tools like the Network Setup wizard<br />
• Windows XP Professional only:<br />
• Multiprocessor support<br />
• Mobile and remote desktop features<br />
• Support for off-line files and folders<br />
• Administrative features, such as group policy administration, roaming<br />
user profiles, and remote software installation<br />
• Encrypting file system
Architecture – Layers<br />
• Windows XP is built in Layers…<br />
• User mode – layer closest to the person<br />
• Applications that you run (Word,<br />
Netscape)<br />
• Support programs for applications - the<br />
Windows XP Subsystems<br />
• Kernel mode – layer closest to hardware<br />
• Programs that help software running on<br />
our system use the computer’s s hardware<br />
• Device drivers (software interfaces to<br />
hardware)
Architecture diagram<br />
Win 32-bit<br />
App<br />
Win 32-bit<br />
App<br />
Win 32-bit<br />
App<br />
Win 32-bit<br />
App<br />
Win32<br />
Subsytem<br />
(Win32 API)<br />
User Mode<br />
Executive Services<br />
Kernel Mode<br />
I/O<br />
Manager<br />
Security<br />
Reference<br />
Monitor<br />
IPC<br />
Manager<br />
Virtual<br />
Memory<br />
Manager<br />
Process<br />
Manager<br />
Plug and<br />
Play<br />
Manager<br />
Power<br />
Manager<br />
Window<br />
Manager<br />
and GDI<br />
File<br />
Systems<br />
Device Drivers<br />
Object Manager<br />
Microkernel<br />
Graphics<br />
Device<br />
Drivers<br />
Hardware Abstraction Layer (HAL)<br />
Computer Hardware
Layers (con(<br />
con’t)<br />
• It all begins with your hardware<br />
• Windows XP was designed to work on almost any type<br />
of hardware.<br />
• Instead of writing a different version of XP for every<br />
hardware platform, MS created HAL<br />
• The Hardware Abstraction Layer is a piece of<br />
software that sits between XP and your hardware.<br />
• XP doesn’t t actually know anything about your<br />
hardware. It leaves that up to HAL.<br />
• Whenever XP needs to do something with your<br />
hardware it asks HAL how to do it.
Layers (con(<br />
con’t)<br />
• On top of HAL sits the XP Kernel<br />
• Kernel mode programs are “Trusted” programs that<br />
get to do privileged activities with the computer’s<br />
hardware (CPU, RAM, etc.)<br />
• Components provided (mostly) by MS<br />
• Manufacturers of hardware devices also provide<br />
device driver software<br />
• This software must pass a rigorous test
Microkernel<br />
• At the heart of the kernel is the Microkernel<br />
• The Microkernel is very small<br />
• On its own it can’t t do much<br />
• But it is important because it provides<br />
building-blocks blocks for all the Executive<br />
Services running in the Kernel
Windows XP Executive<br />
Services<br />
• Provides services for<br />
applications (e.g., draws the<br />
GUI on the screen, checks<br />
security rights, performs disk<br />
I/O)<br />
• Relies on the Microkernel to do<br />
everything<br />
• Together, the Microkernel and<br />
Executive Services make-up the<br />
Windows XP Kernel<br />
Executive<br />
Microkernel<br />
Services
Layers (con(<br />
con’t)<br />
• User mode<br />
• Environment subsystem components are<br />
provided by Microsoft. These<br />
subsystems…<br />
• Allow users to run their applications<br />
• Provide important services to all<br />
applications, including client, server,<br />
and security services<br />
• Applications<br />
• Browser, e-mail e<br />
client, word processor,<br />
etc.
Architecture – implications<br />
• Windows XP’s s architecture is the key to its:<br />
• Reliability<br />
• Scalability (Professional, Server, Advanced<br />
Server, Datacenter Server)<br />
• Security<br />
• Portable (runs on Intel AND other<br />
platforms)<br />
• Windows Me, 9x, and 3.x do not have this type<br />
of architecture
API<br />
• Application Programming Interface<br />
• A set of pre-made programming<br />
functionality and tools for building<br />
software applications.<br />
• APIs make it easier to develop<br />
programs by providing all the building<br />
blocks a programmer needs to create<br />
complex programs.
Example<br />
API:<br />
English vs.<br />
subject<br />
verb<br />
object<br />
Novel<br />
XP<br />
A B C D E<br />
F G H I J<br />
K L M N O<br />
P Q R S T<br />
U V W X Y<br />
Z<br />
Alphabet<br />
All words<br />
must have<br />
one vowel<br />
Rules for<br />
Making Words<br />
apple apple<br />
apple<br />
Cat Cat<br />
Cat<br />
woman woman<br />
woman<br />
is is<br />
is<br />
Words<br />
Capitalization<br />
punctuation<br />
rules<br />
Grammar<br />
Newspaper<br />
Web<br />
Page<br />
Writing<br />
Microkernel<br />
Native API<br />
(Low-level<br />
API)<br />
Executive<br />
Services<br />
Win32 API<br />
(High-level API)<br />
32-bit<br />
Windows<br />
Applications
API (con(<br />
con’t)<br />
• Windows XP comes with 2 main APIs:<br />
• Win32 API which allows programmers to build 32-<br />
bit Windows programs in User Mode.<br />
• Native API which helps programs and services in<br />
User Mode do things in the kernel. Programmer’s<br />
don’t t use this much, but the Win32 API does.<br />
• Because all programmers use these APIs, users get<br />
programs that look and feel like each other.<br />
• The Windows APIs are stored in libraries
Libraries<br />
• We’ve all been to a library, but what is a library in<br />
programming?<br />
• A collection of precompiled routines or<br />
functions that a program can use.<br />
• We put commonly used routines in a library so<br />
we don’t t have to re-write them<br />
• Example: sorting a list of numbers<br />
• Windows uses a special kind of library called<br />
Dynamic Link Libraries
Dynamic Link Libraries<br />
(DLL)<br />
• A DLL is: A library of executable functions or data that<br />
can be used by a Windows application. Example:<br />
user32.dll, kernel32.dll<br />
• DLLs provide one or more functions that a Windows<br />
program accesses by creating a link to the DLL.<br />
• The word “Dynamic” means that the link is created<br />
whenever the function or data is needed (i.e., while<br />
the program is running) instead of being linked at<br />
compile time<br />
• DLLs can also contain just data--<br />
--icons (e.g.,<br />
shell32.dll), fonts, text, etc.<br />
• A DLL’s s extension is usually .dll.<br />
dll, , but may be .sys, .fon.<br />
fon,<br />
.drv,, etc.
DLL (con(<br />
con’t)<br />
• DLLs can be used by several applications at once.<br />
Instead of writing the same functionality multiple times,<br />
common code is put into DLLs<br />
• Example: CreateWindow( ( ) function in user32.dll<br />
• Some DLLs are provided with Windows XP and are<br />
available for any Windows application.<br />
• There are about 2,000 DLLs under the \windows directory<br />
alone.<br />
• Most OS system DLLs are placed in \windows\system32system32<br />
• Other DLLs are written for a particular application and<br />
are installed with the application (this is why we need to<br />
install!)<br />
• Spellchecker in MS Office is the same for Word, Excel,<br />
Power Point, etc. The DLL that contains this functionality<br />
is msp232.dll.