shpar.TDT

You are currently browsing the archive for the shpar.TDT category.

Тил таърифи. Синтаксис ва семантика

Компиляторни  ташкил этишдан аввал  киритилаётган тилнинг аник таърифига эга булиш керак.

Бир неча каторлардан таркиб топган  тилни тассаввур килишимиз мумкин. Тилни ифодалашда  кандай каторлар  ушбу тилга тегишли эканлиги (тил синтаксиси) ва ушбу каторларни киймати (тил семантикаси)   аникланади. Синтаксис – формал тугри гаплар тупламининг коидалари тупламидир. Тилга тегишли каторларни тилнинг гаплари деб аталади. Реал тилларда чексиз гаплар сони булади ва уларни санаб утишнинг иложи йук. Энг содда тилнинг синтаксисини  табиий тилда куйидагича ифодалаш мумкин, масалан: «барча каторлар, факат 1 ва 0 лардан ташкил топган» у холда 1111 ва 1000110 –тилга тегишли, 1020 эса йук.

Масалан, куйидаги гап  «машина юради». «Машина» сузи эга, «юради» кесим. Ушбу гап  куйидаги синтаксис коидалар ёрдамида ифодалаш мумкин булган тилга тегишли:

<гап>::=<эга><кесим>

<эга>::=машина |  от

<кесим>::= юради | чопади

Ушбу учта каторнинг маъноси куйидагича: гап эга ва кесимдан иборат. Эга  ёки машина деган бир суздан ёки от деган суздан ташкил топган. Кесим хам ёки юради деган суздан, ёки чопади деган суздан ташкил топган.

Ихтиёрий гапни бошлангич белги оркали кетма-кет куйиш йули билан олиш мумкин.

Ушбу коидаларни ёзишда фойдаланиладиган нотация  Бэкус-Наур формаси деб аталади. Синтаксис бирликлар <гап> <эга> ва  <кесим> нотерминал белгилар деб аталади, “машина”, ”от”, ”юради”, чопади  терминал белгилар деб аталади, коидалар эса тугилувчи коидалардир. ::=, | . <> белгилар метабелгилардир. Семантика тилнинг барча гапларига киймат беради.

Алфавит –белгилар туплами. Масалан: Рус харфлари. Лотин харфлари , ракамлар.

Агар А-алфавит булса, А* А га кирувчи барча белгилардан тузилган каторларнинг (буш каторни хам кушган холда) тупламини англатади.  А+ эса А га кирувчи барча белгилардан тузилган каторларнинг (буш каторни хам кушмаган холда) тупламини англатади.   Буш катор купинча Е(эпсилон) ёрдамида белгиланади

Тилни синтаксисини тупламларни тасвирлаш оркали аниклаш мумкин, масалан L={0n1n|n>=0}. Ушбу тил бир ёки бир неча нуллардан, бирлардан  ва буш катордан ташкил топган каторларни уз ичига олади.

Тилни мураккаброк синтаксисини грамматика ёрдамида аниклаш яхширок. Грамматикага тилни гапларини тузиш учун коидалар туплами киради. L синтаксисни оламиз ва куйидаги коидалардан фойдаланамиз.

1. S  –>    0S1                                        2.S –>     E

 

Ушбу тилнинг гапларини чикариш учун  куйидагича иш юритамиз. S белгидан бошлаймиз ва уни 0S1 билан алмаштирамиз ёки Е билан. Агар S яна олинган каторда мавжуд булса, яна алмаштирамиз ва х.к. Шундай усул билан олинган S га эга булмаган  катор   шу тилнинг гапи хисобланади.  Масалан,  S   0S1 00S11  000S111    000111

Бундай каторларнинг кетма-кетлиги  000111 каторни  чикиши дейилади, стрелка белгиси эса  чикиш кадамларини булаклаш учун хизмат килади.  Ушбу тилнинг барча гапларини иккита коидадан келиб чиккан холда  келтириб чикариш мумкин, Ихтиёрий келтириб чикариш мумкин булмаган катор  ушбу тилнинг гапи хисобланмайди. Грамматикани купинча кайта ёзиш тизими деб хам атайдилар.

Грамматика  (Vt,Vn,P,S) туртлик билан аникланади,  Бу ерда  Vt –алфавит булиб, унинг белгилари терминаллар деб аталади, улардан грамматика оркали келтирилувчи занжирлар курилади. Vn –алфавит булиб, унинг белгилари нотерминаллар деб аталади, занжирларни куришда фойдаланилади. Vt ва Vn умумий белгиларга эга эмаслар, яъни Vt  Vn =0, Грамматиканинг тулик алфавити V   Vt U Vn  каби аникланади.

Р – тугилувчи коидалар туплами булиб, унинг хар бир элементи (a, b) жуфтлигидан ташкил топади, бу ерда а V+ да,  ва b эса  V* да.

а коиданинг чап булаги, b эса  унг булагидир. Коида куйидагича ёзилади: a    b. S Vn га тегишли ва бошлангич белги (аксиома)деб аталади. Бу белги тилнинг ихтиёрий гапини олиш учун таянч нуктадир.

L={0n1n|n>=0}.тилни генерация киладиган грамматика булиб

G0 =({0,1},{S},P,S), ,бу ерда  P={S   0S1.S  E} хисобланади.

L={anbm|n,m>=0}.тилни генерация киладиган грамматика булиб

G0 =({a,b},{S,A,B},P,S), бу ерда  P={S   AB, A aA, A E, B bB, B  E} хисобланади.

S  белгидан бошлаб нотерминални алмаштириш коидасини куллаб  aaabb каторни генерация килиш мумкин.

 

S –>  AB –>   aAB –>    aaAB –>   aaaAB –>      aaaB –>    aaabB–>    aaabbB –>  aaabb

Хар бир бошлангич белгидан келтириб чикариладиган  катор сентенциал форма деб аталади.  Сентенциал формали гап –бу  факат терминаллардан иборатдир. Терминалларни кичкина харфлар билан, нотерминалларни катта  харфлар билан белгилаймиз.

