SOFTWARE

vtsnis.edu.rs

Предавање 4

SOFTWARE


Osnovna podela softvera je na:

SISTEMSKI - primenjuje se na sve

programe koji na neki način mogu pomoći

korisnicima određenog tipa računara da

bolje koriste računar. Sistemski softver

sadrži programe koji se odnose na

organizaciju i upravljanje radom

računarskog sistema i automatizaciju

procesa razvoja i održavanja programa.

Ovi programi se nazivaju i upravljački.

• APLIKACIONI - za razliku od sistemskog

sadrži programe namenjene za rešavanje

problema korisnika.


PODELA SISTEMSKOG SOFTVERA:

OPERATIVNI SISTEM

PROGRAMSKI SISTEM

KOMUNIKACIONI

SOFTVER

SISTEM ZA UPRAVLJANJE BAZAMA PODATAKA

SOFTVER ZA RAČUNARSKU GRAFIKU

PROGRAMI TEHNIČKE PODRŠKE (ponekad)


• OPERATIVNI SISTEM :

• Operativni sistem predstavlja skup programa

kojima se organizuje rad računara

unara, efikasnije

korišćenje

svih resursa računara

kao i upravljanje

i izvršenje

računarskih

programa. . OS je deo

sistemskog softvera koji je najbliži hardveru

računara

unara. . On predstavlja osnovnu pomoć u

organizaciji rada računara

i efikasnom korišćenju

hardvera. Svi programi OS mogu se podeliti na tri

relativno nezavisne celine:

-upravljanje

poslovima

-upravljanje

zadacima

-upravljanje

podacima


• Resursi računarskog sistema :

• Jedna od najvažnijih funkcija OS jeste upravljanje resursima. Ona ima

uticaj na strukturu skoro svih komponenti računarskog sistema.

Računarski sistem poseduje pre svega sledeće resurse:

• vreme centralnog procesora,

• OM,

• U/I uredjaji,

• datoteke i softver

Upravljanje resursima sastoji se u dodeljivanju tih resursa

programima koji konkurišu za njhovo dobijanje. Ovde ulazi

raspoređivanje zadataka, dodeljivanje OM, dodeljivanje U/I

uredjaja, i upravljanje korišćenjem programskih resursa. Naime,

potreba za upravljanjem javlja se zbog konkurencije za dodelu

resursa.Programi konkurišu za dobijanje vremena CPU-a, za

dobijanje dela OM, za korišćenje U/I uredjaja a i za dobijanje

operativne i spoljnje memorije.

• Kriterijum za ocenu kvaliteta upravljanja resursima je efikasnost korišćenja

raspoloživih resursa, prioritet zadataka koji konkurišu, zahteva za

vremenom reakcije kod rada u realnom vremenu, kao i logička

usaglašenost rešenja.


• Funkcija operativnog sistema :

Može se posmatrati sa dve tačke gledišta:

a)Korisničke

b)Administrativne

• Kod korisnička funkcija OS je da olakša dobijanje rešenja

problema pružajući mu razne usluge.

• Sa administrativne tačke gledišta funkcija OS je da obezbedi

efikasno korišćenje resursa računara.

• Još jedna moguća tzv. hijerarhijska dekompenzacija OS je

podela na sladeće delove koji predstavljaju slojeve OS:

• -Jezgro

• -Upravljanje memorijom

• -Upravljanje U/I uredjajima

• -Upravljanje podacima

• -Planiranje poslova

• -Evidencija i interpretacija komandnog jezika


• Jezgro OS obezbedjuje upravljanje sistemom prekida, planiranje zadataka z

OS, manipulaciju sa zadacima i komunikaciju izmadju zadataka.

• Upravljanje OM obavlja sledeće e funkcije: realizacija određene ene strategije

dodeljivanja memorije, samo dodeljivanje memorije, realizacija određene o

strategije oslobođenja memorije.

• Na nivou upravljanja U/I realizuju se sledeće e funkcije: obezbeđenje

nezavisnosti programa od tipa uređaja, , obezbeđivanje o

efikasnosti uređaja,

realizacija određene strategije dodeljivanja uređaja, , samododeljivanje

s

uređaja i realizacija strategije oslobađanja uredjaja.

• Upravljanje podacima treba da obezbedi softverska sredstva za

organizaciju i pristup podacima na način koji odgovara korisnicima

računarskog sistema. Na ovom nivou se realizuju sledeće e funkcije:

formiranje i brisanje osnovnih strktura podataka, čitanje i upis datoteka,

upravljanje sekundarnim memoriskim prostorom, obezbeđenje eđenje uslova za

simboličko obraćanje anje datotekama, zaštita podataka od namernog ili

nenamernog uništenja itd.

• Planiranje se sastoji u uvođenju novih poslova u sistem i određivanje

poretka u kojem će e se oni izvršavati. Funkcije koje se realizuju u okviru

planiranja su: izbor novog posla za izvršenje, dodeljivanje prioriteta

poslovanja, realizacija strategije dodeljivanja resursa.

• Komandni jezik omogućava uspostavljanje veze izmedju korisnika i

sistema i korišćenje resursa računara. Ova veza se ostvaruje pomoću

interpretatora komandnog jezika OS ili jezika za upravljanje poslovima.


• Upravljanje poslovima:

planiranje poslova

dodeljivanje resursa

komunikacija sa operaterom

interpretacija komandi

upravljanje ulazom/izlazom

vođenje sistemskog dnevnika


• Upravljanje zadacima:

upravljanje prekidima

upravljanje vremenom procesora

upravljanje operativnom memorijom

sinhronizacija i opsluživanje zadataka

organizacija službe vremena

upravljanje vanrednim događajima


• Upravljanj

nje e podacima:

upravljanje periferijama

upravljanje datotekama

upravljanje i dodeljivanje sekundarne memorije

sinhronizacija i opsluživanje zadataka

obrada U/I podataka


PROGRAMSKI SISTEM:

Programski sistem sadrži programe koji služe za

automatizaciju, pripreme i testiranje korisničkih

problema. To su programski jezici, programski

prevodioci (asembleri), interpretatori, editori,

problemski podprogrami i uslužni programi.

Osnovna podela programskog sistema je na:

-Programske prevodioce i uslužne programe

• Programske prevodioce delimo na: asemblere i

mikroasemblere, kompilatore, interpretatore,

predprocesore.

• Uslužne programe delimo na: editore, povezivače,

sredstva za testiranje i otklanjanje grešaka,

pomoćne programe.


• Termin programski prevodioci označava ava jezičke procesore koji prihvataju

programe pisane na nekom od programskih jezika. Kompilator je prevodioc

čiji je ulazni jezik viši i programski jezik, a izlazni jezik neka posebna forma

koji interpretira. Za razliku od asemblera kompilator i interpretator po

pravilu za jednu programsku naredbu napisanu na višem programskom

jeziku generišu više e instrukcija programskog jezika. Kompilator i

interpretator se razlikuju po tome što kompilator prevodi na mašinski jezik

čitav program i tek onda ga izvršava dok interpretator prevodi naredbu po

naredbu i odmah ih izvršava. Predprocesor je program koji izvršava neku

modifikaciju ulaznog programa, da bi je učinio u

pogodnom za ulaz u

kompilator.

• Medju uslužnim programima izdvajamo editore. Priprema ( unošenje )

programa obavlja se u posebnoj fazi razvoja programa koji se naziva

editovanje, a deo sistemskog softvera koji realizuje tu fazu naziva se

editor. Namenjen je za unos i modifikaciju tekstualnih podataka, na primer

programa na nekom od viših ih programskih jezika, knjiga i drugih

tekstualnih dokumenata. Rezultat editovanja je izvorni program. Zatim tu

su i povezivači. i. Rezultat prevodjenja programa ne dobija se direktno u

mašinskoj, već u formi koja se naziva objektni modul. Da bi se program

mogao izvršiti iti na računaru neophodno je dovesti ga u izvršnu formu i

smestiti u operativnu memoriju. Celokupan posao oko generisanja izvršne

forme i njenog smeštanja u OM obavlja se u posebnoj fazi razvoja

programa koja se naziva povezivanje ( linkovanje ). Ova faza sledi posle

procesa prevođenja.

enja.


KOMUNIKACIONI SOFTVER:

On sadrži i programe čija je funkcija upravljanje

komunikacijom računara sa udaljenim

terminalima ili drugim računarima. Osnovne

komponente su: komunikacioni monitor,

rukovalac protokola, mrežni kontroler, podrška

udaljenih terminala, konverzacioni monitor.

Osnovni zadatak komunikacionog softvera je pre

svega upravljanje funkcionisanjem i

