26.09.2015 Views

SOFTWARE

Предавање 4

Предавање 4

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!