Иккита бир хил тилни келтириб чикарадиган грамматикани эквивалент грамматика деб атаймиз.

Берилганларнинг оддий статик структуралари

Уларга

  1. векторлар;
  2. тупламлар;
  3. ёзувлар;
  4. жадваллар киради.

1. Вектор – бир турдаги берилганларнинг тартибланган туплами.

Векторга бир улчамли туплам мос келади. Унинг элементлари хотирада катъи бири-биридан кейин жойлашади. Бундай тартибланиш элементларни ракамлаш имкониятини беради (ракамлар-индекслар).

Энг куп кулланиладиган амаллардан бири – берилган индекс буйича элементга мурожаат амалидир.

Векторлар устидаги яна бошка амаллардан векторнинг пастки ва юкориги чегараларини аниклаш, вектор элементи турини аниклаш кабилардан фойдаланилади.

Векторнинг физик куриниши хотиранинг бир хил улчамдаги булаклари (майдон, слотлар) кетма-кетлиги куринишида амалга оширилади. Хар бир майдонда битта элемент сакланади. Бу слотлар хотирада элемент индекслари ошиб бориши тартибида жойлашади.

Векторнинг физик структураси хотиради жойлашган ва куйидаги табиатга эга дискрептор билан кузатилади.  Дескриптор куйидаги майдонлардан ташкил топади:

  • берилганлар структурасининг  ички коди
  • векторнинг исми
  • биринчи элементнинг манзили
  • индекснинг пастки киймати
  • индекснинг юкори киймати
  • элементнинг тури
  • слот улчами

Биринчи майдон дискрептор билан богланган берилганлар структурасини аниклашга имкон беради.

Манзил  функцияси  (акс эттириш функцияси) вектор холатида куйидаги куринишга эга булади:

Бошлангич берилганлар:

  • индекснинг минимал киймати: p
  • i  манзил кидирилаётган индекс
  • максимал киймат: q
  • слотнинг улчами: I

2. Туплам, умумий холда, – бух ар бир элементи вектор булиши мумкин булган берилганлар структурасидир.

Икки улчамли, учулчамли, n-улчамли тупламлар булиши мумкин. Тупламнинг хар  бир элементини аниклаш учун индексдан фойдаланилади (хар бир координата буйича): .

Тупламнинг элементига мурожаат килиш учун   n индексдан фойдаланилади

Тупламлар билан ишлаганда энг куп фойдаланиладиган амаллардан бири манзил функциясини амалга оширишни талаб этадиган мурожаат амалидир. Бу амал  вектордан фаркли равишда нетривиал бажарилади.

Мисол караймиз.

Фараз килайлик  n-улчамли туплам берилган булсин:

 

– бошлангич элемент

– хотирада манзилини топиш керак булган ихтиёрий элемент.

Манзил функцияси  куйидагича хисобланади:

,

бу ерда:

L – слот улчами

D – тупламни хотирада (каторлар ёки устунлар буйича) жойлашишига караб аникланади. Агар каторлар буйича жойлашган булса, у холда аввал биринчи катор жойлашади ва х.к., агар устунлар буйича жойлашса- аввал биринчи устун жойлашади ва  х.к.

Элементлар катор буйича жойлашган холл учун, у холда:

 

 

 

Яна шу каби учраб туради:

  • симметрик квадрат матрица (элементлари  бош диоганалга нисбатан симметрик ва тенг)
  • кесилган матрица -разреженная матрица (купгина элементлари 0 га тенг). Бундай матрицалар руйхат куринишида сакланади.

3. Ёзув – умумий холда турли турдаги тартибланган элементларнинг тупламидир (майдонлар деб аталади).

Ёзувлар оддий ва бир-бирига киришган булиши мумкин (майдон урнига бошка ёзув жайлашиши мумкин). Бири-бирига киришиш даражаси  ёзувлар дескрипторида акс этади.

4. Жадвал – бир турдаги ёзувларнинг тартибланган кетма-кетлигидир (ёзувлар туплами).

Жадваллар тизимнинг ички ифодаланишида кенг кулланилади (жадваллар хизмати, амаллар кодлари жадваллари ва  х.к.).

Жадвал ёзувлардан ташкил топади, ёзув эса  майдонлардан.

Ёзувларнинг бир турдалилик хусусияти барча бир исмли майдонлар бир хил турга эга эканлигини англатади.

Хар бир ёзувда жадвал чегарасида кидирувни осонлаштириш учун майдонлардан бири ключли хисобланади (барча ёзувлар ключли майдоннинг турли кийматларига эга) Ёзув хотира ячейкасининг чизикли кетма-кетлиги куринишида амалга оширилади. Хотира сохаси улчови ёзувлар сони ва хар бир ёзув регистри билан аникланади.

Жадваллар билан ишлашдаги типик амаллар:

  • ёзувни кидириш (барча ёзув кидирилади);
  • элементни кушиш;
  • элементни учириш;
  • сортировка.

Жадваллар билан ишлашда  ушбу жадваллар билан амаллар бажарилиш тезлиги катта ахамиятга эга. Кичикрок жадваллар булган холида муаммолар юзага келмайди, катта жадваллар билан ишлашда эса кидирувнинг турли усулларидан фойдаланилади.

Берилганлар структурасининг классификацияси

4 та белги буйича :

  1. структура элементлари орасидаги алокаларнинг борлиги ёки йуклиги. Бу белги буйича ажратилади:
  • богланган  структуралар;
  • богланмаган структуралар.