komunikacijom svih uređaja povezanih u mrežu, a

posebno: upravljanje uzajamnim delovanjem

procesa u mreži, upravljanje samom mrežom i

mrežnim službama.


SISTEM ZA UPRAVLJANJE BAZAMA PODATAKA:

Sistemski softver koji obezbeđuje rad sa bazama

podataka naziva se sistem za upravljanje bazama podataka.

Nastao je kao rezultat razvoja sistema za rad sa datotekama

kao dela svakog OS koji je obezbeđivao skladištenje

u

datotekama kao spoljnim nosiocima i pristup zapisima

datoteka. Sistem za upravljanje bazama podataka namenjen

je za opis podataka u bazi, upravljanje i manipulaciju

podacima.Ovaj sistem obezbedjuje: kreiranje i vodjenje

baze podataka, centralizovano upravljanje podacima,

smanjenje redundanse podataka, modućnost otklanjanja

protivrečnosti, celovitost baze podataka i dr. On takođe

sadrži i sredstva za definisanje šeme baze podataka i

operacije koje se mogu koristiti za transformacije baze

podataka. Za realizaciju pristupa bazi podataka formira se

opis baze podataka. Kao minimum svaki sistem za

upravljanje bazama podataka sadrži tri komponente:

• -Jezik za opis podataka (DDL Data Definition Language )

• -Jezik za rad sa podacima (DML- Data Manipulation

Language )

• -Specijalna programska sredstva


SOFTVER ZA RAČUNARSKU GRAFIKU:

• Imajući i u vidu prirodu podataka, kao i njihovu količinu

inu

najveća a efikasnost u komuniciranju izmedju čoveka i

računara postiže e se koriđčenjem slike ili crteža a kao nosioca

informacije, odnosno korišćenjem računarske grafike. Ova

efikasnost posebno dolazi do izražaja aja pri projektovanju

računarom. Računarska grafika je deo sistemskog softvera

koji služi i za crtanje slika i prikazivanje grafičkih podataka.

Sadrži i metod za unos, obradu i prikaz grafičkih objekata

pomoću u računara.Osnovne funkcije programa za

računarsku grafiku su:

• rad sa alfanumeričkim i grafičkim ekranima

• -grafičke metode pristupa

• -grafičko programiranje

• -korišćenje ekrana kao konzole


POKRETANJE I OSNOVNA STRUKTURA

DOS-a:

• Do sada je bilo reči i o samoj proceduri

startovanja računara i operativnog sistema

koju korisnik treba da izvrši i na početku

rada. Sada ćemo reći i nešto o strukturi

DOS-a a i načinu na koji se on startuje. Ova

procedura je inače e transparetna za

korisnika.

• DOS se satoji od četiri komponente. To su

:

- Startni zapis ( Boot record ),

- ROM BIOS interfejs,

- DOS programska datoteka,

- Komandni procesor.


Startni zapis počinje na stazi 0, sektor 1,

strana 0 svake diskete formatirane od

strane DOS-a. Kod čvrstog diska, startni

zapis počinje od prvog sektora DOS

oblasti. Startni zapis sadrži i ime diska i

BIOS parametar blok ( BPB ). BPB sadrži

informacije o veličini ini adresara, broju

sektora po stazi, veličin

ini sektora, broju

sektora po klasteru, broju skrivenih

sektora i dr. Ove informacije upisuju se na

disk prilikom formatiranja. DOS pri

svakom pristupanju disku koristi ove

podatke. Međutim, on ih očitava o

samo

kada je disketa u jedinici zamenjena

drugom ili kada je sistem resetovan.

Ukoliko je u pitanju sistemski disk , startni

zapis sadrtži i adresu programa koga treba

automatski učitati u

u memoriju i startovati.


• Posle uključenja ili resetovanja računara

počinje da se izvršava program koji se

nalazi u ROM-u u računara. ROM ( Read Only

Memory ) je poluprovodnička memorija

kod koje je moguće e vršiti isključivo

ivo čitanje

i obično sadrži i sistemske programe a

nedostupna je za korisnika. Program koji

se nalazi u ROM-u u zove se BIOS ( Basic

Input Outpu System ) i sadrži i rutine za

samotestiranje računara i za opsluživanje

postojećih hardverskih resursa računara.

Operativni sistem isključivo ivo koristi BIOS

za sve ulazne izlazne operacije. On to radi

preko programa koji se zove IO.SYS koji

