Microsoft операциялык системалары
11.1.
OS операциялык системасы
DOS
(дисктик операциялык система) персоналдык компьютерлерди иштетүү үчүн иштелип
чыккан алгачкы операциялык системалардын бири. Ал төмөнкү бөлүктөрдөн
турат.
·
Негизги
киргизүү/чыгарма системасы (BIOS).
Ал компьютердин ROM'унда жайгашкан. Анын максаты - I/O менен байланышкан эң
жөнөкөй жана ар тараптуу операциялык система кызматтарын аткаруу. BIOS ошондой
эле компьютердин иштөө сынагын камтыйт, ал компьютердин эс тутумунун жана кубаты
күйгүзүлгөндө түзмөктөрдүн иштешин текшерет. Мындан тышкары, BIOS операциялык
тутумдун жүктөөчүсүн чакыруу үчүн программаны камтыйт.
·
Операциялык
системаны жүктөөчү.
Бул ар бир DOS дискетасынын биринчи секторунда табылган өтө кыска программа. Бул
программанын милдети эс тутумуна дагы эки операциялык системанын модулдарын
окуу.
·
Системалык
файлдар IO.SYS жана MSDOS.SYS.Бул
файлдар операциялык системанын жүктөөчүсү тарабынан компьютердин оперативдүү
эсине жүктөлөт жана ал жерде биротоло калат. IO.SYS файлы BIOS үчүн кошумча
болуп саналат. MSDOS.SYS файлы негизги жогорку деңгээлдеги DOS кызматтарын ишке
ашырат.
·
DOS
командалык процессору.Команда
процессору колдонуучу киргизген буйруктарды иштетет. Ал операциялык система
жүктөлгөн дискте COMMAND.COM файлында жайгашкан. Кээ бир колдонуучунун
буйруктары, мисалы, Type, Dir or Copy, кабык өзүн өзү аткарат. Мындай буйруктар
ички деп аталат. Колдонуучунун калган (тышкы) буйруктарын аткаруу үчүн
командалык процессор дисктерден тиешелүү аталыштагы программаны издейт жана эгер
аны тапса, аны эс тутумуна жүктөйт жана ага башкарууну өткөрүп берет.
Программанын аягында командалык процессор программаны эс тутумдан алып салат
жана буйруктарды аткарууга даярдыгы жөнүндө билдирүүнү көрсөтөт (DOS
чакыруусу).
·
Тышкы
DOS буйруктары.Булар
операциялык система менен өзүнчө файлдар катары келген программалар. Бул
программалар флоппи дисктерди форматтоо, дисктерди текшерүү ж.б. сыяктуу тейлөө
аракеттерин аткарат.
·
Түзмөк
драйверлери.Булар
DOS I/O системасын толуктаган жана учурдагы түзүлүштөрдү жаңы же стандарттуу
эмес колдонууга колдоо көрсөткөн атайын программалар. Мисалы, драйверлердин
жардамы менен компьютердин оперативдүү эс тутумунун бир бөлүгү болгон
«электрондук диск» менен иштөөгө болот, ал диск сыяктуу эле колдонула алат.
Операциялык система жүктөлгөндө драйверлер операциялык эс тутумга жүктөлөт,
алардын аттары атайын CONFIG.SYS файлында көрсөтүлөт. Бул схема жаңы түзмөктөрдү
кошууну жеңилдетет жана муну DOS тутумунун файлдарына таасир этпестен жасоого
мүмкүндүк берет.
11.2.
Windows NT
Windows
NT (Жаңы технология) – күчтүү персоналдык компьютерлерде жана серверлерде
колдонуу үчүн Microsoftтун операциялык системасы. Windows NT 4 (1996) (жана
бардык кийинки версиялары: Windows 2000 (2000), Windows XP (2002), Windows
Server 2003 (2003), Windows Vista (2007)) DOSтан таптакыр башкача. Бул
операциялык системаларда DOS сеанс терезесин ачуу мүмкүн болсо да, алар сөздүн
салттуу маанисинде такыр кабык эмес. Бул жерде биз, тескерисинче, DOS эмуляциясы
жөнүндө сүйлөшө алабыз (баары тааныш командалык сап интерфейси менен иштей алышы
үчүн). Көптөгөн DOS программалары Windows NT DOS сеансында иштебейт. Ал эми
Windows 9x графикалык кабыкчасын жүктөөдөн мурун турган экрандын символдук
режимин бул жерден көрө албайсыз.
Windows
NT, Windows 9x сыяктуу, орнотууларды сактоо жана драйверлерди жүктөө үчүн тутум
реестрин колдонот. конфигурация файлдары. sys, Autoexec. бат жана .ini бул жерде
такыр жок. Андан тышкары, Windows 9xти Windows NTге жаңыртуу мүмкүн эмес.
Windows NT орнотуп жатканда, бардык тиркемелерди орнотуу жана кайра
конфигурациялоо керек болот. Windows NT FAT файлдык системасын колдоно алат,
андыктан компьютериңизди DOS дискинен жүктөй аласыз жана бардык файлдарга толук
кире аласыз.
Бирок,
Windows NTтин кээ бир өнүккөн мүмкүнчүлүктөрү өзүнүн NTFS (NT File System)
файлдык системасы менен камсыздалган. NTFS сизге дискте 2 ТБга чейинки
бөлүмдөрдү түзүүгө мүмкүндүк берет (мисалы, FAT 32), бирок, андан тышкары, ал
тармак чөйрөсүндө иштөөдө зарыл болгон файлдарды кысуу, коопсуздук жана текшерүү
функцияларына ээ. Windows NT операциялык системасын орнотуу FAT дискинде
башталат, бирок колдонуучунун талабы боюнча, орнотуунун аягында дисктеги
маалыматтар NTFS форматына айландырылат.
Сиз
муну кийинчерээк Convert утилитасын колдонуп да жасай аласыз. exe операциялык
тутуму менен коштолот. NTFSге айландырылган диск бөлүгү башка операциялык
системалар үчүн жеткиликсиз болуп калат. DOS, Windows 3.1 же Windows 9xке кайтуу
үчүн NTFS бөлүмүн алып салып, анын ордуна FAT бөлүмүн түзүшүңүз керек. Windows
2000 FAT 32 жана NTFS файл системасы менен дискке орнотулушу мүмкүн. NTFS
бөлүмүн жок кылып, анын ордуна FAT бөлүмүн түзүшүңүз керек. Windows 2000 FAT 32
жана NTFS файл системасы менен дискке орнотулушу мүмкүн. NTFS бөлүмүн жок кылып,
анын ордуна FAT бөлүмүн түзүшүңүз керек. Windows 2000 FAT 32 жана NTFS файл
системасы менен дискке орнотулушу мүмкүн.
11.3.
Windows API
API
(Application Program Interface) -операциялык
системанын өзөгүнө (же кошумчаларына) тиешелүү функциялардын жыйындысы, алар
операциялык системанын бөлүгү катары да, программалоо тутумунун бөлүгү катары да
колдонмо жана системалык программалар тарабынан
колдонулат.
Бардык
API'лерди үч класска бөлүүгө болот:
·
RTL
китепканаларына тиешелүү жогорку деңгээлдеги интерфейс катары API (Run Time
Library - иштөө убактысы китепканасы);
·
Операциялык
системаны жеткирүүгө камтылган тиркемелердин жана системалык программалардын
API;
·
Башка
API'лер.
RTL
китепканасы компиляция учурунда программалоо системасы камсыз кылган стандарттуу
процедураларды камтыйт. Жалпысынан алганда, бул программалоо системасынын
модулдары гана эмес, ошондой эле операциялык системанын
модулдары.
Windows
API UNIX жана Linux программисттери жакшы билген POSIX API сыяктуу башка
APIлерден көптөгөн тымызын жана олуттуу айырмачылыктарга ээ. Көптөгөн Windows
тутумдук ресурстары туткалардын жардамы менен аныкталган жана жеткиликтүү болгон
ядро объекттери катары берилген. Бул дескрипторлор UNIXтеги файлдын
дескрипторлоруна жана процесстин идентификаторлоруна мааниси боюнча
окшош.
Windows
бул жөн гана колдонуучунун көйгөйлөрүн чечүү үчүн куралдардын топтомун камсыз
кылган операциялык тутумдун API'си деген көз караш бар.
Ядро
объектилери менен ар кандай манипуляциялар Windows API аркылуу гана жүзөгө
ашырылат. Бул эрежени айланып өтүү үчүн эч кандай жылчыктар жок. Иштин мындай
уюштурулушу объектиге багытталган программалоодо колдонулган маалыматтарды
абстракциялоо принциптерине шайкеш келет, бирок Windows өзү объектиге
багытталган эмес. Объекттерге файлдар, процесстер, жиптер, процесстер аралык
байланыш каналдары, файл картасынын объекттери, окуялар жана башкалар кирет.
Объекттердин коопсуздук атрибуттары бар.
Windows
- бул бай жана ийкемдүү интерфейс. Биринчиден, бир эле же окшош милдеттерди бир
эле учурда бир нече функциялардын жардамы менен чечсе болот; мисалы, функция
чакырыктарынын көп кездешүүчү ырааттуулугун бир функцияга бириктирүү аркылуу
алынган ыңгайлуу функциялар бар (төмөндөгү мисалдардын биринде колдонулган
CopyFile функциясы ушундай функциялардын санына кирет). Экинчиден, функциялардын
көп сандаган параметрлери жана желекчелери бар, алардын көбү адатта этибарга
алынбайт.
Windows
ар кандай муктаждыктарды канааттандыруу үчүн көптөгөн синхрондоштуруу жана
байланыш механизмдерин сунуш кылат.
Windowsтун
негизги аткаруу бирдиги жип болуп саналат. Бир процессте бир же бир нече жиптер
иштеши мүмкүн.
Windows
функциялары узун, сүрөттөмө аттарды колдонушат. Төмөндөгү мисал функциялардын
аталыштары ат коюу конвенцияларын гана эмес, Windows функцияларынын көп жактарын
да көрсөтөт:
WaitForSingleObject
WaitForSingleObjectEx WaitForMultipleObjects WaitNamedPipe
Типтердин
аталыштары кантип колдонуларын жөнгө салган бир нече конвенциялар да
бар:
API
талап кылган алдын ала аныкталган маалымат түрлөрүнүн аталыштары да сүрөттөмө
болуп саналат жана чоң тамгалар менен болушу керек. Эң кеңири таралган маалымат
түрлөрү:
BOOL(бир
логикалык маанини сактоо үчүн иштелип чыккан 32 биттик объект катары
аныкталган),
DWORD(бардык
жерде бар 32-бит белгиси жок бүтүн сан),
LPTSTR(8
же 16 биттик белгиден турган сапка көрсөткүч)
LPSECURITY_ATTRIBUTES.
Материал
берилгенде биз башка көптөгөн маалыматтар түрлөрү менен таанышабыз. Алдын ала
аныкталган көрсөткүчтөрдүн түрлөрүнүн аталыштары * операторун колдонбойт жана
алар ар кандай типтеги көрсөткүчтөрдүн ортосундагы кошумча айырмачылыктарды
чагылдырат, мисалы LPTSTR (TCCHAR * катары аныкталган) жана LPCTSTR (constTCHAR
* катары аныкталган) түрлөрүндө. TCHAR түрү кадимки символдун түрүн же эки
байттык wchar_t түрүн көрсөтө алат. Жок дегенде функциянын прототиптеринде
өзгөрмөлөрдүн аталыштарын колдонууга байланыштуу белгилүү бир конвенциялар бар.
Ошентип, lpszFileName аталышы файлдын атын камтыган "нөл менен аяктаган сапка
узун көрсөткүчкө" туура келет. Бул мисал биз адатта карманууга аракет кылбаган
"венгердик белги" деп аталган нерсенин колдонулушун көрсөтүп турат. Ошо сыяктуу
эле, dwAccess - бул файлга уруксаттын желектерин камтыган кош сөз (32 бит),
мында "dw" "кош сөз" дегенди билдирет.
Акыр-аягы,
баштапкы Win32 API башынан эле толугу менен көз карандысыз интерфейс катары
иштелип чыккан, бирок ал Windows 3.1 менен камтылган Winl6 API менен артка
шайкеш келүү үчүн иштелип чыккан. Бул программисттин көз карашы боюнча кээ бир
тажатма кесепеттерге алып келди:
·
Жөнөкөй
32-бит же 64-бит көрсөткүчү болгон "узун көрсөткүчкө" тиешелүү болгон LPTSTR
жана LPDWORD түрлөрүндөгүдөй типтердин аталыштарында анахронизмдин элементтери
бар. Башка түрдөгү көрсөткүчтөрдүн кереги жок. Кээде "узун" компоненти жок
кылынат, бул учурда, мисалы, LPVOID жана PVOID түрлөрү
эквиваленттүү.
·
Кээ
бир символикалык константалардын, мисалы, WIN32_FIND_DATA, алардын аталыштарында
"WIN32" компоненти бар, бирок ошол эле константалар Win64те
колдонулат.
·
Бул
артка шайкештик маселеси бүгүнкү күндө актуалдуу болбой калса да, ал 16 биттик
көптөгөн функцияларды калтырды, алардын бири да жалпысынан колдонулбайт, бирок
бул функциялар абдан маанилүү ролду ойноп жаткандай сезилиши мүмкүн. Мисал
катары OpenFile функциясын алсак болот, анын аты айтып тургандай, файлдарды ачуу
үчүн зарыл, ал эми чындыгында учурдагы файлдарды ачуу үчүн дайыма CreateFile
функциясын гана колдонуш керек.