Богланмаган структураларга векторлар, тупламлар, каторлар киради. Богланмаганларига  барча мумкин булган руйхатлар киради.

  1. структуранинг узгарувчанлиги нуктаи –назаридан  ажратилади:
  • статик. Статик – структураларда элементлар сони  ва элементлар уртасидаги алокалар сони узгармайди (каторлар, векторлар, тупламлар);
  • яримстатик. Яримстатик – структуранинг баъзи булаклари узгариши мумкин (стеклар);
  • динамик. Динамик – структураларда  элементлар сони ва элементлар уртасидани алокалар сони ихтиёрий вактда узгариши мумкин (руйхатлар).
  1. тартибланиш даражаси буйича фаркланади:
  • чизикли-тартибланган – бир элемент кейингиси кетидан каътий келади
  • чизикли-тартибланмаган – чизиксиз
  1. элементларнинг хотирада бир бирига нисбатан узаро жойлашиш характери. Фаркланади:
  • элементлари кетма-кет жойлашган структуралар (векторлар, тупламлар, каторлар)
  • элементлари ихтиёрий жойлашган структуралар. Тартиби ихтиёрий, лекин элементлари бир бири билан богланган.

Берилганлар структураси тушунчаси ва уларни умумий ифодалаш

Хисоблаш жараёни берилганлар дастури ёрдамида амалга оширилади, дастурнинг узи эса специфик табиатга эга берилганларни ифодалайди. Берилганлар:

  1. мантикий даражада;
  2. физик даражада (машина даражасида), берилганлар физик хотирада ифодаланади.

Иккала даражада хам берилганларга аник таъриф бериш мумкин.

Мантикий даражада берилганлар кандайдир  информацион объектлардан ташкил топган булиб, улар кандайдир фактларни канайдир алгоритм ёрдамида кайта ишлаш максадида формал куринишда ифодалашга хизмат киладилар.

Физик даражада мураккаблиги ва мазмунидан катьи назар берилганлар иккилик разрядлари кетма-кетлиги куринишида ифодаланади. Бу даражада берилганлар узининг ички табиатига эга эмас, яъни улар структураланмаган.

Биргаликда караладиган ва кайта ишланадиган элементар берилганларнинг туплами берилганлар структураси деб аталади.

Умумий холда берилганлар структураси – берилганлар элементлари уртасида мавжуд муносабатларни ифодаловчи коида ва чегаралар тупламидир.

Бир берилганлар элементининг бошка берилганлар элементи барча алокалари кандайдир берилганлар структурасида «муносабат» элементини ташкил этади.

Берилганлар структураси бир-бири билан узаробогланган берилганлар элементларидан ташкил топади. Структуранинг хар бир элементи умумий холда 2- булакдан ташкил топади:

  1. Берилганлар элементи;
  2. Муносабат элементи.

Уз навбатида берилганлар элементи кандайдир турдаги бир кийматли берилганлар булиши мумкин, ёки бир турдаги кандайдир берилганлар туплами булиши мумкин.

Берилганлар элементи турлари тушунчасига куйидагилар киради:

  1. мумкин булган кийматлар диапазони (сохаси);
  2. мумкин булган амаллар туплами;
  3. машинада ифодалаш усули.

Берилганлар структураси элементлари орасидаги узароалока граф куринишида ифодаланиши мумкин, бу ерда чуккилар берилганларнинг алохида элементлари, кобиклар эса улар орасидаги алокалар.

Мантикий даражада берилганлар структураси  мантикий (абстракт) структура деб аталади, чунки берилганлар хотирада кандай жойлашганлигига боглик эмас.

Физик даражада берилганлар структураси физик (саклаш структураси) деб аталади.

Мантикий ва физик берилганлар структураси уртасида жуда катта фарк мавжуд, масалан, дастурчи нуктаи назаридан, туплам (икки улчамли) жадвал куринишига эга булиб, ЭХМ хотирасида берилганлар элементларининг чизикли кетма-кетлигини ифодалайди.

Берилганларни кайта ишлаш тизимида хар доим махсус процедуралар ишлаб чикилади ва улар мантикий даража берилганларини физик даража берилганларига айлантирадилар. Бу процедураларнинг бош максади – мантикий даражадан келиб чиккан холда физик даражадаги берилганларга мурожаатни таъминлаш. Масалан, икки улчамли туплам учун шундай акс эттириш функцияси мавжуд булиши керакки, у туплам элементининг жадвалдаги координатасидан келиб чиккан холда аник манзилини олиш имконини берсин.

 

Мантикий ва физик куринишдан ташкари ихтиёрий структура мантикий ва физик структуралар амаллари туплами билан  характерланади. Физик структуралар устидаги амаллар туплами кандай хотирада амалга оширилаётганига кура аникланади: оператив хотирадами ёки ташки хотирадами?

Оператив хотирадаги холатнинг хусусияти шундаки у хотира ячейкаларининг тартибланган кетма-кетлигидан ташкил топган булиб, хотиранинг ихтиёрий ячейкасига тугридан тугри мурожаат этиш имкониятига эга, кетма-кет ракамлангандир.

Ташки хотирада эса берилганлар структураси  турли турда ташкил этилган хисобланади (кетма-кет, тугридан -тугри, индексли-кетма-кет).

Файллар тизимининг асосий хусусиятлари.

Файллар тизими файллар учун санаб утилган барча хусусиятларни уз ичига олади, ва  яна баъзи бир кушимча хусусиятларга хам эга. Бу хусусиятлар файллар тизимининг структуралик ташкил этилиши билан боглик.

Келинг, кандайдир ташки саклаш курилмаси (ВЗУ) фазосини караб чикайлик ва бу фазода файлларни жойлаштиришни ташкил этишни куриб чикамиз.

1. Узлуксиз сегментли файлларни бирдаражали ташкил этиш. «Бирдаражали» термини тизим уникал номланган файллар билан ишлашни таъминлашини англатади. Ташки саклаш курилмаси чегарасида берилганларни саклаш учун каталог деб аталувчи соха ажратилади. Каталог куйидаги структурага эга:

