Kernel Kompilacja jądra

Podobne dokumenty
Kernel; Kompilacja jądra systemu

Wstęp do Informatyki. Klasyfikacja oprogramowania

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Działanie systemu operacyjnego

Działanie systemu operacyjnego

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

Działanie systemu operacyjnego

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Działanie systemu operacyjnego

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

System operacyjny Linux

Sieciowe Systemy Operacyjne

Jądro systemu operacyjnego

Warstwy systemu Windows 2000

System komputerowy. System komputerowy

Technologia Informacyjna

Komputery przemysłowe i systemy wbudowane

7. zainstalowane oprogramowanie zarządzane stacje robocze

1. Podstawy...P Polecenia podstawowe...p... 18

1. Etapy rozwoju systemów komputerowych

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych)

Client Management Solutions i Mobile Printing Solutions

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

NOWY EGZAMIN ZAWODOWY Informacje dla Zdających

Czujniki obiektowe Sterowniki przemysłowe

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

SYSTEM OPERACYJNY. Monika Słomian

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Temat lekcji. Dobieranie elementów systemu komputerowego do określonych zastosowań.

Systemy operacyjne - rozkład godzin dla technikum informatycznego

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Linux - System Wbudowany

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

VMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Win Admin Replikator Instrukcja Obsługi

Struktury systemów operacyjnych

Client Management Solutions i Mobile Printing Solutions

Systemy operacyjne II

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Client Management Solutions i Universal Printing Solutions

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Podstawy administracji systemu Linux

Geneza rejestru systemu Windows

Acronis Universal Restore

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

INSTRUKCJA INSTALACJI DRUKARKI. (Dla Windows CP-D70DW/D707DW)

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Linux is linux is linux?

Rozwi zania Client Management Solutions i Mobile Printing Solutions. Numer katalogowy dokumentu:

Q E M U.

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Zarządzenie wchodzi w życie z dniem podpisania.

Pracownia Technik Obliczeniowych

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

Rejestr HKEY_LOCAL_MACHINE

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Wykaz zmian w programie WinAdmin Replikator

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Programowanie w asemblerze Linkowanie

1. Licencja GPL / GNU. 2. Dystrybucje systemu Linux. 4. Sposoby instalacji w Ubuntu

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

Spis treści. O autorze 9. O recenzentach 10. Przedmowa 13. Rozdział 1. Oto Linux Mint 17_

Linux Kernel. Michał Kulling.

Dostęp do menu drukarki

Historia systemów operacyjnych - Unix

CONFidence 13/05/2006. Jarosław Sajko, PCSS

BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi

opis usługi korzyści najważniejsze cechy specyfikacje tabela 1. cechy usługi instalacja i uruchamianie hp

Licencje na oprogramowanie i zasoby internetowe

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy

Kompilacja jądra systemu Linux

I. Zasady bezpieczeństwa podczas pracy z komputerem

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.


Znak sprawy: KZp

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

INSTRUKCJA I WSKAZÓWKI

Oferujemy szeroki zakres usług informatycznych Kierujemy naszą ofertę do małych i średnich przedsiębiorstw które nie zatrudniają na stałym etacie

1. Zasady bezpieczeństwa podczas pracy z komputerem

Prezentacja systemu RTLinux

Biuletyn techniczny. CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych. Copyright 2007 COMARCH SA

Tworzenie oprogramowania

IBM SPSS Statistics Wersja 25. Windows Instrukcja instalacji (licencja autoryzowanego użytkownika) IBM

Opis administracji terminali ABA-X3 v.1.5.0

Linux Kernel. Wprowadzenie

Transkrypt:

Kernel Kompilacja jądra systemu

Co to jest jądro systemu operacyjnego Jądro systemu operacyjnego jest rozpowszechniane na licencji GNU General Public License (GPL) określonej przez konsorcjum Free Software Foundation (FSF) jako oprogramowanie w tw. wolnym obiegu (free software). Cechy: Zakaz prywatyzacji produktów powstałych z wykorzystaniem Linuksa lub pochodnych systemu (tzn. odmian zachowujących standardy Linuksa). Oprogramowanie nie może być redystrybuowane w formie czysto binarnej wraz z każdą dystrybucją binarną musi być udostępniony kod źródłowy.

Dystrybucje Linuksa: Standardowe, prekompilowane zbiory pakietów, zwane dystrybucjami, zawierają podstawowy system Linux, narzędzia do instalowania systemu i zarządzania nim oraz gotowe do instalowania pakiety typowych narzędzi systemu UNIX. Pierwsze dystrybucje zarządzały pakietami jedynie przez dostarczanie środków do rozpakowywania wszystkich plików w odpowiednie miejsca; współczesne dystrybucje zawierają zawansowane zarządzanie pakietami. Większość obecnych dystrybucji stosuje lub przynajmniej rozpoznaje pakiety plików RPM ułatwiające instalację, rozbudowę i usuwanie oprogramowania. Wczesne dystrybucje: SLS, Slackware. Popularne dystrybucje: RedHat->Fedora, Debian, SuSE, Mandrake ->Mandriva, itd.

Budowa jądra systemu Linux Programy zarządzania systemem Procesy użytkowe Pomocnicze programu użytkowe Kompilatory Wspólne biblioteki systemu Jądro systemu Linux Ładowalne moduły jądra

