Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_SPO_kaz_1.docx
Скачиваний:
70
Добавлен:
18.02.2016
Размер:
1.35 Mб
Скачать

Тақырып 7. Linux ож драйверлерді жобалау және іске асыру

Мақсаты: LINUX ОЖ драйверлерді жобалау және іске асыруын талдау

Кілттік сөздер: командалық жол, ядро, бастапқы код, графикалық кеңейтілу, терезе, бума, файлдық жүйе, параметр, журнал

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

  1. Linux ОЖ модулдерді (компиляция, орнату, жою) әкімшілік-тендіру.

  2. Linux ОЖ драйверінде file_operations құрылымы, драйвермен орындалатын негізгі функциялар.

  3. Драйверлерді құрастыру құралдары. Linux ОЖ арнайы файлдары, оларды құру және қолдану.

  4. Жүргізуші және минорлық сандар.

Linux жедел даму үстіндегі әрі сенімді о.ж. Linux-тің негізін Линус Тровалдьс (Linus Trovalds) 1991 жылы Unix-ке сүйене отырып,оның ашық кодты версиясы ретінде қалыптастырды. Линус Тровалдьс Хельсинк университетінде оқып жүрген кезіде Unix-тің жаңа версиясын жасауда көптеген бағдарламалаушытердің қолдауын табады.Бұл қолдаудың нәтижесінде Linux атты жаңа о.ж пайда болады.

Linux операциялық жүйесінің негізгі түсініктері

  • Free Software – еркін бағдарламалық қамтама (ЕБҚ), оны еркін қолданып және таратуға рұқсат ететін еркін лицензиялардың біреуі аясында таратылады.

  • Open Source – бастапқы кодтары ашық бағдарламалық қамтама не ашық бағдарламалық қамтама.

  • GNU/Linux – Linux ядросына негізделген операциялық жүйесінің атауы. Көбінесе осы сөз тіркесінің бірінші бөлігі айтылмайды, тек Linux (Линукс) деп айтылады. GNU/Linux құрамасы – ядро, командалық өндеуіш және бағдарламалық қамтаманың жинағы.

  • Дистрибутив – бағдарламалық қамтаманың (операциялық жүйелер де) таратылу түрі, құрамында осы операциялық жүйенің орнатқышы мен минималды бағдарламалар жинағы болады. Linux дистрибутивтерінің мысалдары: Ubuntu, Debian, Slackware, openSUSE, Archlinux, т.б.

  • Консоль (командалық жол) – негізі, ол – операциялық жүйенің мәтіндік көрінісі, түрі. Мәтіндік командаларды енгізу-шығару құралы. GNU/Linux жүйелерінде командалық жол деп көбінесе Bash командалық өңдеуіші және оның графикалық кеңейтуі (Xterm, Gnome-terminal) аталады.

  • Root (суперпайдаланушы) – GNU/Linux жүйелерінде шектеусіз әкімшілік құқығы бар пайдаланушысы.

  • GUI (ағылш. «graphical user interface») – пайдаланушының графикалық интерфейсі. Яғни, терезелер, панельдер, батырмалар мен т.с.с.

  • Window Manager– терезелердің орналасуын мен олардың әрекеттерін басқарады. Мысалы, Compiz – графиалық эффектілерді ұсынады.

  • Desktop Environment– жұмыс үстелінің ортасы, негізгі үші түрі бар: KDE, GNOME, XFCE. Құрамында бағдарламалар жинағы болуы мүмкін. Мысалы, мәтіндік редактор ретінде Gnome ішінде gedit, ал KDE ішінде Kwrite болып келеді.

  • Скрипт – командалық өңдеуіш орындайтын командалар жазылған файл. Мысалы, командалар тізімін қайта-қайта тере бермеу үшін оны скриптке жинауға болады

  • Десте – бағдарламалық қамтама файлы, құрамында бағдарламаның өзі, қосымша мәліметтер болады (лицензия мәтіні, мысалға). Десте атауы әдетте стандартты болады, бағдарлама аты, нұсқасы, архитектурасы көрсетіледі. Сонымен қатар, Linux әлемінде қолданатын дестелер түріне сәйкес дистрибутивтер екі үлкен топқа бөлінеді. Ең көп таралғандары deb және rpm дестелер түрлері.

  • Дестелер менеджері– БҚ дестелерін басқаруға арналған бағдарлама. Бағдарлама дестелерін іздеу, орнату, өшіру, жаңарту мен т.с.с. әрекеттерді орындайды Мысалы: dpkg, rpm. Archlinux үшін дестелер менеджері – pacman.

  • Репозиторий – БҚ дестелері орналасатын жер. Ол интернеттегі серверде, жергілікті компьютерде, не компакт-дисктерде орналасуы мүмкін. Репозиторийден дестелер менеджері дестелер туралы ақпаратты оқып, оларды жүктеп ала алады.

  • Бастапқы код– бағдарламаның «шикі» түрі, яғни, бағдарламалау тілінде жазылған код файлдары мен қосымша құрама (суреттер, құжаттама, т.с.с.). Бағдарлама осы түрінде пайдасыз, қолдану үшін оны «жинау» керек, бұл үрдіс компиляция деп аталады.