predstavlja vezu između u DOS-a a i ROM

BIOS-a a . IO.SYS učitava u

DOS programsku

datoteku i komandni procesor i predaje mu

dalje upravljanje.


• DOS programska datoteka je operativni

sistem u užem u

smislu reči. Ona

obezbeđuje vezu sa aplikacionim

programima na visokom, mašinski

nezavisnom nivou. Ova datoteka zove se

MSDOS.SYS i zajedno sa IO.SYS se

nalazi na sistemskom disku. MSDOS.SYS

sadrži i rutine za upravljanje datotekama

dok uređajima upravlja pozivajući i rutine iz

IO.SYS. Aplikativni program, kada želi da

izvrši i neku ulazno-izlaznu operaciju poziva

rutinu DOS-a a predajući i mu odgovarajuće

parametre. DOS aktivira odgovarajući

upravljački program iz IO.SYS koji poziva

hardverske rutine iz ROM BIOS-a, a

rezultate preko IO.SYS i MSDOS.SYS vraća

aplikativnom programu.


Komandni procesor COMMAND.COM je izvršni kontrolni

program koji predstavlja vezu između u korisnika i

operativnog sistema. COMMAND.COM interpretira komande

i omogućava izvršenje programa. On se sastoji iz tri dela:

1) Rezidentni deo - nalazi se u memoriji odmah iza

MSDOS.SYS i njegove oblasti za podatke. Ovaj deo sadrži

rutine za povratak iz aplikativnog programa, za obradu

prekida u slučaju da se pritisnu tasteri ( Control ) - ( Break ) i

za obradu kritičnih grešaka.

2) Inicijalizacioni deo - nalazi se iza rezidentnog dela i

ima kontrolu nad sistemom za vreme startovanja. Ovaj deo

vrši i pripremu za izvršenje AUTOEXEC.BAT datoteke

određuju segmente adrese RAM-a a od kojih će e programi iz

datoteke biti napunjeni. Kada COMMAND.COM učita u

prvi

program on će e to uraditi preko inicijalizacionog dela, jer

ovaj u daljem radu nije potreban.