«Бошлангич блок» берилган исм билан бошланувчи ташки саклаш курилмасидаги нисбий адресни курсатади. «Охирги блок» берилган файлнинг охирги блокини аниклайди. Файлни очиш функцияси каталогда файл исмини топиш, унинг бошланиши  ва охирини аниклашни амалга оширади. (амалда берилганлар курсатилганидан кам жой эгаллаши мумкин, лекин бу хакда кейинрок тухталамиз). Бу харакат жуда оддий, шу билан каталогни ОТ хотирасида саклаш мумкин, бу эса алмашинувларни камайишига олиб келади. Агар янги файл ташкил этилаётган булса, у буш жойга ёзилади. Исмлар каталогига ухшаш буш фазолар (фрагментлар) жадвали булиши мумкин.

Укиш/ёзиш кушимча алмашинувларсиз амалга оширилади, чунки файлни очишда биз берилганларни жойлаштириш диапазонига эга буламиз. Укиш ушбу структура блокига мос равишда амалга оширилади ва хеч кандай кушимча маълумот талаб этилмайли, алмашинув хам мос равишда тезда амалга оширилади.

Энди караб чикайлик, бундай файлга кушимча маълумот ёзмокчимиз, лекин буш фазо жой йук? Бу холда тизим икки хил йул тутиши мумкин.  Биринчидан, у  сизга жой йуклигини айтади ва сиз  узингиз нимадир килишингиз керак булади, яъни  кандайдир Ушбу файлни бирор жойга кучириб турадиган ва керакли маълумотни кушадиган  жараённи  куясиз. Бундай кучириш етарли даражада кимматга тушадиган функция. Иккинчи имконият – алмашинувни рад этилади. Бу эса файлни очиш жараёнида аввалдан кушимча жой олиб куйиш кераклигини англатади;  бу холда файл тизими буфернинг буш улчамини текширади ва у кам булса, Ушбу файлни жойлаштириш учун буш жой кидиради.

Бундай курамизки, бундай ташкил этиш сода, алмашинувларда унумли, лекин файл учун жой етишмаган холларда унимсизлик бошланади. Бундай ташкари файл тизимининг узок ишлаши давомида дискда худди оператив хотирадаги каби фрагментация холати юз беради.  Яъни буш жойлар мавжуд ,лекин файлимизни жойлаштириш учун етарли жой йук булган холат юзага келади. Файл тизимини бундай ташкил этилишининг фрагментацияси билан курашишда узок, огир ва файл тизими учун хавфли булган жараён, яъни файлларни бир-бирига зичлаштириш жараёни амалга оширилади.

Бундай ташкил этиш бир фойдаланувчилик  файл тизими учун кулай ва фойдалидир, чунки фойдаланувчиларнинг куплиги холатида фрагментация юз беради. Зичлаштириш жараёнини  хар доим куйиш максадга мувофик эмас. Бошка томондан тизим оддий ва хеч кандай кушимча харажатлар талаб килмайди.

 

2. Файллар блокли ташкил этилган файллар тизими. Ташки саклаш курилмалари фазоси блокларга булинган. Файллар тизимида бундай маълумотларни булаклашда оператив хотирани варакли ташкил этишдаги жараёнлар маълумотларини булаклаш каби амалга оширилади. Умумий холда, хар бир файл исми билан шу файл берилганлари жойлашган курилма блоклари ракамларини туплами боглик. Ушбу блокларни ракамлари ихтиёрий тартибга эга, яъни блоклар курилма буйича ихтиёрий таркалган. Бундай ташкил этишда фрагментация муаммоси йук,  аммо блокни яхлитлаш йукотишлари мавжуд   (агар файл блокни битта байтини банд килган булса, у холда бутун блок банд хисобланади). Шундай килиб, зичлаштириш муаммоси йук, ва бу тизим купфойдаланувлилик ташкил этишда фойдаланиш мумкин.

Бу холда хар бир файл бир канча атрибутлар туплами билан боглик:  файл исми ва файлга мурожаат этиладиган фойдаланувчи исми; Бундай ташкил этилиши исмларни уникаллиги  муаммосидан кутилишга имкон беради. Бундай тизимда исм уникаллиги бир фойдаланувчилик файллар уртасида талаб этилади.

Бундай файлларни ташкил этиш каталог оркали амалга оширилади.  Каталогни структураси куйидагича булади. Каталог каторлардан ташкил топади; хар бир  i-чи катор файл тизимини i-чи блокга мос келади. Бу каторда блок банд ёки бушлиги хакидаги маълумот сакланади. Агар у банд булса, у холда бу каторда файл исми (ёки унга мурожаат), фойдаланувчи исми ва бошка кушимча маълумотлар жойлашиши мумкин.

Маълумот алмашинув даврида тизим турлича харакатланиши мумкин.  Ёки файлни очишда тизим каталог буйича айланиб файлни мантикий блокларини дискда жойлашиш жадвалини куради. Ёки хар бир алмашинувда бу мослик амалга оширилади.

Файллар тизимини бундай ташкил этилиши  бир фойдаланувчи рамкасида бирдаражали хисобланади, яъни барча файллар кандайдир фойдаланувчига тегишли гурухга богланган.

3.Иерархик файллар тизими. Файл тизимининг барча файллари дарахт деб аталган бир структурага курилган. Дарахтнинг илдизида файл тизимининг илдизи жойлашган. Дарахтни богланган жойи варак хисобланса, бу файл фойдаланувчининг берилганларидан ташкил топиб файл-каталог хисобланади. Дарахтнинг варакдан фаркли богланишлари файл-каталоглар хисобланади. Бундай иерархик файл тизимида номланиш турли усуллар билан амалга ошади. Биринчи тур – файлни энг якин каталога нисбатан номлаш, яъни биз F0 каталог учун якин булган файлларни карасак, бу F1 файл булиб, у хам каталогдир ва  F2 файл. Бундай тизимда бир даражада исмлар такрорланмаслиги  максадга мувофик. Бошка томондан, барча файллар дарахт билан богланганликлари учун биз файлни тулик номи, яъни файл тизими илдизидан аник бир файлгача булган йул, хакида гапира оламиз. F3 файлнинг тулик исми куйидагича белгиланади: /F0/F1/F3. Бундай ташкил этиш файлнинг киска исми билан хам, тулик исми билан хам ишлаш имконини беради. Файлларнинг тулик исми бу йулдир. Ихтиёрий дарахтда унинг илдизидан ихтиёрий богламигача бита йул мавжуд, шундай килиб исмларни унификация килиш муаммоси хал этилади. Биринчи марта бундай усул Беркли университетида 60-йилларнинг охирида ишлаб чикилган Multix операцион тизимида фойдаланилган. Кейинчалик бу чиройли ечим купгина операцион тизимларда кулланила бошлади. Бу иерархияга мос равишда хар бир файлга кандайдир мурожат хукукига эга атрибутларни боглаб куйиш мумкин. Мурожаат хукукларига фойдаланувчилар файллари билан биргаликда каталоглар хам эгадирлар.Бу тизимнинг структураси купфойдаланувчилик ишни ташкил этишда, исмлар муаммосини йуклиги хисобига унумдордир.

