йкестендіру станымы. 1 страница

Сйкестендіру аспектілеріні бірі баса операциялы жйелер шін жазылан немесе берілген операциялы жйені алашы жазылан версиясы, сонымен атар баса да операциялы платформалар шін операциялы жйе бадарламаларын орындау абілеті болып табылады. Екілік сйкестікті осымшаларды негізгі мтіндеріні дегейінде блу ажет .

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

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

Бір компьютер басаларды бадарламаларын орындау шін (мысалы, IBM PC типіндегі ПК бадарламасын Macintosh типіндегі Apple фирмасына арналан бадарламада орындау ажет), мндай компьютерлер зіне басынан тсініксіз машиналы командалармен жмыс істеуге тиісті.

Мндай жадайда 680×0 типті процессор (немесе PowerPC) 80×86 процессорына арналан екілік кодты орындауа тиісті.

80×86 процессорында озіні 80×86 екілік кодын иеленеді, сондытан оны не шін арналаны анытау шін, содан со 680×0 шін жазылан эквиволентті бадарламаны жзеге асыру рбір команданы тандауа тиісті.

Бадарламалы жне пайдаланушылы интерфейстерді сйкестікті амтамасыз ету ралдарыны бірі болып, бір жйеден баса жйеге жеіл кшірілу нтежиесінде UNIX стилінде бадарламалар жасауа рсат ететін POSIX стандартымен сйкестігі болып табылады.

ТАЫРЫП 2. UNIX ОЖ НЕГІЗГІ ЖЙЕЛІК

ШАЫРТУЛАРЫ

Масаты:UNIX ОЖ негізгі жйелік шаыртуларын йымдастыру тсілдерін арастыру

Кілттік сздер:файл, каталог, метадеректер, виртуалды файлды жйе, команда, шаырту, уаытты блу ядросы, ресурс, рдіс, командалы интерпретатор, ядро, пароль, аутентификация, идентификация

Дріс жоспары (1 саат)

  1. Файлдар, каталогтар, бадарламалы каналдармен жмыса арналан жйелік шаыртулар.
  2. Файлды жйелерді р трлі типтерінде деректерді жне метадеректерді саталуын йымдастыру.
  3. UNIX, Linux ОЖ файл типтері. Магниттік дискілерде томдарды йымдастыру. UNIX, MS DOS/Windows ОЖ файлдармен жмыса арналан жйелік шаыртулар.
  4. Файл метадеректерін згертуге арналан ОЖ жйелік шаыртулары мен командалары. Linux жне Solaris ОЖ виртуалды файлды жйелері(VFS).

UNIX – бл амалды жйені уаытты блу ядросы, яни есептеуіш машинаны ресурстарына иелік ететін жне оларды олданушыа жеткізетін бадарлама. Ол олданушыа оз бадарламасын іске осуа жне перифериялы рылыларды басаруа ммкіндік береді, файлды жйені жмысын амтамасыз етеді. UNIX кптапсырмалы, кполданбалы амалды жйе болып табылады.

UNIX АЖ-ні жмысын кптеген зара байланысты рдістерді функциялау ретінде крсетуге болады. Жйені іске осан кезде алдымен shell (рдіс 1) командалы интерпретаторын іске осатын ядро (рдіс 0) іске осылады.

олданушыны UNIX жйесімен йлесімділігі командалы тіл ралымен интерактивті режимде орындалады. Амалды жйені аптамасы - shell – енгізілетін командаларды интерпретациялайды, сйкес бадарламаларды (рдістерді) іске осады, жауапты хабарламаларды алыптастырады жне шыарады.

UNIX-ті негізгі рылымды блімі болып файлды жйе табылады. Ол файлдар мен каталогтар аашынан тратын иерархиялы рылыма ие. Тбірлі каталог "/" символымен ерекшеленеді, каталог аашына жол "/" символымен ажыратылатын каталогтар аты бойынша беріледі, мысалы:

/usr/include/sys

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

UNIX АЖ-ні рбір файлы файлдарды жазушы (дескриптор) деп аталатын деректерді кейбір рылымымен аныталуы ммкін. Онда файл жніндегі барлы апарат бар: файл типі, атынау режимі, олданушы идентификаторы, лшемі, файл адресі, соны атынау жне соы модификация уаыты, ру уаыты жне т.б.

Файла атынау аты бойынша орындалады. Файлды локальді аты 1-ден 14-ке дейінгі лшемі бар System V нсасында табалар жиынынан трады. Табалар ретінде сандарды, латын алфавитіні ріптерін жне ‘_’ табасын олданан жн. Файлды локальді аты сйкескаталогта саталады. Тбірлі каталогтан файла дейінгі жол файлды толы аты деп аталады. Егер файла атынау "/" табасынан басталса, онда толы ат крсетілген деп есептеледі жне оны іздеу тбірлі каталогтан басталады, ал баса жадайда файлды іздеу аымдаы каталогтан басталады.

Кез келген файлда бір неше ат болуы ммкін. Жалпы файл аты оан сілтеме болып табылады.

Жйеде тіркелу

олданушыны жйеде жмыс жасауы олданушыдан аты мен паролін срайтын login бадарламасын іске осатын getty терминалды рсат серверіні активизациялануынанбасталады.

Одан кейін олданушыны /etc/passwd файлында саталатын апаратпен аутентификациясы тексеріледі. Бл файлда келесі жазбалар саталады:

  1. олданушыны тіркелген аты;
  2. шифрленген пароль;
  3. олданушы идентификаторы;
  4. топ идентификаторы;
  5. парольді минималды олданылу мерзімі жніндегі апарат;
  6. олданушы жніндегі жалпы апарат
  7. олданушыны бастапы каталогы
  8. олданушыны shell тіркелімі

Егер олданушы жйеде тіркелген болса жне дрыс пароль енгізсе, login /etc/passwd - олданушыны shell тіркелімінде крсетілген бадарламаны іске осады.

Жйе олданушылары жне файл иелері

Жйені олданушы – бл бадарламаны іске осылу ммкіндігін анытайтын жне файлдара иелік ететін негізгі ытара ие объект. Шексіз ытара ие жалыз ана олданушы, ол – суперолданушы немесе жйе администраторы.

Жйе олданушыларды олданушы идентификаторы (UID - User Identifier) бойынша идентификациялайды. рбір олданушы сас тапсырмалары бар олданушылар тізіміні бір немесе бірнеше топтарыны мшесі болып табылады. рбір топты зіні ерекше топты идентификаторы (GID - Group Identifier) бар. Топа жату осы топ мшелеріне тн орта ытарды анытайды.

UNIX олданушысыны ыы – бл е алдымен файлдармен жмыс істеу ыы. Файлдарды екі иесі болады – олданушы (user owner) жне топ (group owner).

Сйкесінше файлдарды орау атрибуттары файлды олданушы-иесіні (u), ыын, топ-иесі (g) мшесіні ыын жне басаларыны (o).ытарын анытайды.

Аындарды баытталуы жне бадарламалы каналдар

UNIX АЖ-де ш стандартты аындар бар: енгізу аыны, шыару аыны жне стандартты протокол аыны (ателер аыны).

Аындарды баытталуы стандартты енгізу/шыаруды згертуге ммкіндік береді: < - стандартты енгізу кздеріні згеруі; >, >> - стандартты шыару абылдамасыны згеруі.

Мысалдар:

cat > filename - cat бадарлама шыарылуыны filename файлына баытталуы (егер бл файл бар болса, онда оны ішіндегілер жойылады);

cat >> filename - cat бадарламасыны шыарылу рамын filename файлыны рамына осу;

cat < filename - filename файлыны рамынан cat бадарламасыны стандартты енгізілуін алыптастыру.

Стандартты аындар – енгізу аыны, шыару аыны жне ателер аыны (протоколдар аыны) нмірленеді – 0, 1 жне сйкесінше 2. Бл нмірлерді (аындар дескрипторларыны нмірлері) аны трде олдануа болады. Мысалы:

prog 1>file жазбасы

prog >file жазбасыны эквиваленті

Аын атын файл атынан ажырату шін, аын нміріні алдына ‘&’ табасы ойылады:

prog >file 2>&1

Бл жерде шыу стандартты аыныны file (>file) файлына айта баытталуы орындалып жатыр. Сондай-а ате жніндегі хабарлама да file файлына айта баытталатын болады: 2>&1 жазбасы ателер аыныны з кезегінде файла айта баытталан шыу стандартты аынына айта баытталуын білдіреді.

Ескерту: командалар анализі интерпретатормен онан сола арай орындалады: алдымен аындарды бірігуі (2>&1) орындалады, содан кейін шыу стандартты аыны (1) file файла айта баытталады.

Осыан байланыстыоан енгізілген барлы табаларды жоятын /dev/null рылыларын олдануда те пайдалы. Бл шыу аындарын толыымен шірген кезде олданылады.

Канал – блUNIX АЖ-ні рдістерін енгізу/шыару буферімен байланыстыратын бадарламалы рал. рдісті осы трде іске осылуы