3) Tranzientni deo - puni se najvi{im adresama

raspolo`ivog RAM-a.

To je komandni procesor u u`em

smislu jer u sebi sadr`i interpreter internih komandi.


OSNOVNI POJMOVI I KOMANDE D O S – a

Program (aplikativni, korisnički, softver ) je niz naredbi napisanih u nekom od viših

programskih jezika (Fortran, Cobol, Basic, Pascal, C itd) koje su smeštene u datoteci i

koje kazuju računaru kako da izvrši neki zadatak.

Datoteka (file) predstavlja kolekciju srodnih podataka koja ima svoje ime i

nastavak - ekstenziju. Ekstenzija nam bliže govori o tome kakva je sadržina datoteke

pa je tako ekstenzija TXT znak da je u njoj smešten neki tekstualni zapis, FOR (PAS,

BAS) da je to program, EXE predstavlja izvršnu verziju programa, BAT i COM

predstavljaju procedure, DOC je datoteka rađena u Wordu itd. U DOS-u ime datoteke

može biti dugačko osam karaktera, dok ekstenzija uglavnom zauzima tri mesta.

Adresar ili direktorijum (directory) predstavlja tabelu sadržaja diska, tj. imena

datoteka, njihovu veličinu i datum poslednje modifikacije. Raspored podataka na

disku je u vidu stabla direktorijuma pri čemu se adresar na vrhu hijerarhije naziva

koreni adresar ili root direktorijum dok su ostali adresari podadresari ili

subdirektorijumi.Pri prelasku sa adresara na adresar treba navesti ime puta koje može

biti zadato eksplicitno ili implicitno. Eksplicitno ime puta sadrži sve direktorijume od

tekućeg pa do ciljnog međusobno odvojenim znakom obrnute kose crte - kontra sleš,

naprimer c:\aplsof\vezbe ) . Implicitno navođenje puta sastoji se u sledećoj konvenciji

: dve tačke na putu .. označavaju “roditelja” u hijerarhijskom stablu, a znak kontra sleš

označava koreni adresar.

ROOT

koreni direktorijum

DOS WORD7 P_RACUNA USER

NORTON COREL GRUPA1 DIR1 DIR2 DIR3

GRUPA2


Windows 98

Architecture


• Microsoft Windows 98 is a 32-bit operating system

that provides built-in:

Internet connectivity,

Plug and Play hardware support,

High performance, robustness, and backward

compatibility with Windows 95.

• Windows 98 enhancements to Windows 95 include

More sophisticated power management,

Multiple video display support, and integrated support

for the latest hardware.

Also included is support for the new Win32 Driver

Model (WDM), allowing a WDM device to run under

both Windows 98 and future versions of Windows NT

using the same driver.

• These features are supported by the components

shown in Figure below:


Windows 98 components

• A complete 32-bit kernel, including memory management, and

preemptive multitasking and multithreading support.

• A fully integrated 32-bit, protected-mode file system, which eliminates

the need to rely on a separate copy of MS-DOS once the system boots

up.

• 32-bit installable file system drivers supporting FAT, FAT32, ISO 9660

(CD-ROM), ISO 13346 (Universal Disk Format/Digital Video Disc

[UDF/DVD]), network redirection, and high performance. These file

system drivers also support the use of long file names and an open,

modular architecture to handle future expansion.

• WDM support, which allows a WDM-supported device to run under both

Windows 98 and future versions of Windows NT using the same driver.

• •Improved system-wide robustness and "cleanup" after an application or

driver fails. This delivers a more stable and reliable operating

environment.

• A dynamic hardware and environment configuration, which reduces the

need for users to adjust and restart their systems manually.


• Windows 98 Registry

• The central information database for Windows 98 is

called the registry. . It makes the operating system

more adaptable by storing user-specific specific and

configuration-specific information so you can share

one computer among multiple users and have more

than one configuration (such as in-the

the-office and on-

the-road configurations) for each computer.

• A primary role of the registry in Windows 98 is to

serve as a central repository for hardware-specific

information for use by the hardware detection and

Plug and Play system components. When a new

device is installed, the system checks for an existing

configuration in the registry. If none is found,

Windows 98 then searches all available media for the

driver that best matches the device.


• Improvement over INI Files

• Earlier versions of Windows used initialization (INI) files to store

system-specific specific or application-specific information on the state or

configuration of the system. For example, the Win.ini file stored

information about the appearance of the Windows environment,

the System.ini file stored system-specific specific information on the

hardware and device driver configuration of the system. The

registry alleviates the issues of dealing with multiple INI files s by

providing a single location for the computer's configuration

information.

• For backward compatibility, Windows 98 supports the

Autoexec.bat, Config.sys, and INI files, because many Win16-

based applications still use them. For example, Windows 98

allows Win16-based applications to use INI files for their

program settings, parameters, device drivers, and so on that the

applications need to run. In addition, Windows 98 continues to

scan the [386Enh] section of System.ini at startup to check for

virtualization drivers to ensure that they are loaded.


Windows 98 provides improved support for hardware devices,

including disk devices, display adapters, pointing devices,

modems, , fax machines, and pinters.

A virtualization driver (VxD) is a 32-bit, protected-mode driver that manages a system

resource, such as a hardware device or installed software, so that more than one application

can use the resource at the same time. VxD refers to a general virtualization driver; the x

represents the type of device driver. For example, a virtualization driver for a display device

is known as a VDD, a virtualization driver for a timer device is a VTD, a virtualization driver for

a printer device is a VPD, and so forth.


Windows

98 supports the Human Interface Device (HID) class,

the standard for input devices, such as keyboards, mouse

devices, joysticks, and game pads.


• The Virtual Machine Manager manages resources needed for

each application and system process running on the computer.

Virtual Machine Manager creates and maintains the virtual

machine environments in which applications and system

processes run: method known as cooperative multitasking


• Windows 98, like Windows NT, uses a demand - paged

virtual memory system. This system is based on a flat,

linear address space, accessed using 32-bit addresses.


• Figure below shows the file system architecture used

by Windows 98.


• Configuration Manager works with a number of

subcomponents to identify each bus and each device on the

system and to identify the configuration settings for each

device.


• Windows 98 includes a core composed of three

components — User, Kernel, and Graphics Device

Interface (GDI) — as shown in Figure below:


Arhitectura

Windows-a 2000


User Mode Architecture

System

Process System

Process

Security

Server

Process Server

Process

Enterprise Environment

Enterprise Service Subsystem

Environment

Service Subsystem

Active Drectory

Plug

&

Play

NTDLL.DLL

User Mode

Kernel Mode

Executive Services


Kernel Mode Architecture

User Mode

Kernel Mode

NTDLL.DLL

Executive Services

I/O Manager

Cache

Manager

Memory

Manager

Process

Manager

Plug &

Play

Security

Monitor

Window

Manager

Network

File

Systems

Device Drivers

Hardware

Object

Manager

Kernel

Hardware Abstraction Layer (HAL)

Graphics

Device

Drivers


Vrlo slično

no-Arhitektura WIN NT


Windows 2000 Kernel

• Obezbeđuje procesorsku

sku arhitektur

turu

• Obezbeđuje:

• Vremensko planiranje-Scheduling

i

povezivanje sklopova

• Niski nivo MP sinhronizas

nhronizacije

• Manipulisanje izuzecima i prekidima-

Exception and interrupt handling

• Implementira procedure za obnavljanje

sistema posle geške u napajanju-

Implements system recovery procedures

after a power failure

• Upravlja:

• Raspoređuje i kontroliše e objekte-

Dispatcher and Control Objects


Hardware Abstraction Layer

• Sistemska podrška

specifičnim

I/O zahtevima

• Sistemskiski bus

• DMA Controler

• Kontroler prekida-Interrupt

Controler

• Sistemsko sko vreme

• Kontrola keša

• Sistem-specifična

SMP podrška


Prioriteti

ti vremenskog

planiranja

• Jezgro koristi šemu prioriteta

da

determiniše e redosled izvršavanja

toka operacija i zahteva

• Jezgro prekida izvršenje ako je

dobilo zahtev višeg prioriteta na

izvršenje

• Dispečer

er baze podataka održava

razmak u zahtevima čekajući i da

se izvrši šema prioriteta


Memory Management:

Protecting memory

• Posebna memorijska mesta za

svaki proces

• Kernel/User mod

• Zaštitni mehanizam baziran na

stranama-Page

based protection

mechanism

• Zaštita

memorije

objektnog tipa


Windows 2000 Memory Model

App 1

2 GB GB

Program Program

Address Address

Space Space

App 2

2 GB GB

Program Program

Address Address

Space Space

1 2

Virtual

Virtual

Memory

Manager

3

Demand

Paging

RAM

App App 1

App App 1

App App 2

App App 1

App App 2

System

Pages

4

Disk

Pagefile.sys

Virtual

Memory


VDM: Karakteristike

• VirtualDosMashine

je Win32 aplikcija

koja omogućuje uje kompletno virtualno

pokretanje DOS-a

• Ona dopušta

DOS aplikaciji

zadavanje mašinskih instrukcija, da

pozove BIOS i organizuje interapte

• Svaki VDM proces se pokreće e u

posebnom konzolnom prozoru


Introduction to the

Windows XP

Architecture

WIN133


What's New in Windows XP

What's New in Windows:

• New user interface

• Improved tools for managing multimedia files

• New system utilities, such as Remote Assistance

• New multimedia programs, including Windows Media Player 8.0 and

Windows Movie Maker

• New Internet tools, such as Internet Explorer 6 and Windows

Messenger

• Improved multiuser support and Fast User Switching

• Built-in in Internet Connection Firewall

• Improved home networking tools like the Network Setup wizard

• Windows XP Professional only:

• Multiprocessor support

• Mobile and remote desktop features

• Support for off-line files and folders

• Administrative features, such as group policy administration, roaming

user profiles, and remote software installation

• Encrypting file system


Architecture – Layers

• Windows XP is built in Layers…

• User mode – layer closest to the person

• Applications that you run (Word,

Netscape)

• Support programs for applications - the

Windows XP Subsystems

• Kernel mode – layer closest to hardware

• Programs that help software running on

our system use the computer’s s hardware

• Device drivers (software interfaces to

hardware)


Architecture diagram

Win 32-bit

App

Win 32-bit

App

Win 32-bit

App

Win 32-bit

App

Win32

Subsytem

(Win32 API)

User Mode

Executive Services

Kernel Mode

I/O

Manager

Security

Reference

Monitor

IPC

Manager

Virtual

Memory

Manager

Process

Manager

Plug and

Play

Manager

Power

Manager

Window

Manager

and GDI

File

Systems

Device Drivers

Object Manager

Microkernel

Graphics

Device

Drivers

Hardware Abstraction Layer (HAL)

Computer Hardware


Layers (con(

con’t)

• It all begins with your hardware

• Windows XP was designed to work on almost any type

of hardware.

• Instead of writing a different version of XP for every

hardware platform, MS created HAL

• The Hardware Abstraction Layer is a piece of

software that sits between XP and your hardware.

• XP doesn’t t actually know anything about your

hardware. It leaves that up to HAL.

• Whenever XP needs to do something with your

hardware it asks HAL how to do it.


Layers (con(

con’t)

• On top of HAL sits the XP Kernel

• Kernel mode programs are “Trusted” programs that

get to do privileged activities with the computer’s

hardware (CPU, RAM, etc.)

• Components provided (mostly) by MS

• Manufacturers of hardware devices also provide

device driver software

• This software must pass a rigorous test


Microkernel

• At the heart of the kernel is the Microkernel

• The Microkernel is very small

• On its own it can’t t do much

• But it is important because it provides

building-blocks blocks for all the Executive

Services running in the Kernel


Windows XP Executive

Services

• Provides services for

applications (e.g., draws the

GUI on the screen, checks

security rights, performs disk

I/O)

• Relies on the Microkernel to do

everything

• Together, the Microkernel and

Executive Services make-up the

Windows XP Kernel

Executive

Microkernel

Services


Layers (con(

con’t)

• User mode

• Environment subsystem components are

provided by Microsoft. These

subsystems…

• Allow users to run their applications

• Provide important services to all

applications, including client, server,

and security services

• Applications

• Browser, e-mail e

client, word processor,

etc.


Architecture – implications

• Windows XP’s s architecture is the key to its:

• Reliability

• Scalability (Professional, Server, Advanced

Server, Datacenter Server)

• Security

• Portable (runs on Intel AND other

platforms)

• Windows Me, 9x, and 3.x do not have this type

of architecture


API

• Application Programming Interface

• A set of pre-made programming

functionality and tools for building

software applications.

• APIs make it easier to develop

programs by providing all the building

blocks a programmer needs to create

complex programs.


Example

API:

English vs.

subject

verb

object

Novel

XP

A B C D E

F G H I J

K L M N O

P Q R S T

U V W X Y

Z

Alphabet

All words

must have

one vowel

Rules for

Making Words

apple apple

apple

Cat Cat

Cat

woman woman

woman

is is

is

Words

Capitalization

punctuation

rules

Grammar

Newspaper

Web

Page

Writing

Microkernel

Native API

(Low-level

API)

Executive

Services

Win32 API

(High-level API)

32-bit

Windows

Applications


API (con(

con’t)

• Windows XP comes with 2 main APIs:

• Win32 API which allows programmers to build 32-

bit Windows programs in User Mode.

• Native API which helps programs and services in

User Mode do things in the kernel. Programmer’s

don’t t use this much, but the Win32 API does.

• Because all programmers use these APIs, users get

programs that look and feel like each other.

• The Windows APIs are stored in libraries


Libraries

• We’ve all been to a library, but what is a library in

programming?

• A collection of precompiled routines or

functions that a program can use.

• We put commonly used routines in a library so

we don’t t have to re-write them

• Example: sorting a list of numbers

• Windows uses a special kind of library called

Dynamic Link Libraries


Dynamic Link Libraries

(DLL)

• A DLL is: A library of executable functions or data that

can be used by a Windows application. Example:

user32.dll, kernel32.dll

• DLLs provide one or more functions that a Windows

program accesses by creating a link to the DLL.

• The word “Dynamic” means that the link is created

whenever the function or data is needed (i.e., while

the program is running) instead of being linked at

compile time

• DLLs can also contain just data--

--icons (e.g.,

shell32.dll), fonts, text, etc.

• A DLL’s s extension is usually .dll.

dll, , but may be .sys, .fon.

fon,

.drv,, etc.


DLL (con(

con’t)

• DLLs can be used by several applications at once.

Instead of writing the same functionality multiple times,

common code is put into DLLs

• Example: CreateWindow( ( ) function in user32.dll

• Some DLLs are provided with Windows XP and are

available for any Windows application.

• There are about 2,000 DLLs under the \windows directory

alone.

• Most OS system DLLs are placed in \windows\system32system32

• Other DLLs are written for a particular application and

are installed with the application (this is why we need to

install!)

• Spellchecker in MS Office is the same for Word, Excel,

Power Point, etc. The DLL that contains this functionality

is msp232.dll.

More magazines by this user
Similar magazines