4. Операцион тизимда шахсийлаштириш ва берилганларни химоялаш. Бу нюанс, хам сода, хам мураккаб. Соддалиги шундаки биз у хакида бир неча огиз гапирамиз холос, мураккаблиги шундаки, шундай муаммолар мавжудки улар хакида узок гапириш мумкин.

Шахсийлаштириш – бу аник фойдаланувчини идентификация кили шва шу билан мос равишда берилганларни химоялаш буйича у ёки бу харакатларни кабул килиш имкониятидир.

Агар биз ихтиёрий MS-DOS операцион тизимини карасак, у бир фойдаланувчилик.

Операцион тизимларнинг иккинчи даражаси – фойдаланувчиларни руйхатдан утказадиган, лекин барча фойдаланувчилар ягона субъект туплами куринишида ва бир-бири билан боглик эмаслар. Бундай операцион тизимларга мисол сифатида IBM  фирмасининг mainframe-компьютерлари учун операцион тизимларини курсатиш  мумкин. Мисол учун маърузачи узининг эшитувчи талабаларнинг кайси бири кандай гурухга тегишли эканлигини билмайди, лекин уларнинг шу крс талабалари эканлигини билади. Бу хам яхши, хам ёмон. Бу курсни эшитиш учун яхши, лекин маърузачи томонидан савол жавоб килиш масаласида  ёмон, чунки  бир кун ичида у хамма талабалар билна савол-жавоб килишга улгура олмайди. Шунинг учун у барча эшитувчиларни кандайдир булаклаши керак, лекин кандай бу ноаник.

Мос равишда бундай бир улчамли шахсийлаштиришда барча биз айтиб утган функциялар (хусусан, химоялаш) таъминланади, лекин фойдаланувчиларни бундай ташкил этиш фойдаланувчилар гурухини англатмайди. Менга эса бизнинг  факультет  серверида мениг лабораториям ажратилса ва бу лаборатория рамкасида файлларга мурожаат хукукини бир бирига бериш имкони берилса максадга мувофик булар эди.

Мос равишда файллар тизимидаги каби  фойдаланувчиларнинг иерархик ташкил этиш пайди булади.  Яъни бизда «барча фойдаланувчилар» ва «фойдаланувчилар гурухи» деган тушунча  мавжуд. Гурухда реал фойдаланувчилар мавжуд. Бундай шахсийлаштиришни иерархик ташкил этиш куйидаги ларни келтириб чикаради. Кандайдир фойдаланувчини руйхатдан утказиш учун уни аввал кандайдир гурухга киритиш керак, – бу лаборатория, кафедра ёки укув булимии  булиши мумкин. Фойдаланувчилар гурухларга бирлашганликлари учун, фойдаланувчиларнинг ресурсларига мурожаат хукукини булиниш имконияти юзага келади. Яъни, масалан  фойдаланувчи унинг ресурсларидан барча гурухдаги фойдаланувчилар фойдаланишлари мумкин эканлигини эълон килиши мумкин. Бундай чизма купдаражали (гурухлар гурухчаларга булинадилар ва х.к.) мос хукук ва имкониятлардан келиб чиккан холда булиши мумкин. Хозирги кунда шундай операцион тизимлар яратилмокдаки, уларда  мурожаат хукуки факатгина иерархик структурага боглик булиб колмай,  балки мураккаброкдир, яъни мурожаат хукукини иерархияни бузган холда кушиш мумкин.

1.Файлларнинг асосий хусусиятлари.

1. Файл -бу исмга эга объект булиб, шу исм оркали файлни ичидаги маълумотлар билан ишловчи объектдир. Исм бу белгилар кетма-кетлиги булиб, унинг узунлиги аник операцион тизим турига богликдир.

2. Файлни жойлашишига боглик эмаслиги. Аник бир файл билан ишлаш учун у файлнинг ташки курилмадаги жойлашишини билиш талаб килинмайди.

3. Кириш/чикиш функциялари туплами. Хар бир операцион тизим файллар билан маълумот алмашинувни таъминловчи функциялар тупламига эга. Бу функциялар туплами куйидагилардан ташкил топади:

1.   Файл иш учун очилган. Ёки мавжуд ёки янги файлни очиш мумкин. Шундай савол тугилиши мумкин. – нима учун файлни очиш керак? Нима учун бирданига файлдан  укиш ва файлга  ёзиш мумкин эмас?  Хакикатда, бу операцион тизимга файл аник жараён билан ишлашини марказий равишда эълон килиш воситасидир. У эса ушбу маълумотларга асосан кандайдир ечим кабул килиши мумкин. (масалан, бошка жараёнлар учун ушбу файлга мурожаатни чеклаб куйиши мумкин.).

