Жоспар №12653

Курстық жоба: Linux операциялық жүйесіндегі wait() функциясының сипаттамасы және алгоритмі

Сұрақ-жауап

Сұрағыңызға жасанды интеллект жауап береді

 ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ҒЫЛЫМ ЖӘНЕ БІЛІМ МИНИСТРЛІГІ Қаныш Сәтбаев атындағы Қазақ Ұлттық Техникалық Университеті Ақпараттық технологиялар институты Есептеу техника кафедрасы КУРСТЫҚ ЖОБАҒА ТҮСІНІКТЕМЕ Тақырыбы: Linux операциялық жүйесіндегі wait() функциясы Алматы 2008 Мазмұны Кіріспе ............................................................................................................ 4 LINUX операциялық жүйе ретінде ......................................................... 4 Көпқолданбалы операциялық жүйелер ................................................... 5 II Негізгі бөлім 1 LINUX-пен танысу ................................................................................ 5 1.1 LINUX операциялық жүйесінің қысқаша тарихы ...................... 1.2 LINUX-пен жұмыс жасауға ыңғайлы процессорлар .................. 1.3 OS-тің таралу ережелері ............................................................. 6 1.4 LINUX дистрибутивтері ............................................................... 8 2 LINUX-ке арналған бағдарламалар ..................................................... 8 3 LINUX жүйесінің күйге келтірілуі және конфигурациялары ......... 3.1 LINUX дыбыстық жүйенің күйге келтірілуі ............................... 9. 3.2 Графиктік ережелер үшін бейнеадаптер режимі..................... 10 3.3 LOCALE: жүйедегі тілдер ........................................................... 11 4 LINUX ортасында жұмыс істеу ....................................................... 11 4.1 LINUX-тің практикалық қолданылуы ........................................ 13 5 Linux операциялық жүйесіндегі wait () функциясы .......................... 5.1 Wait функциясының алгоритмі ................................................... 15 III Қорытынды ............................................................................................ 19 Қолданылған әдебиеттер тізімі ............................................................... 20 Кіріспе Linux операциялық жүйесі көптеген жерлерде, яғни ұжымдық мекемелер Бүгінгі барлық операциялық жүйелердің жақсы қасиеттерін Linux OS Linux-тің болашағы жоқ деп айтылуда. Бірақ бұл Бұл жұмыстың мақсаты Linux-тің мүмкіндіктері мен жұмыс ережелерімен Linux – те инструменттердің жинағы қамтамассыздандырылған, осы инструменттер LINUX операциялық жүйе ретінде “Linux” терминінің мағынасы толығымен анықталмаған. Ең алдымен ол Нақтырақ айтсақ, белгілі бір уақыт мезетінде Linuх-тің тек Кез келген анықтамадан шыққанда Linuх операциялық жүйе болып Көпқолданбалы операциялық жүйе Windows-тің барлық версиялары мен МасОS жүйелері бірқолданбалы (яғни Linux бір уақытта бірнеше қолданушының жұмысын қамтамасыз Көпқолданбалылықпен қатар Linux-тің көптапсырмалылық қасиеті бар. Бір кездерде есептеу жүйелері Windows 3.1-ден Windows 95-ке Жүйенің көптапсырмалылығы – оның бірнеше операцияларды Әрқашан да Uniх жүйелеріндегі көптапсырмалылық Windows жүйелеріндегіден гөрі II Негізгі бөлім 1 LINUX-пен танысу 1.1 LINUX операциялық жүйесінің қысқаша тарихы Linux – операциялық жүйе, ол өте танымал Unix Linux-тің бірінші түрі шыққаннан кейін екі айдан соң Linux Unix-тің жеңілдетілген түрінің қорында орналасқан, ол Minix Linux операциялық жүйенің негізгі қасиеттері: Толық көпқолданбалы операциялық жүйе. Ол бір мезгілде бірнеше Виртуалдық жадының жәрдемі. Linux қатты дискінің бөлімін виртуалдық Операциялық жүйенің графиктік ортасы. XWindow – бұл стандартты Linux барлық қолданбалы тор хаттамаларын, сонымен бірге Интернет-хаттамасы Кітапхана байлығы. Әрбір жұмыстағы қайталанатын процедураларды сақтаудың орнына SysV, BSP және IEEE POSIX 1 стандарттарына ұқсас Операциялық жүйенің ашық мәтіні. Linux AT&T сияқты саудалық Басқа операциялық жүйелерге қарағанда өте арзан. Вирустарға толық қарсы тұруы. Қазіргі уақытта Linux-ке арналған LINUX-пен жұмыс жасауға ыңғайлы процессорлар Бүгінгі күні OS Linux түгел дерлік процессорлармен жұмыс Сонымен қатар, Linux көппроцессорлы машиналарда SMP (мультипроцессорлық жүйе) OS-тің таралу ережелері “Linux тегін” – бұл Linux-тің әрбір түрі мен Жүйе тегін таралады. Операциялық жүйе жиынын және оған кіретін мағлұматтарды сатуға Лицензияда көрсетілген сатып алушының құқықтарына сатушының қарсы құқысы Соңғы бөлімше ерекше көңіл бөлуді талап етеді. Дистрибутив Бұл бойынша Қазақстан Республикасында әрбір Linux дистрибутивінің лицензиялық LINUX дистрибутивтері Дистрибутив үшін құжаттар бөлек беріледі. Бірақ оған көптеген Linux-ті мықты құрастырушылар: Red Hat Inc., және Mandrake Linux дистрибутивтері көптеген әр түрлі компаниялармен шығарылады. Бүгінгі Red Hat, Inc. – Red Hat Linux-тің үш Caldera, Inc. – Caldera Open Linux түрін шығарады; Debian Group – Linux Debian; Corel, Inc. – әмбебап саудаға қондырылуы ыңғайлы Corel SUSE Group – S.U.S.E Linux-ті шығарады, әсіресе еуропалық Келесі дистирбутивтер ТМД территориясында өте танымал: “Процедура” қоғамынан Red Hat Linux. Бұл компания ТМД Ресей-француз “Mandrake S.A.” компаниясынан Mandrake Linux дистрибутиві. Linux-тің Black Cat Group, BC Linux дистрибутивімен танымал. Бұл Техникалық аспектісінде бұл барлық дистрибутивтерінің айырмашылығы өте бос 2 LINUX-ке арналған бағдарламалар Linux операциялық жүйесін түрлі бағдармаларды құру үшін пайдалануға DOS пен Windows-тің бағдарламалық қамтамалары. Linux-те орнықтылықтың жоғары XWindows қабықшасы. Бұл өте ыңғайлы, әрі көрнекті және Мәтіндік редакторлар. WordPerfect, StartOffice және ApplixWare сияқты коммерциялық 1 кесте. Мәтіндік файлдарға арналған командалар Команда Түсініктеме awk Мәтінге қолданылған мықты тіл diff Мәтіндік файлдарды салыстыру ed Қарапайым мәтіндік редактор fold Қатардың орнын ауыстыру grep Жол арқылы мәтіннің үзіндісін іздеу head Файлдың бастамасын көрсету pr Жаңа беттің бастамасы sed Мәтіндік файлдарды қайта құру sort Мәтіндік файлдарды реттеу tail Файлдың соңын көрсету wc Символдардың, қатардың және сөздердің статистикасы Бағдарламалау тілдері. Көптеген бағдарламалау мен бағдарлама дайындау тілдері, Деректер қоймалары. Барлық Linux платформаларындағыдай Linux клиент-сервер деректер Іnternet жабдықтары. Linux белгілі Netscape Communication және Моsаіс 3 LINUX жүйесінің күйге келтірілуі және конфигурациялары Жүйе қолданушы қондырғылармен қаншалықты тез жұмыс жасайтынына өте Алайда жәрдемдесетін қондырғылардың драйверлерін қондыру процесі Windows драйверін Жүйенің бастапқы қондыруының көптеген операцияларымен командалық жолда жұмыс Setup бағдарламасының көмегімен OS-тің келесі функцияларын қондыруға болады: Қолданушылар авторизация параметрлері. Брандмауэр. Перне тақтасының тілдері мен орындалу тәртібі. Тышқан түрі. Linux-тің желіде жұмыс жасау қондырғылары мен хаттамалары. Баспа құрылғысының түрі, спулер (баспа кезегі). Дыбыстық картаның түрі және дыбысты шығару параметрлері. Жүйелік сағат. XWindow-да жұмыс жасау мониторы және бейнеадаптері. 3.1 LINUX дыбыстық жүйенің күйге келтірілуі Linux-та дыбыстық картаның жұмыс жасауы үшін setup бағдарламасын Дыбыстық карта табылғаннан кейін қолданушыға дыбыстық картаның толқындық Осыдан кейін дыбыс жәрдемінің қажетті модулі ядроға және Егер табылған дыбыстық карта жәрдемдеспейтін болса, онда ескермегенде Дыбыстық драйверінің қондырылу процесінің визуализациясын қарамағанда, Linux ядросының 3.2 Графиктік ережелер үшін бейнеадаптер режимі Дыбыстық картаның қондырылуынан кейін көптеген қолданушыларда толық ашылатын Xfree86 XWindow (бұл графиктік ортаның толық атауы) ашу 2 кесте Linux-тің көмегінсіз жүзеге асатын файлдық жүйелер Түрі Түсініктеме tmpfs Уақытша файлдарға арналған файлдық жүйе ntfs New Technology File System (жаңа технологияның файлдық жүйесі, WinNT) Stacker MS-DOS үшін архивтелінетін файлдық жүйе Double Space Stacker бағдарламасынан рұқсатынсыз көшірілген аналогты жүйе Дыбыстық карта сияқты бейнеадаптер түрінің анализі автоматты түрде Содан кейін қолданушыға ол жұмыс істейтін бейнережимді таңдауға 3.3 LOCALE: жүйедегі тілдер Қондырудың соңғы жұмысы локальді хабарлардың шығарылу тілінің өзгертілуі Бірақ хаос болмайды. Linux-тің көптеген әрбір бағдарламалары үшін Locale үшін тіл OS-ті қондырғанда таңдалады. Егер қондырушыға Locale жүйенің әрбір қолданушысы үшін жекешелендірілген. Егер қолданушы Locale жүйенің мәтіндік режимінің жұмысына ғана әсер етіп 4 LINUX ортасында жұмыс істеу Linux оперциялық жүйесі Red Hat дистрибутивімен жұмыс Әрине, Red Hat Linux сәттілігі үшін жалғыз Пакеттерді басқару жүйесінің артықшылықтарының біріне түрін жаңартудың қарапайымдылығы Және тағы бір Red Hat артықшылығы — Командалық жол ортасы Linux-тің негізі болып табылады. Жоғарыда DОS операциялық жүйелерінің қолданушыларына команда термині жақсы белгілі Linux әлемінде команда түсінігі өзгешелеу. Мұнда ол – Командалық жол режимі жүйенің терминалы деп аталады. Ол Оның интерфейсі Місrosoft компаниясының қарсыласындағысына ұқсас болып келген. Linux кішігірім фирмада немесе үйдегі дербес компьютерінде жұмыс Linux өзін желілер дүниесінде өте жақсы көрсетеді. Үйде 3 кесте Linux қондырғысының басты командалық нөмірлері Нөмірі Түсініктеме 1 Операциондық жады 2 Дисковод 3 IDE қатты диск үшін бірінші бақылаушы 4 Терминалдар 5 Терминалдар 6 Принтер (параллельдік айырмасы) 8 SCSI қатты дискісі 9 SCSI магниттік орама 10 Шиналарға арналған тышқан 11 SCSI CD-ROM 12 QIC-02 магниттік орама 13 XT бақылаушылардағы қатты дискілер 14 Дыбыс карталары 22 IDE қатты диск үшін екінші бақылаушы Linux кішігірім фирмада немесе үйдегі дербес компьютерінде жұмыс Linux өзін желілер дүниесінде өте жақсы көрсетеді. Үйде Егер Windows басқаруындағы компьютердің жұмысы сізге жеткілікті тиімді 4.1 LINUX-тің практикалық қолданылуы OS Linux-тің танымал болмауына қарамастан, ол Қазақстан Мемлекетінде ААҚ “Қазақтелеком”. Linux серверде орнатылған танымал Интернет-сайт www.host.kz ЖАҚ “TNS Plus”. Бұл жерде Linux компьютерді қамтамасыз “Парасанг” интернет-провайдері. Компьютер OS Linux-пен биллингтік деректерді санау Advantek International, Inc., мұнда Linux серверде орнатылған, ол ААҚ “Казкоммерцбанк”. Бұл жерде де Linux Интернет-сайтында www.kkb.kz Ал Қазақстанның қалған жеріндегі мағлұматтар өкінішке орай жоқ. В.Путиннің ұсынысы бойынша Ресей Мемлекетінің әскери объектілерінде OS Бұл мысалдарды келтіргеннен кейін өте орынды сұрақ туады: 5 Linux операциялық жүйесіндегі wait () функциясы Егер үрдіс жүйелік функция wait () қолданатын болса, pid = wait(stat_addr); мұнда pid - өз орындалуын тоқтатқан потомктің идентификация Мысал: exit() функциясының қолданылуы main() { int child; if ((child = fork()) == 0) { printf("PID потомка %d\n",getpid()); pause(); /* приостанов выполнения сигнала */ } /* родитель */ printf("PID потомка %d\n",child); exit(child); } Ядро өздерін жойған үрдістердің ұрпақтарын іздейді, егер олар Егер wait функциясын орындап жатқан үрдістің өзін әлі Қалыпты жағдайда (яғни алдын ала ештеңе келісіп қойылған 5.1 Wait функциясының алгоритмі Кіріс мәлімет: аяқталған үрдіс арқылы қайтарылатын, status сақтау үшін арналған айнымалы адресі шығыс мәлімет: ұрпақ идентификаторы және exit функциясының қайту коды { Егер (wait функциясын шақырған үрдістің ұрпақтары жоқ қайтару (қатені); үшін (;;) /* ішкі { Егер (wait функциясын шақырған үрдістің ұрпақтары бар және олар өздерін жойған болса) { Кез-келген ұрпақты таңдау; Оның анасына ұрпағының орталық процессордың ресурстарын пайдаланып жатқаны жайлы мәлімет жіберу; ұрпақтың кестеде алып тұрған орнын босату; қайтару (ұрпақ идентификаторын, ұрпақпен шақырылған еxit функциясының қайту кодын); } егер (үрдістің ұрпағы жоқ болса) қатені қайтару; тоқтату, үзу (ұрпақтың аяқталуына дейін); } } Мысалы, егер қолданушы 1-программаны параметрмен және параметрсіз қосатын Егер қолданушы программаны параметрмен қосатын болса (яғни argc>1) 1-программа. Wait функциясын қолдану және «Ұрпақтың қайтыс болуы» #include main(argc,argv) int argc; char *argv[]; { int i,ret_val,ret_code; if (argc >= 1) signal(SIGCLD,SIG_IGN); /*«Ұрпақтың қайтыс болуы» деген сигналды қарамау */ for (i = 0; i < 15; i++) if (fork() == 0) { /* үрдіс-ұрпақ */ printf("үрдіс-ұрпақ %x\n",getpid()); exit(i); } ret_val = wait(&ret_code); printf("wait ret_val %x ret_code %x\n",ret_val,ret_code); } 2-программа. «Ұрпақтың қайтыс болуы» "деген сигналдың пайда болу #define MAX_ARGS 16 #define MAX_LENGTH 256 #include #include #include #include int run_p (char* const args []) { pid_t npid = fork (); if (npid > 0) { return npid; } else if (npid == 0) { execvp (args[0], args); return -1; } else { abort (); } } int main (void) { char str [MAX_LENGTH]; char* buf[MAX_ARGS]; int i, j, status; for (i = 0; i < MAX_ARGS; i++) printf ("mysh# "); while (fgets (str, MAX_LENGTH, stdin)) { str[strlen(str)-1] = '\0'; char* p = (char*) malloc (MAX_LENGTH); p = strtok (str, " "); if (!strcmp (p, "exit")) { exit (0); } for (i = 0; i < MAX_ARGS; i++) { buf[i] = (char*) malloc (MAX_LENGTH); } for (i = 0; p != NULL; i++) strcpy (buf[i], p); p = strtok (NULL, " "); } buf[i] = NULL; status = run_p (buf); if (status < 0) { fprintf (stderr, "mysh: %s: command not found\n", exit (1); } wait (&status); free (p); for (i = 0; i < MAX_ARGS; i++) printf ("mysh# "); }; exit (0); } ҚОРЫТЫНДЫ Linux ұсынатын жабдықтардың әр түрлілігін ескере отырып, ол Linux-ті оқып, үйренуге қиындаққа түседі, сондықтан онымен жұмыс Linux бір уақытта бірнеше қолданушының жұмысын қамтамасыз Linux қазіргі уақытта қорытқы end-user желісі ретінде қолданылмайды, Linux-ті оқып, үйренуге қиындаққа түседі, сондықтан онымен жұмыс Linux серверде қондырылғандықтан, бұл – сервермен берілетін сапалық Linux ресурстарды қажет етпейді және де ескі i386 Терең оқылған Linux әрқашан да адамның білімін жоғары Сонымен, Linux – бұл эксплуатация кезінде өте жеңіл Linux – Unix-тің жемісі. Linux – ең мықты операциялық жүйелердің бірі! Қолданылған әдебиеттер тізімі: 1. Арман Данеш “Linux Red Hat 7.1”. Полное 2. С. Ивановский “Операционная система Linux”. Позновательная книга 3. Р. Петерсен “Linux” 2000. Руководство по операционной 4. К. Петцке “Linux от понимания к применению”. 5. Ч. Рассел “Unix и Linux”: книга переводов. 6. У.Девис. “Операционные системы”. Москва, “Мир”,1980ж. 7. Гардеев А.В., Молчанов А.Ю. “Системное программное обеспечение”. 8. Э. Немет, Г. Снайдер - «Руководство системного Киев 2000. 9. Д. Бэкон, Т. Харрис - «Операционные системы», - 20 - 

Мәтінді көшіру үшін белсенді жазылым қажет.

Пайдаланушы ID: 495510

Жарияланған күні: