Page 27 - 2578
P. 27

Ядро  забезпечує  базову  функціональність  ОС:  створює
                            процеси й керує ними, розподіляє пам'ять і забезпечує доступ
                            до файлів та периферійних пристроїв.
                                Взаємодія  прикладних  задач  з  ядром  відбувається  за
                            допомогою стандартного інтерфейсу системних викликів.
                                Інтерфейс  системних  викликів  являє  собою  набір  послуг
                            ядра  і  визначає  формат  запитів  на  послуги.  Процес  запитує
                            послугу за допомогою системного виклику певної  процедури
                            ядра, зовні схожого на звичайний виклик бібліотечної функції.
                            Ядро від імені процесу виконує запит — і повертає процесові
                            необхідні дані.
                                У наведеному прикладі програма відкриває файл, зчитує з
                            нього дані і закриває цей файл. При цьому операція відкриття
                            (open), читання (read) і закриття (close) файла виконуються
                            ядром за запитом задачі, а функції open (2), read (2), close (2) є
                            системними викликами.
                                main()
                                {
                                int fd;
                                char buf [80];
                                /*Відкриємо    файл–одержимо       надсилання     (файловий
                            дескриптор) fd*/
                                fd=open(“filed”,O_RDONLY);
                                /*Вводимо в буфер buf 80 символів*/
                                read (fd,buf, sizeof(buf));
                                /*Закриємо файл*/
                                close (fd);
                                }

                                Ядро складається з трьох основних підсистем:
                                — файлова підсистема;
                                — підсистема керування процесами і пам’яттю;
                                — підсистема введення/виведення.


                                                           26
   22   23   24   25   26   27   28   29   30   31   32