$ рдіс_1 | рдіс_2 | ... | рдіс_n

рдіс_1-ді стандартты шыысы рдіс_2 стандартты енгізуге жабы, рдіс_2-ні стандартты шыысы рдіс_3 стандартты енгізуге жабы жне т.б. болатынын білдіреді.Осыан байланысты бірінші канал, содан кейін бірмезетте барлы рдістер іске осылады жне оларды орындалуыны жалпы уаыты бсе жретін рдіспен аныталады.

Мысал: ls | wc -l

Дл осы амалды келесідей орындауа болады:

ls > buffer

wc -l < buffer

rm -f buffer

ls командасы экрана аымдаы каталогты файлдар тізімін (шыуды стандартты аынын) шыарады, ал wc -l командасы кіріс аынындаы жолдар санын есептейді (файлдаы, егер файл крсетілмесе – стандартты кіріс аынында). Осылайша, осы екі команданы бадарламалы каналмен бірігуі аымдаы каталогты файлдар санын есептеуге ммкіндік береді.

орытынды кесте:

> file Шыару стандартты аыныны file файлына баытталуы
>> file file файлына шыару стандарты аынынан деректер осу
< file file файлынан енгізу стандартты аынын алу
p1 | p2 p1 бадарламасыны шыу стандартты аыныны p2 бадарламасыны енгізу аынына берілуі
n > file Шыу аыныны n дескрипторы бар файлдан file файлына осылуы
n >> file Шыу аыныны n дескрипторы бар файлдан file файлына жазбалар осу
n > &m Аындарды n жне &m дескрипторларыны бірігуі

UNIX жйесіні командалы тілі

Команданы пернетатадан енгізу промпты (шаыру), детте, - $ пайда болуынан кейін орындалады.

UNIX жйесімен жмыс жасауды жеілдету шін файлдар атыны шаблондарын (немесе метасимволдарды) олдануа болады.

? – бір кез келген символ;

* - кез-келген символдарды еркін трдегі сандары

Мысалы:

*.c - "c" кеейтіліміндегі барлы файлдарды береді;

pr???.* - аты "pr"-ден басталатын файлдарды береді, бес табадан трады жне кез келген кеейтілімде болады.

Анытамалы командалар

date – кн мен уаыт тізімін алу.

who – осы стте жйеде жмыс істеп отыран олданушылар тізімін алу.

Мысал:

$ who

petr tty4i Mar 11 18:46

ann tty12 Mar 11 16:29

олданушы аты, терминал нмірі, олданушыны жмыс істеу кні мен уаыты шыарылады. Who am iолданушыны зі туралы апарат шыарады.

man – анытамалы апаратты алу:

$ man [команда аты]

man командасыны баламасы ретінде UNIX кейбір трлерінде use командасы олданылады:

use [команда аты]

Каталогпен жмыс істеу командалары

pwd – аымдаы каталог атын шыару. Мысалы:

$ pwd

/usr/work/petr

ls – каталог ішіндегісін экрана шыару:

$ ls [-кілттер] [каталог аты]

Егер каталог аты крсетілмесе аымдаы каталогтын ішкі рамы крсетіледі. Кілттер шыару форматын анытайды, мысалы:

-l - рбір файл жніндегі толы апаратты шыару;

-a - "." и ".." оса аланда, барлы файлдар тізімін шыару;

-t – тізімні рылу уаыты бойынша срыпталуы;

-C – тізімді алфавит бойынша бір неше колонкада шыару.

Мысал:

$ ls –l

total 5

drwxrwxrwx 6 petr user1 496 Mar 10 12:01 tmp

-rw-rw-r-- 1 petr user1 156 Mar 12 15:26 file.c

-rwxrwx--x 2 root root 4003 Apr 01 11:44 pe.out

рсат сілтеме олд. олд. файл соы файлды

алу ыы саны аты группа лщемі, модифика локальді

аты байт ция уаыты аты

cd – директория ауысуы (каталогты):

$ cd [каталогты толы аты]

Бл жадайда крсетілген каталог аымдаы болады. cd командасы аргументсіз олданушыны бастапы каталогын аымдаы каталог ретінде алыпа келтіреді.

mkdir – жаа каталог ру:

$ mkdir [-кілттер] жаа каталог аты

Жаа каталог ру шін олданушы аымдаы каталогты аталы каталогына жазу ыына ие болу керек.

rmdir – директорияны шіру:

$ rmdir каталогтар тізімі