2.   Укиш/ёзиш. Купинча файл билан маълумот алмашинув берилганлар блоки куринишида ташкил этилиши мумкин. Ушбу берилганлар блоки икки хил хусусиятга эга. Бир томондан ихтиёрий хисоблаш тизими учун берилганлар блокининг улчами аник берилган, яъни булар аппарат -дастур улчамларидир.  Иккинчи томондан бу берилганлар блоки реал алмашинувда дастурчи томонидан ихтиёрий равишда бошкарилиши мумкин. Укиш/ёзиш функцияларида купинча алмашинув учун берилганлар блоки улчами ва укилиши ёки ёзилиши керак булган берилганлар блоки сони берилади. Танланган берилганлар блокининг улчамидан алмашинувларнинг унумдорлиги боглик, фараз килайлик бир машина учун берилганлар блокининг унумдорлик улчами 256 Кб булса, сиз 128 Кб лик алмашинувни амалга оширмокчи булсангиз, у холда сиз мантикий блокларни укиш учун икки маротаба 128 Кб дан  мурожаат киласиз. Бу холда сиз 256 Кб ни бир мартада укиш урнига, бир блокга икки маротаба мурожаат киласиз ва бир сафар ярмини, кейинги сафар кейинги ярмини укийсиз. Бу ерда яна баъзи бир «унимсизлик» элементлари  учраши хам мумкин, лекин уларни «аклли» операцион тизим текислаб юборади, агар текислай олмаса, демак бу сизнинг хатойингиз булади.

3.   Файл курсаткичини бошкариш. Хар бир очилган файл билан файл курсаткичи тушунчаси боглик. Бу курсаткич командаларнинг хисоблагич регистри булиб, хар бир вактда кейинги файл буйича алмашинувни амалга ошириш мумкин булган нисбий адресни курсатади. Ушбу блок билан алмашинув тугагандан сунг курсаткич блокдан ташкарига кучирилади. Файл билан ишни ташкил этиш учун ушбу  файл курсаткичини бошкариш талаб этилади. Файл курсаткичини бошкариш функцияси мавжуд булиб, курсаткични файл буйича  ихтиёрий (мумкин булган чегараларда) кучириш имконини беради. Курсаткич бу кандайдир узгарувчи булиб, дастурдан мурожат килиш мумкин, ва у файлни очиш функцияси (ушбу узгарувчини ташкил этувчи) билан боглик.

4.   Файлни ёпиш. Бу амал иккита функция оркали амалга оширилиши мумкин:

1) Файлни ёпиш ва охирги кийматини саклаб колиш.                               2) Файлни йукотиб (учириб) ташлаш.

Файл ёпилгандан сунг у билан барча алокалар тугатилади ва у каноник холатга утади.

Тизимли кайта ишловчи дастурларнинг асосий функциялари ва таркиби;

  1. Ассемблер;
  2. Алока редакторлар ва юкловчилар;
  3. Макропроцессорлар;
  4. Трансляторлар (таржимонлар);
  5. Тил  конверторлари;
  6. Редакторлар ва матн процессорлари;
  7. Отладчиклар;
  8. Дизассемблер;
  9. Кросс-системлар;

10. Кутубхоначилар.

1. Ассемблер –  бу шундай тизимли кайта ишловчи дастур булиб, у  бирон бир машинага мулжалланган  дастурлаш тилида ёзилган дастур матнини  объект кодига айлантириш учун мулжалланган. (Ассемблер тилидаги матн директивалар ва исмлардан ташкил топади,  машина коди эса  факат байтлардан ташкил топади.).

Изох: Объект коди  ёки алока редакторининг киришига, ёки юкловчининг киришига келиб тушади.

2. Алока редакторлари  – бу шундай тизимли кайта ишловчи дастур булиб, улар Ассемблер ёрдамида алохида олинган объект модулларини ягона модулга бирлаштиришга мулжалланган. Алока редактори чегарасида барча адрес йуналишлари  ягона адреслар фазосига  урнатилади.

Алохида объект модулларида хар бир объект модули алока редакторининг чикишини юкловчининг кириши деб хисоблайди.

Юкловчилар дастурни кайта ишловчи дастурга юклайлилар ва унга бошкарувни узатадилар. Яна шу билан бирга улар юкловчиларни богловчи алохида модулларни бирлаштирадилар.

Изох: Юкловчилар жой узгартирувчи ёки абсолют булишлари мумкин.

  • Абсолют юкловчилар  хар бир дастурни биттадан фиксирланган адрес буйича юклайдилар.
  • Жой узгартирувчи юкловчилар дастурни хотирадаги ихтиёрий буш жойга жойлаштиришлари мумкин.

3. Макропроцессорлар– бу шундай дастурларки, улар белгили кайта ишлашга мулжалланган булиб, бу жараёнда кандайдир киска фразаларга (макрочакирикларга) узун фразалар (макрокенгайтмалар) мос  куйилади. Макропроцессорнинг киришида кандайдир макрочакириклардан олинган  матн булиб , чикишида эса – макрокенгайтмалар булади.

4. Трансляторлар (таржимонлар) бир тилда ёзилган матнни бошка тилга угирадилар.  Трансляторларнинг куйидаги куринишларини ажратиб курсатиш мумкин:

  • компиляторлар: киришида юкори даража тилида ёзилган дастур матни, чикишида  машина кодларидаги алока редакторига ёки юкловчига узатиладиган  дастур.

Хусусиятлари: таржима функцияларини аник булиниши ва таржима килинган  функцияларни бажарилиши..

  • интерпретаторлар – функциялар булинмайдилар, балки мослаштириладилар. Интерпретатор таржимани ва бажарилишни каторлаб ва кооператив  бажаради. Улардан ёзилган дастурни диалог асосида кайта ишлашда фойдаланиш кулай.

5. Тил конверторлари  бир  юкори даража дастурлаш тилида ёзилган дастур матнини бошка юкори даража дастурлаш тилига айлантириш  учун мулжалланган. Улар S1 дастурлаш тилида ёзилган дастурни S2 дастурлаш тилига айлантириш учун керак..

6. Матн редакторлари мантни кайта ишлаш учун кенг имкониятларга эгаликлари билан фаркланадилар.

7. Отладчиклар  дастурларни бажарилиш жараёнида учраши мумкин булган хатоларни кидириш ва бартараф этиш учун мулжалланган.

8. Дизассемблер бу машина кодлари кетма-кетлигини ассемблер куринишига узгартирадиган дастур.

Изох: Улар хам баъзи бир харакатлар тизимини бажарилишини ассемблер куринишида куриш имконини яратадилар.

9. Кросс-тизим – бу дастур бир хисоблаш машинасида машина кодларида ифодаланган  бошка бир хисоблаш машинасининг дастурларини олиш учун кулланилади. Лойихалаштирилаётган хисоблаш тизимлари архитектурасини отладка килиш учун фойдаланилади.

10. Кутубхоначилар – киритилаётган матн , объект модули раками булиши мумкин булган кутубхона файлларини ташкил этиш ва уларга хизмат курсатиш учун дастурлардир.

Операцион тизим ривожланиш имкониятлари:

Операцион тизим узлуксиз ривожланишининг сабаблари:

1. Аппарат таъминотининг янги куринишларининг юзага келиши ва янгиланиши.

2. Янги сервислар.

3. Узгартиришлар киритиш.

Операцион тизимнинг ривожланиши зарурият, акс холда у янги дастурлар ва янги курулмалар билан ишлай олмайди.

Мисол учун, Intel процессорлар Hyper Thread  ни кулланишидан бошлаб Windows NT операцион тизимини бозордан сикиб чикара бошлади, улар иккинчи процессорни эмуляция килдилар. Как работать с эмуляцией ядра Windows NT  ни ядросини эмуляцияси билан кандай ишлашни «билмай колиб»  тизим йикилди.

Операцион тизимлар ривожланиши мумкин.

1.сакраб (Windows) ва

2.аста секин (UNIX).

Биринчи холда  аввалги мавжуд дастурлардан тулик воз кечишга тугри келади, чунки бу тизимда хеч кандай кучириб утишлар назарда тутилмаган. Аммо, факат унинг узигагина ёзилган  янги дастурлардан бутун махсулот юзага келади. Бу эса дастурий таъминотни ишлаб чикарувчилар ( яратувчилар) учун жуда фойдалидир.

Иккинчи холда янги курилма имкониятларини эски дастурлар билан боглашга тугри келади. Операцион тизим ва дастурлар имкониятларини кенгайтирувчи дастур заплаткаларини (патчлар) ишлаб чикаришга тугри келади.

Операцион тизимларни ишлаб чикиш.

Операцион тизимларни ишлаб чикиш буйича  уч ечиш  йули мавжуд.

Ёпик ечим. Барча ишлаб чикарилаётган махсулотлар  лицензиялар билан  химояланган ва ишлаб чикарилган фирмадан ташкарида узгартирила олмайди. Бундай ечим фирмадан курилмаларнинг узгаришига жуда тез эътибор беришни, маркетинг ва ишлаб чикаришга катта маблагларни сарфлашни талаб килади.

Бундай  йуналишнинг ютуги булиб, узи ишлаб чикараётган дастурий  махсулоти учун фирманинг жавобгарлиги  хисобланади. Яхши хужжатлаштириш. Универсальлик. Стандартлаштириш. Бундай йуналишдан фойдаланаётган таникли фирмалардан : Microsoft, SUN, SCO.

Бундай йуналишнинг камчилиги  фирмаларнинг инертлиги хисобланади. Узгараётган шароитларга тезда ахамият бера олмаслик кобилияти. Операцион тизимнинг  бошка фирма ишлаб чикараётган операцион тизим билан узаро алока кила олмаслиги, яъни мослаша олмаслиги имконияти.

Очик ечим. Ишлаб чикарилаётган ечимлар умумий лицензияга эга очик кодли ечимга буйсунадилар. Ихтиёрий хохловчи дастур махсулотининг берилиш кодини олиши мумкин, агар унинг автор томонидан  ишчи варианти куйилган булса. Бундай ечим  дастурий  махсулот хатосиз ишлашига кафолат бера олмайди. Бу ечимлар  куп холларда яхши хужжатлаштирилмаган. Бундай йуналишнинг ютуги булиб, турли давлат ва турли соха мутахассисларининг бир командада ишлай олиши имконияти хисобланади. Ишлаб чикарувчилар командасининг узгариш шартларига тезликдаги эътибори. Барча мумкин булган платформаларда ва ихтиёрий бошка тизимларда ишлай олиш имконияти. Бундай йуналишдан фойдаланаётган таникли фирмалардан: RedHat, SuSe, FreeBSD; Novell.

Аралаш ечим. Ишлаб чикарилаётган ечимлар  умумий коддан ташкари яна шахсий ишлаб чикарилаётган, лицензия билан химояланган  ечимдан хам фойдаланадилар. Бундай йуналиш очик ечимлардан энг яхши ечимларни танлаб олиш ва улар асосида узларининг ечимларини ташкил этиш имконини беради. Бундай йуналиш хар иккала йуналишнинг энг яхши хусусиятларини хисобга олади, чунки фирма факатгина узининг ечимларинигина  хужжатлаштириш ва унга жавобгарликни буйнига олибгина колмай, балки  танлаб олинган очик ечимлар учун хам жавобгарликни хис этади.  Бундай йулни танлаган фирмалар  MacOS, BeOs, QNX, Netrino.

2.Дастурлаш тизимлари

Дастурлаш тизимлари тил муаммоларини хал килувчи дастурларни бирлаштирадилар ва дастурий таъминотни ишлаб чикаришга мулжалланган.

Дастурлаш тизимларига  1) трансляторлар; 2) кутубхона  дастурлари; 3)редакторлар;4)компановщиклар; 5)загрузчиклар;6)отладчиклар кирадилар.

Дастурларга хизмат курсатувчи тизимлар – бу махсус сервис дастурлар булиб, улар ёрдамида операцион тизимни узига хизмат курсатиш мумкин.

Транслятор – бу дастур берилган дастурлаш тилидаги кирувчи дастур матнини унга эквивалент булган чикишдаги натижавий тилга угиради.

Компилятор – бу транслятор булиб, у берилган дастур мантнини унга эквивалент булган машина командаларидаги объект дастурга угиради.

Интерпретатор – бу дастур булиб, у берилган дастур матнини бирданига кабул килади ва бажаради ( натижавий коди булмайди)

Компилятор формал тиллар нуктаи назаридан  куйидаги 2 асосий функцияларни бажаради:1)         у кирувчи дастур матни тили учун англовчи хисобланади (кирувчи дастур занжирлар генератори булиб хисобланади);2)натижавий дастур тили учун генератор хисобланади (англовчи булиб хисоблаш тизими хисобланади)

Лексик тахлил – бу компилятор булаги булиб, дастур литераларини укийди ва улар оркали кирувчи тил лексемаларини куради.

Синтаксис тахлил – Тахлил боскичидаги компиляторнинг асосий булагидир. Тилнинг систаксис конструкцияларини ажратади.

Семантик тахлил – бу компилятор булаги булиб, кирувчи тил семантикаси нуктаи назаридан дастур матнини текширади.

Кодни генерациялашга тайёргарлик – натижавий дастурнинг синтези билан боглик булган харакатларга тайёргарлик бажарилади.

Кодни генарациялаш – натижавий кодни бевосита хосил этиш – кодни оптимизациялашни уз ичига олган асосий фаза.

Идентификаторлар жадвали – кирувчи дастур элементлари хакидаги маълумотларни сакловчи берилганлар туплами. Бир неча хил идентификаторлар жадвали мавжуд.

Утиш – бу ташки хотирадан берилганларни охирги укиш жараёни, уларни кайта ишлаш ва ташки хотирага жойлаштириш. Компиляциянинг бир фазаси  – бир утишдир

«таъминот» сузи хисоблаш тизимига юклатилган функцияларни  амалга оширилишига курсатмадир.

Умуман олганда дастурий таъминот тизимини  иккита катта булакка булинади:

  1. Амалий  ДТ (фойдаланувчи учун);
  2. Тизимли  ДТ.

Амалий дастурий таъминот – бу фойдалунувчиларнинг узлари учун узлари томонидан яратиладиган дастурлардир.

Тизимли дастурий таъминот  – бу барча учун яратилган ва универсал булган дастурлардир. У хам икки булакка булинади.:

  1. Умумий тизимли дастурий таъминот;
  2. Махсус тизимли дастурий таъминот.

Махсус тизимли дастурий таъминот хисоблаш тизимининг аник  специфик масалаларини ечиш учун умумий дастурий таъминотга кушилади (учишни бошкариш, харбий масалалар ва х.к.).

Умумий тизимли дастурий таъминот универсал булиб кенг омма вий масалаларни ечиш учун мулжалланган.

Бундан сунг умумий тизимли дастурий таъминотни куриб утамиз. У куйидаги таркибдан иборат:

  1. тизимли кайта ишловчи дастурлар;
  2. тизимли бошкарувчи дастурлар;
  3. кушимча 1 ва 2 каби дастурлар;
  4. текширувчи –диагностик дастурлар;
  5. амалий дастурлар пакети;
  6. Тизимли дастурий таъминот хужжатлари мажмуаси.
  7. 1. Тизимли кайта ишловчи дастурлар фойдаланувчиларга хизмат курсатиш масалаларини  уларнинг талабларига кура ечишга мулжалланган.
    1. 2. Тизимли бошкарувчи дастурлар хисоблаш тизимининг  барча  функцияларини фойдалирок ташкил этиш ва хисоблаш тизими ва фойдаланувчи уртасидаги интерфейсни ташкил этиш учун мулжалланган.

Изох: Факатгина тизимли бошкарувчи дастурларгина  аппаратурага бевосита мурожат кила оладилар.

Изох: Тизимли бошкарувчи дастурларни операцион тизимлар (ОТ) деб аталади.

ОТ интерфейснинг куйидаги вариантларини таъминлаши мумкин:

  • команда  интерфейси;
  • дастур интерфейси (чакириклар тизими ёки баъзи бир тизимли функцияларни бажариш учун кисм дастурлар куринишида);
  • фойдаланувчи  интерфейси (дарча, меню, клавишалар ва х.к.)

3. Кушимча тизимли дастурлар кайта ишловчи ва бошкарувчи дастурларни имкониятларини кенгайтириш учун мулжалланган.

Улар таркибига :

  • сервис дастурлари;
  • инструменталь дастурлар  киради.

Сервис дастурларга:

  • дастур кобиклари  (надстройки);
  • утилиталар киради.

Дастур кобигининг яхши томони  – бу хисоблаш тизимининг захираларига мурожатни яхшилашдан иборат ( Windows проводниги в ах.к.).

Утилиталар (ёрдамчи хизмат курсатувчи дастурлар) фойдаланувчини  кушимча имкониятлар билан таъминлаш (архивлаш, маълумотларни тиклаш, дискларга хизмат курсатиш, вирусга карши дастурлар).

Инструменталь дастурий курилмаларга куйидагилар киради:

  • СУБД;
  • Машина графикаси тизимлари

ва х.к.

4. Текширув-диагностик дастурлар ЭХМ нинг ишлатиш жараёнидаги носозликларни текшириш, аниклаш ва бартараф этиш профилактикаси учун мулжалланган.

5. Амалий дастурлар пакети – бу амалий масалаларни ечиш учун мулжалланган дастурлар тупламидир. Уларга – илмий хисоблашлар, моделлаштириш ва х.к. мисол булади.

Изох: Хар бир амалий дастурлар пакетининг  уз тили булиб, бу пакетга тегишли ишларнинг бажарилиш тартиби  ушбу тилда ифодаланади.

  1. Хужжатлар мажмуаси  – матнли хужжатларнинг ГОСТ (ЕСКД) га мувофик тайёрланган туплами булиб, уларда тизимли дастурий таъминотнинг мос булакларини эксплуатация килиш ва урнатиш хакидаги маълумотлар берилади.

arxiv