Programy zarządzania systemem Procesy użytkowe Pomocnicze programu użytkowe Kompilatory Wspólne biblioteki systemu Linux to Jądro systemu Linux Ładowalne moduły jądra Jądro: jest odpowiedzialne za realizację wszystkich istotnych abstrakcji systemu operacyjnego (pamięć wirtualna, procesy itd.). Kod jądra jest wykonywany w trybie jądra (kernel mode) z pełnym dostępem do wszystkich fizycznych zasobów komputera. Cały kod jądra ze wszystkimi strukturami danych przebywa w tej samej pojedynczej przestrzeni adresowej Biblioteki systemowe: Definiują standardowy zbiór funkcji, za pomocą których aplikacje mogą współpracować z jądrem i które realizują wiele właściwości systemu operacyjnego nie wymagających pełnych przywilejów kodu jądra. Pomoce systemowe: wykonują osobne, specjalizowane zadania administracyjne.

Moduły jądra Linuxa Moduły jądra są wspomagane przez trzy następujące składowe: Zarządzanie modułami (module management); Rejestracja modułów sterujących (driver registration); Mechanizm rozwiązywania konfliktów (conflict resolution).

Zarządzanie modułami Umożliwia wprowadzenie modułów do pamięci i ich kontakt z resztą jądra. Zadanie ładowania modułu jądra podzielone jest na dwie sekcje: Zarządzanie częściami kodu modułu w pamięci jądra; Manipulowanie symbolami, do których modułom wolno się odwoływać. Ładowanie modułu przebiega w dwu etapach: Ładowacz modułu (module loader) zgłasza zapotrzebowanie na ciągły obszar pamięci wirtualnej jądra potrzebny dla modułu, a jądro zwraca adres przydzielonej pamięci. Specjalne wywołanie systemowe przekazuje moduł do jądra wraz niezbędną tablicą symboli, które chce on eksportować (moduł jest słowo po słowie kopiowany do zarezerwowanego obszaru, a tablica symboli jądra jest aktualizowana za pomocą nowych symboli). Ostatnią składową zarządzania modułem jest procedura zamawiania modułu (module requestor). Zarządza ładowaniem zamawianych modułów, których aktualnie nie ma w pamięci. Regularnie odpytuje jądro, sprawdzając, czy dynamicznie załadowany moduł jest ciągle w użyciu, a gdy nie jest już potrzebny, usuwa go z pamięci.

Rejestrowanie modułu sterującego Umożliwia modułowi poinformowanie reszty jądra o udostępnieniu nowego modułu sterującego. Jądro utrzymuje dynamiczne tablice wszystkich znanych modułów sterujących programów obsługi urządzeń, ang. device drivers) i dostarcza zestawu procedur umożliwiających dodawanie do tych tablic lub usuwanie z nich modułów sterujących w dowolnej chwili. Tablice rejestracyjne zwierają następujące elementy: Moduły sterujące urządzeń: znakowych (terminale, myszki drukarki itp.), blokowych (programy obsługi dysków) oraz interfejsów sieciowych. Systemy plików: oprogramowanie realizujące procedury wywołań wirtualnego systemu plików Linuksa, zarówno lokalnego, jak i sieciowego. Protokoły sieciowe: cały protokół sieciowy, np. IPX, lub nowy zbiór reguł filtrowania pakietów przez zaporę ogniową. Format binarny: określa zasady rozpoznawania i ładowania pliku wykonywalnego nowego typu. Ponadto moduł może zarejestrować nowy zbiór wpisów w tablicach sysctl i /proc, aby umożliwić jego konfigurowanie dynamiczne.

Rozwiązywanie konfliktów System Linux pracuje na sprzęcie występującym w różnych i zmieniających się konfiguracjach, mogą się więc pojawiać problemy konfliktów między modułami sterującymi urządzeń przy dostępie do tych samych zasobów. Linux posiada centralny mechanizm rozwiązywania konfliktów, który pozwala rozstrzygać o dostępie do zasobów sprzętowych. Do głównych celów tego mechanizmu należą: Ochrona modułów przed kolizjami przy dostępie do zasobów sprzętowych; Zapobieganie zaburzaniu działania istniejących modułów sterujących przez autosondy (autoprobes), tj. testy inicjowane przez moduły sterujące w celu automatycznego wykrycia konfiguracji sprzętu; Rozwiązywanie konfliktów między wieloma modułami sterującymi usiłującymi skorzystać z tego samego sprzętu (np. portu).

Po co kompilacja jądra systemu? Wbrew pozorom to jedna z częściej wykonywanych czynności administracyjnych. Niektóre z powodów: nowsza wersja jądra = większe bezpieczeństwo (nowsza wersja zawiera poprawki i jest bardziej bezpieczna) nowsza wersja = większa stabilność systemu (bo ma poprawione i bardziej optymalne wersje sterowników urządzeń) bieżąca wersja jądra nie obsługuje jakiegoś potrzebnego mechanizmu a nowsza obsługuje (np. mechanizmy kolejkowania, obliczania udziałów w dysku itp.) bieżąca wersja nie jest przystosowana do zmian wprowadzonych do systemu (np. zmiana karty sieciowej) bieżąca wersja nie przewiduje obsługi jakiegoś urządzenia -> bo urządzenia nie było w momencie powstawania tej wersji jądra standardowa wersja jądra nie jest zoptymalizowana -> zbyt wiele sterowników do urządzeń (jeżeli któryś z punktów => zastanowić się nad rekompilacją jądra w wersji takiej samej lub nowszej)

KOMPILOWANIE JĄDRA ZAPISAĆ!!! ZAPAMIĘTAĆ!!! Albo umieć znaleźć jak to się robi #make help #make mrproper #make menuconfig lub #make #make modules #make modules_install #make install #make xconfig