Егер олданушыны каталога жазу ыы болмаса немесе ол бос болмаса, жйе каталогты шіруге жол бермейді. Аымдаы каталог шірілген каталогтар тізбегінде болмауы керек.

Файлмен жмыс істеу командалары

rm - файлдарды (файла сілтемені) шіру:

$ rm [-кілттер] файлдар тізімі

Бл команда егер олданушыны осы атауы бар каталога жазу ыы болса файла сілтемелерді шіреді (яни файлды локальді атауына). Егер шірілетін файл жазудан оралан болса, онда команда файлды шіруге келісім срайды.

Кілттер:

-i – рбір шірілетін файл шін келісу ажеттілігін енгізеді ;

-f – кез келген шірілетін файл шін келісу ажеттілігін кейінге алдырады;

-r – барлы файлды жне берілген каталогты ішкі каталогтарыны, кейіннен сол каталогты зіні рекурсивті шіру режимін береді.

chmod – файлды орау атрибутыны згеруі:

$ chmod файлдар тізіміні атрибуты

Файл атрибуттары р трлі жолмен берілуі ммкін:

1) ріптік кодировкамен. орау атрибуттары келесідей белгіленеді:

r – оылуы бойынша рсат;

w – жазылуы бойынша рсат;

x – орындалуы бойынша рсат.

олданушылар категориясы келесідей беріледі:

u – фай иесіне арналан атрибуттар;

g – файл иелеріні топтарына арналан атрибуттар;

o – зге де олданушылара арналан атрибуттар;

a – олданушыларды барлы категорияларына арналан атрибуттар.

Орындалатын операция келесідей табалармен кодталады:

= - берілген олданушылар категориясы шін барлы атрибуттар маынасын орнату;

+ - берілген олданушылар категориясына атрибут осу;

- - берілген олданушылар категориясынан атрибут алып тастау.

Мысал. mar атауы бар олданушыа жне топ-олданушыа файлдан ооуа жне жазуа рсат беру:

$ chmod ug+rw mar.*

2) сегіздік сан ретінде. орау атрибуттарыны санды маынасы шлшемді сегіздік санмен кодталады. Мысалы:

Табалы крініс rwx r-x r--

Екілік крініс 111 101 100

сегіздік крініс 7 5 4

Мысал. олданушы мен топ-олданушылар шін оужне жазу атрибуттарын жне баса олданушылар шін тек оу атрибуттарын орнату:

$ chmod 0664 gb??.doc

cat – шыу стандартты рылысына файлдарды шыарылуы жне осылуы:

$ cat [-кілттер] [кіріс_файл1[кіріс_файл2...]]

Команда крсетілген файлдарды кезегімен оиды, егер олар бірнешеу болса, оларды біріктіріп жне есептелген берілгендерді шыуды стандартты аынына (экрана) шыарады. Аындарды айта баыттау (бадарламалы каналдарды) кмегімен cat командасы р трлі амалдарды орындауда олданылуы ммкін.

Мысалдар:

1) $ cat > file1

- file1 файлында пернетатадан терген мтін жазылады.

Егер осыан дейін file1 файлы рылмаан болса, ол рылады; егер рылан болса, оны бастапы мліметтері шіріледі. Мтінді енгізу Ctrl+D пернелер комбинациясын басан кезде аяталады.

2) $ cat file1 > file2

- file1 файлындаы мліметтер file2 файлына кшіріледі. Бл кезде file1 згеріссіз алады.

3) $ cat file1 file2 > result

- file2 файлындаы мліметтер file1-ге осылады жне result файлына кшіріледі.

4) $ cat file1 >> file2

- file1 файлыны мліметтері file2 файлыны соына осылады.

cp – файлды кшіру:

$ cp кір_файл_1 [кір_файл_2 [...кір_файл_n]] шы_файл

Бл команда екі режимде олданылады:

1. егер шыыс файл арапайым файл болса, онда кіріс файл тек біре ана болады; оны ішіндегісі шыыс файлына кшіріледі. Егер шыыс файлы рылан болса, онда оны бастапы мліметтері шіріледі, ал орау атрибуттары алады; егер шыыс файлы рылмаан болса, онда ол рылып, кіріс файлыны атрибуттарына ие болады.

2. егер шыыс файлы каталог болса, онда оан барлы крсетілгенкіріс файлдары кшіріледі, біра каталог міндетті трде алдын ала рылан болуы керек.

Мысал. Аымдаы каталогтан з крсетілген аттарымен екі файлды кшіру:

$ cp f1.txt f2.txt ../usr/petr