Linux-тың файлдық жүйесі

Linux- та түбірлік бума қысқа және нұсқа да — «/» деп белгіленеді. Барлық қалған бумалардың толық аттары (жолдары) «/» белгісі мен оған оң жағынан қосылған тізбектей бірінін ішіне бірі салынған бумалар аттарынан тұрады. Жолдағы бумалар да «/» («слэш») таңбасымен ажыратылады. Мысалы, /home жазбасы түбірлік бумада орналасқан («/») «home» бумасын анықтайды, ал /home/user — «user» бумасы «home» бумасында орналасқанын көрсетеді.

Тіркеу — бұл файлдық жүйенің бір бумасына басқа бөлек бүтін файлдық жүйені қосу әрекеті. Тіркеу үшін бос бума керек – ол тіркелу нүктесі деп аталады. Тіркелу нүктесі ролін кез-келген бос бума атқара алады – ол жағынан Linux-та ешқандай шектеулер жоқ. Mount командасының көмегімен біз буманың ішінде осындай жерде орналасқан файлдық жүйені көрсету керек екенін білеміз. Осы әрекеттен кейін бума ішінде (тіркелу нүктесінде) сәйкес тіркелген файлдық жүйесінің файлдары мен бумалары көрсетіле бастайды.

Linux үшін ең маңызды түбірлік файлдық жүйе (root filesystem) болып келеді. Басқа құрылғылардағы барлық файлдық жүйелер оған қосылады (тіркеледі). Назар аударыңыз, түбірлік буманың өзі де тіркеледі, бірақ басқа файлдық жүйеге емес, «Linux-тың өзіне», тіркелу нүктесінің ролін «/» атқарады (түбірлік бума). Сондықтан жүйе қосылған кезде түбірлік бума ең бірінші болып тіркеледі, ал жүйе сөндірілген кезде соңғы болып тіркеуден босатылады.

Linux-жүйесінің түбірлік бумасында әдетте аттары стандартты ішкі бумалар орналасады. Одан әрі, аттарына қоса, олардың құрамасының түрлері де стандартпен шектеледі. Бұл стандарт балық Linux-жүйелерінде сақталады, сол үшін сіз әр Linux-та /etc, /home, /usr/bin т.с.с. тауып, олардағы құрамасының түрін көбінесе болжай аласыз. Файлдардың стандартты орналасуы адамғы және бағдарламаға жүйенің белгілі бір бөлігін қайдан іздеу керек екенін анықтауды мүмкін қылады. Пайдаланушы үшін осындай жағдай кез-келген Linux жүйесінде керек нәрсені таба алатынын көрсетеді.

Тіркеу параметрлері

