К оммутатор ды пайдалану мысалы 2 страница



Ағындардың бағытталуы және бағдарламалық каналдар

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 тәсілде де процессорде сыртқы құрылғылар қосылған шинаның үзілістер үстемдігі туралы ақпарат беріледі. Векторлық үзілістерді қолданатын құруларға үзілістер векторы тағайындалады. Ол процессордың сәйкес шиналарында болатын электрлік сигнал. Онда құрылғыға берілген сәйкес номерін анықтайды. Үзілістер векторы бекітілген конфигурацияланатын немесе бағдарламаланатын болады. Сұрау бойынша орындалатын үзілістерді қолданғанда процессор тек үзіліс үстемдігі туралы ақпарат алады. Үстемділіктің әрбір деңгейімен бірнеше құрылғы және сәйкес бірнеше бағдарламалар байланысуы мүмкін. Үзіліс пайда болған кезде процессор қай құрылғы үзді сұрағының анықтау керек.

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

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

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


Дата добавления: 2022-01-22; просмотров: 111; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!