$ ls ../usr/petr

f1.txt

f2.txt

mv – файлдар сілтемесі:

$ mv кір_файл_1 [кір_файл_2 [...кір_файл_n]] шы_файл

Сілтеме командасыны кшіру командасынан айырмашылыы кіріс файлыны команда орындаланнан кейін жойылады.

Мысал. Крсетілген каталогтан "c" кеейтілімі бар файлды аымдаы каталога кшіру:

$ mv petr/*.c

ln – файла жаа сілтемелер жасау:

$ ln вх_файл_1 [вх_файл_2 [...вх_файл_n]] вых_файл

Бл команда екі режимде олданылады:

1. егер шыыс файл арапайым файл болса, онда кіріс файлы біреу ана болады; бл жадайда оан шы_файл деген атпен сілтеме жасалады жне оан кір_файл_1 деген атпен, сондай-а шы_фаайл атымен атынауа болады. Файла сілтемелер саны жазбада 1-ге кбейіп отырады.

2. Егер шыыс файл каталог болса, онда атаулары бар барлы кіріс файлдары жне олара сілтемелерде элементтер рылады.

Мысал:

$ ls

file1

$ ln file1 file2

$ ls

file1

file2

ТАЫРЫП 3-4. ОПЕРАЦИЯЛЫ ЖЙЕ

ЗІЛІСТЕРІН ДЕУ

Масаты:ОЖ зілістерін деу мен наты уаыт операциялы жйелерін зілістерді дамыан жйелерін растыруын жне зілістерді деу кезектілігін арастыру

Кілттік сздер:зілістер механизмі, зілістер диспетчері , модуль, кодты сегмент, режим, аппаратты платформа

Дріс жоспары (2 саат)

  1. Бадарламалы зілістер жне эмуляторларды рылысы.
  2. Орталы процессормен орындалатын амалдар рамын кеейту шін бадарламалы зілістер командаларын пайдалану.
  3. Аппаратты зілістер. Наты уаыт операциялы жйелерін зілістерді дамыан жйелерін растыру.
  4. X11 жне Photon графикалы ішкі жйелері. ашыталан сервермен жмыс ммкіндіктері. Графикалы ішкі жйелерде осымшаларды растыру ралдары.
  5. зілістерді деу кезектілігі. зілістерді деу бадарламаларыны Fork-дегейі.

зілістер механизмі

зілістер механизмі компьютерді аппаратты рылылар мен жне ОЖ-н бадарламалы ралдарымен олданады. Аппаратты олдауды процесорды типінен туелді жне баса аппаратты рылылара туелді зіні ерекшеліктері бар. зілістерді аппаратты жзеге асу ерекшеліктері операциялы жйе ралында жмыс істейтін бадарламалы рылылара сер етеді.

зілістерді орындауды екі негізгі тсілі бар:

  1. Vectored вектолы
  2. Срау бойынша (Опрашиваемый polled)

2 тсілде де процессорде сырты рылылар осылан шинаны зілістер стемдігі туралы апарат беріледі. Векторлы зілістерді олданатын рулара зілістер векторы таайындалады. Ол процессорды сйкес шиналарында болатын электрлік сигнал. Онда рылыа берілген сйкес номерін анытайды. зілістер векторы бекітілген конфигурацияланатын немесе бадарламаланатын болады. Срау бойынша орындалатын зілістерді олдананда процессор тек зіліс стемдігі туралы апарат алады. стемділікті рбір дегейімен бірнеше рылы жне сйкес бірнеше бадарламалар байланысуы ммкін. зіліс пайда болан кезде процессор ай рылы зді сраыны анытау керек.

ОЖ-де зілістер диспетчері деп аталатын зілістерді деуді басаратын арнайы бадарламалы модуль бар. зіліс пайда боланда зіліс диспечері е алдымен шаырылады. Ол баса зілісге тиым салады. зіліс себебін агнытайды. Содан со диспечер зіліс приоритетін жне процессор орныдап жатан рдісті стемділігін салыстырып процессора керекті рекетті орындауа ммкіндік береді.

зілістер негізінде мультибадарламалау

зілістер операциялы жйені басты жргізуші кші болып табылады. зілістер жйесін сндірсеіз, ОЖ-дегі «мір» олма-ол тотап алады. Периодты немесе кезедік зілістер таймерден мультибадарламадаы ОЖ- ауысымды рдісін шаырады, ал зілістер енгізу-шыару рылысынан берілген аымдарды басарады, осылардаы есептуіш жйе сырты дниемен алмасып отырады.