Тіркеу әрекетін орындаған кезде, Linux-жүйесін орнату үшін тіркеу бумасын таңдау жағдайын қоса, тіркелген файлдық жүйенің қасиеттерін өзгертуге болады. Ол үшін mount утилитасына бір немесе бірнеше параметр көрсету керек. Барлық файлдық жүйелер қолдайтын бірнеше параметрлер бар, сонымен қатар кейбір файлдық жүйелерде тек өздеріне тән тіркеу параметрлері болады. Тіркеу параметрлері туралы көбірек mount утилитасының әдістемесінде оқуға болады (mount(8)).

Файлдық жүйелердің маңызды қасиеті – журналдауды қолдау. Журналдалатын файлдық жүйе дискіге жазудың барлық әрекеттерін үздіксіз бақылап отырады, сондықтан электрқорегі кенет өшірілгеннен кейін, компьютер қайта қосылған кезде файлдық жүйе әрқашан да жұмысқа дайын күйінде болады.

Linux-тың жұмысы үшін керек баптаулардың барлығын (файлдардың барлық керек түрлері мен атрибуттарды, соның ішінде рұқсат құқықтарын сақтауды) қолдайтын файлдық жүйелердің бірнеше түрі бар:

Ext2/3

Файлдық жүйенің осы түрі Linux үшін арнайы жасалып, Linux-жүйелердің көбінде қолданылады. Ext3 пен Ext2 айырмашылығы, біріншісі кейін шығып, құрамында журналдау қолдауы бар. Қалған қасиеттері бойынша осы екі файлдық жүйе бірдей, және бір-бірне оңай айналдырылады. Сенімділігі жоғары болған соң әдетте журналдауы бар нұсқасы (Ext3) таңдалады. Диск әрекеттер белсенділігі жоғары болған кезде Ext3 файлдық жүйенің өнімділігі төмендейді және жүйеге түсетін орташа жүктелу артады (Load Average).

ReiserFS

Бұл файлдық жүйе дерекқорға ұқсас: оның ішінде өзінің индексация мен жылдам іздеу жүйесі бар, ал оның файл мен бумалар ретінде көрінуі – жүйенің тек бір көрінісі ғана. Әдетте ReiserFS ұсақ файлдардың көп санын сақтауға үшін жақсы келеді деп саналады. Журналдауды қолдайды.

XFS

Бұл файлдық жүйе үздіксіз жазылатын не құрамасы өзгертілетін үлкен және өте үлкен файлдарды сақтауға арналған. Ext3 сияқты өнімділігі нашар емес, бірақ оны қолданған кезде электрқорегі кенет өшірілсе, файлдардың құрамасын жоғалту қаупі бар (қауіпсіздік салдарынан осындай кезде файлдың құрамасын нөлдеу қолданылады). Үздіксіз қорек көзіне (UPS) қосылған компьютерлерде қолдануға ұсынылады.

SWAPFS

Файлдық жүйенің осы түрі ерекше болып келеді, және ол қатты дискте swap аймағынжасау үшін қолданылады. Ол аймақ көбінесе жеке бөлімге шығарылады, және Linux-та виртуалды жады ретінде қолданылады. Егер физикалық жады аз болса, мәліметтердің бір бөлігі осы аймаққа көшіріледі.

JFS IBM компаниясы осы файлдық жүйесін жүктелуі үлкен серверлер үшін жасаған: жасау кезінде өнімділік пен сенімділікке назар аударылған, және қойылған мақсаттарға жетті. Журналдауы бар.

Сонымен қатар, Linux-та, өзінің файлдық жүйелерден басқа, тағы да көптеген түрлеріне қолдау бар. Егер ол файлдық жүйелерге жазу тәсілі белгілі болса, онда жазу мен оқу әрекеттері қолжетерлік болады, басқа жағдайда – тек оқуға ғана болады. Файлдық жүйелерің ондай түрлері әдетте басқа операциялық жүйелердің меншігі болады.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]