Programowanie Systemów Wbudowanych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Programowanie Systemów Wbudowanych"

Transkrypt

1 Programowanie Systemów Wbudowanych Jadro systemu Linux Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG March 20, 2017

2 Elementy wbudowanego OS Linux Toolchain kompilator i inne narzdzia do tworzenia kodu dla urzadzeń Bootloader inicjalizuje platform sprzętowa oraz ładuje jadro systemu Kernel serce systemu, zarzadza zasobami i komunikuje się ze sprzętem Root filesystem GUT Intel 2015/16 2/51 biblioteki i programy uruchamiane w systemie

3 Uruchamianie systemu Linux GUT Intel 2015/16 3/51

4 Jadro systemu Linux Jadro (Kernel) - część systemu operacyjnego odpowiedzialna za zarzadzanie zasobami i komunikację ze sprzętem zwykle dopasowane do konkretnej konfiguracji sprzętu drzewa urzadzeń umożliwiaja tworzenie generycznego jadra, dopasowanego do platformy sprzętowej poprzez dtb Linus Torvalds rozpoczał prace nad systemem operacyjnym Linux dla komputerów Intel 386 i 486 Inspiracja - Minix OS napisany przez Andrew S. Tanenbaum (1987) Różnica między Linux a Minix: 32-bitowe jadro wykorzystujace pamięć wirtualna kod otwarty (open source, później - licencja GPL 2) GUT Intel 2015/16 4/51

5 Przy okazji... ważna ksiażka! GUT Intel 2015/16 5/51

6 Co robi jadro? Linus Torvalds napisał jadro systemu operacyjnego, wykorzystujac komponenty projektu GNU (toolchain, biblioteka C, podstawowe narzędzia linii poleceń) Jadro może pracować wraz: przestrzenia użytkownika GNU (GNU user space) -> GNU/Linux dla komputerów CP i serwerów przestrzenia użytkownika Android -> OS dla urzadzeń mobilnych mała przestrzenia użytkownika Busybox -> kompaktowy system wbudowany Główne zadania jadra: zarzadzanie zasobami, interfejs ze sprzętem, dostarczanie API z użytecznym poziomem abstrakcji dla programów w przestrzeni użytkownika GUT Intel 2015/16 6/51

7 Co robi jadro? Aplikacje uruchamiane sa w przestrzeni użytkownika z niskim poziomem praw do CPU. Moga wywoływać funkcje biblioteczne. Biblioteka C - interfejs między przestrzenia użytkownika (user space) a przestrzenia jadra (kernel space). Tłumaczy funkcje poziomu użytkownika (user level functions) w wywołania systemowe (kernel system calls). Interfejs wywołań systemowych używa pułapki (trap) lub przerwań programowych (software interrupt) do przełaczania CPU między przestrzenia użytkownika a przestrzenia jadra Przestrzeń j adra - wysoki poziom praw dostępu do całej przestrzeni adresowej i rejestrów CPU GUT Intel 2015/16 7/51

8 Co robi jadro? System call handler przekazuje wywołania do podsystemów jadra: scheduling calls -> scheduler, filesystem calls -> filesystem code, Niektóre wywołania wymagaja pobrania danych z urzadzeń dołaczonych do systemu - sa przekazywane do sterownika urzadzenia Urzadzenie może samo wywołać funkcję jadra generujac przerwanie Przerwanie może być obsłużone tylko przez sterownik (nigdy przez aplikację w przestrzeni użytkownika!) Wszystko co robi aplikacja jest robione przez jadro systemu. GUT Intel 2015/16 8/51

9 Wersje jadra Nowa wersja jadra - raz na 8-12 tygodni Numerowanie wersji: przed lipcem 2011: 3 liczby,2 np.: Środkowa liczba wskazuje, czy jest to wersja rozwojowa (l. nieparzysta) czy stabilna (l. parzysta) lipiec 2011: zmiana numeru z na 3.0. Rezygnacja ze środkowej liczby. kwiecień 2015: wersja 4 GUT Intel 2015/16 9/51

10 Wersje jadra Drzewo rozwoju kodu jadra: $ g i t clone g i t : / / g i t. k e r n e l. org / pub / scm / l i n u x / k e r n e l / g i t / t o r v a l d s / l i n u x. g i t Cykl rozwoju kodu: 2 tygodnie akceptacji łatek do nowej wersji faza stabilizacji - publikacja wersji-kandydatów (numerowanych jako -rc1, -rc2, itd.) użytkownicy testuja wersje-kandydatów i zgłaszaja raporty błędów i poprawek po naprawieniu wszystkich błędów nowa wersja jadra jest publikowana Przegl ad wszystkich wersji: GUT Intel 2015/16 10/51

11 Wersja stabilna jadra O wersje stabline jadra dba Greg Kroah-Hartman. wersje naprawcze (bug fix releases) jadra stabilnego numerowane sa trzecia liczba:3.18.1, , itd. Przed wersja 3 były to numery 4-liczbowe ( , ) Niektóre jadra sa oznaczone jako long term (utrzymywane przez 2 lata lub dłużej) Każdego roku publikowane jest przynajmniej jedno jadro długoterminowe (4.1, 3.18, 3.14, 3.12, 3.10, 3.4, 3.2, ). j adro jest utrzymywane od 5 lat (aktulanie wersja ). GUT Intel 2015/16 11/51

12 Wsparcie sprzedawców sprzętu Sam Linux obsługuje waski zbiór platform sprzętowych wsparcie niezależnych projektów open source: Linaro, Yocto Project wsparcie firm dostarczajacych rozwiazań z wbudowanym OS Linux wsparcie dostawców SoC (jadro działajace na SoC) GUT Intel 2015/16 12/51

13 Licencje Kod źródłowy Linux: licencja GPL v2 (GNU General Public License) Założenia GPL: wolność uruchamiania programu w dowolnym celu wolność analizowania, jak program działa i dostosowywania go do swoich potrzeb wolność rozpowszechniania niezmodyfikowanej kopii programu wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność GUT Intel 2015/16 13/51

14 Licencje Tekst licencji - w pliku COPYING. Rozpoczyna się adnotacja, że uruchamianie wywołań jadra z przestrzeni użytkownika przez interfej wywołań systemowych nie jest pochodna pracy jadra, więc nie podlega licencji. Licencja GPL gwarantuje, że programista systemu wbudowanego zawsze ma dostęp do kodu źródłowego jadra GUT Intel 2015/16 14/51

15 Licencje Problem z licencja: moduły jadra Moduł jadra (kernel module) - fragment kodu dynamicznie linkowany z jadrem podczas jego pracy (linked at runtime), rozszerzajacy funkcjonalność jadra licencja GPL nie rozróżnia linkowania statycznego i dynamicznego akceptowalna praktyka: GPL nie musi obejmować modułow jadra (zapis w makro MODULE_LICENSE) dyskusja o GPL vs moduły jadra: GUT Intel 2015/16 15/51

16 Budowa jadra - źródła Pobranie źródeł jadra: git lub tarball. Przykład: $ g i t clone g i t : / / g i t. k e r n e l. org / pub / scm / l i n u x / k e r n e l / g i t / s t a b l e / l i n u x s t a b l e. g i t l i n u x $ cd l i n u x $ g i t checkout v GUT Intel 2015/16 16/51

17 Budowa jadra - źródła Źródła zorganizowane sa w katalogi: arch: pliki specyficzne dla architektur procesora Documentation drivers: sterowniki fs: kod systemu plików include: pliki nagłówkowe jadra init: kod rozruchowy jadra kernel: podstawowe funkcje: scheduling, liczniki, zarzadzanie moca, debugger mm: zarzadzanie pamięcia net: protokoły sieciowe scripts: skrypty, np. kompilator drzewa urzadzeń (dtc) tools: narzędzia, np. do pomiaru wydajności, perf GUT Intel 2015/16 17/51

18 Konfiguracja jadra Jadro może być różnie skonfigurowane: od małego, dedykowanego (np. do obsługi termostatu) po duże i złożone (np. do obsługi telefonu komórkowego) W każdej wersji jadra - wiele opcji konfiguracji Kconfig - narzędzie konfiguracyjne Kbuild - narzędzie do kompilacji i budowy jadra Dokumentacja narzędzi: Documentation/kbuild/. Kconfig/Kbuild s a używane również w innych projektach: crosstool-ng, U-Boot, Barebox, BusyBox. GUT Intel 2015/16 18/51

19 Konfiguracja jadra Opcje konfiguracji zorganizowane sa w sposób hierarchiczny jako pliki Kconfig Dokumentacja: Documentation/kbuild/kconfig-language.txt. Przykład głównego menu (plik Kconfig): Ostatnia linia: odwołanie do innego pliku Kconfig, zależnego od architektury sprzętu GUT Intel 2015/16 19/51

20 Konfiguracja jadra Wybór architektury: ARCH=[architecture], w przeciwnym wypadku wybrana zostanie architektura maszyny lokalnej Wartość ARCH - jeden z podkatalogów katalogu arch (wyjatek: ARCH=i386 i ARCH=x86_64 maja te same źródła arch/x86/kconfig). Wyglad menu głównego może być różny w zależności od ARCH GUT Intel 2015/16 20/51

21 Konfiguracja jadra Plik Kconfig składa się z: wielu menu, oznaczonych słowami kluczowymi: menu, menu title, endmenu pozycji menu (config) GUT Intel 2015/16 21/51

22 Konfiguracja jadra Informacje o konfiguracji przechowywane sa w pliku.config (plik ukryty, widoczny dla komendy ls -a) nazwy zmiennych w pliku.config rozpoczynaja się od przedrostka CONFIG_ DEVMEM is enabled -> CONFIG_DEVMEM=y # # A u t o m a t i c a l l y generated f i l e ; DO NOT EDIT. # Linux / arm Kernel C o n f i g u r a t i o n # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_MIGHT_HAVE_PCI=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_HAVE_PROC_CPU=y... GUT Intel 2015/16 22/51

23 Konfiguracja jadra Typy danych: bool: y lub not defined. tristate: opcja może być zrealizowana jako moduł jadra (m), wbudowana w jadro (y) lub not defined int: liczba calkowita w systemie dziesiętnym hex: liczba całkowita bez znaku w systemie szestastkowym string: łańcuch znaków. GUT Intel 2015/16 23/51

24 Konfiguracja jadra Zależności (dependencies) między pozycjami menu sa wyrażone poprzez depends on: Jeśli CONFIG_MTD nie zostało ustawione jako enabled, bieżaca opcja nie zostanie wyświetlona w menu. GUT Intel 2015/16 24/51

25 Konfiguracja jadra Odrócona zależność: słowo select ustawia inne opcje, jeśli bieżaca jest enabled (przydatne podczas definiowania opcji zależnych od architektury) GUT Intel 2015/16 25/51

26 Konfiguracja jadra Narzędzia do czytania plików Kconfig i generowania pliku.config: Menuconfig xconfig gconfig. Każde z nich uruchamia się poleceniem make, podajac informację o architekturze platformy: $ make ARCH=arm menuconfig GUT Intel 2015/16 26/51

27 Konfiguracja jadra - Raspberry Pi Najpierw konfiguracja cross-kompilatora na komputerze hosta! Źródła: g i t clone h t t p s : / / g i t h u b. com / r a s p b e r r y p i / t o o l s + dodanie ściezki do cross-kompilatora do zmiennej środowiskowej $PATH w pliku.bashrc Źródła jadra Linux: $ g i t clone depth=1 h t t p s : / / g i t h u b. com / r a s p b e r r y p i / l i n u x Następnie: cd l i n u x KERNEL=kernel7 make ARCH=arm CROSS_COMPILE=arm l i n u x gnueabihf bcm2709_defconfig GUT Intel 2015/16 27/51

28 Konfiguracja jadra - Raspberry Pi Konfiguracja z interfejsem graficznym: cd l i n u x KERNEL=kernel7 make ARCH=arm CROSS_COMPILE=arm l i n u x gnueabihf bcm2709_defconfig menuconfig Klawisz / - szukanie opcji GUT Intel 2015/16 28/51

29 Konfiguracja jadra Zbiór działajacych plików konfiguracyjnych: arch/$arch/configs, Podczas budowy j adra generowany jest plik nagłówkowy include/generated/autoconf.h, który zawiera sekcje #define dla każdej wartości opcji konfiguracyjnej GUT Intel 2015/16 29/51

30 Raspberry Pi - kompilacja Uruchomienie kompilacji: make ARCH=arm CROSS_COMPILE=arm l i n u x gnueabihf zimage modules lub: make ARCH=arm CROSS_COMPILE=arm l i n u x gnueabihf a l l dt Pliki wynikowe: jadro, moduły jadra, drzewo urzadzeń. GUT Intel 2015/16 30/51

31 Identyfikacja jadra Zapytanie o ostatnio zbudowana wersję jadra: $ make kernelversion Ta sama informację można otrzymać podczas działania jadra za pomoca komendy uname Po zmianie domyślnej konfiguracji jadra należy ja nazwać poprzez ustawienie zmiennej CONFIG_LOCALVERSION (w General setup configuration menu). Zapytanie o wersję konfiguracji: $ make kernelrelease Ta sama informacja umieszczona jest na poczatku log-a jadra GUT Intel 2015/16 31/51

32 Moduły jadra (kernel modules) OS Linux dla Desktop: moduły jadra umożliwiaja dynamiczne linkowanie sterowników w zależności od dołaczonego sprzętu bez modułów jadra każdy sterownik musiałby być statycznie linkowany z kodem jadra -> znaczny wzrost rozmiaru jadra OS Linux dla systemów wbudowanych: konfiguracja sprzętu i jadra jest zwykle ustalona i znana moduły jadra generuja zależności między wersjami jadra i systemu plików -> potencjalne źródło problemów (np. podczas aktualizacji jednego z elementów) zwykle jadra systemów wbudowanych nie korzystaja z żadnych dodatkowych modułów GUT Intel 2015/16 32/51

33 Moduły jadra Kiedy stosowanie modułów jadra w systemie wbudowanym jest korzystne? kiedy rozruch musi być szybki - można odłożyć na poźniej ładowanie niektórych sterowników kiedy system jest rozbudowany - zbyt dużo sterowników, by linkować je z jadrem statycznie (np. interfejs USB obsługujacy szerokie spektrum urzadzeń) GUT Intel 2015/16 33/51

34 Kompilacja jadra Kbuild - narzędzie do budowy jadra. Jest to zbiór skryptów make, które: odczytuja informację o konfiguracji z pliku.config, rozwiazuj a zależności kompiluja wszystkie niezbędne elementy do kompilacji samego jadra (dtb, moduły jadra) GUT Intel 2015/16 34/51

35 Kompilacja jadra Zależności (dependencies) zapisane sa w plikach makefiles w ścieżce bieżacej każdego budowanego elementu. Przykład: obj-y - element kompilowany bezwarunkowo obj-$(config_param) - element kompilowany zależnie od parametru (y, m lub not defined). GUT Intel 2015/16 35/51

36 Kompilacja obrazu jadra Czego oczekuje program rozruchowy? U-Boot: plik uimage, nowsze wersje moga używać zimage za pomoca komendy bootz platformy x86: plik bzimage większość pozostałych programów rozruchowych: plik zimage Przykład budowy pliku zimage: Opcja -j 4: 4 zadania moga być wykonywane jednocześnie GUT Intel 2015/16 36/51

37 Kompilacja obrazu jadra Platformy ARM: Linux to samo jadro może działać dla róznych platform ARM Jadro wybiera właściwa platformę sprzętowa np. odczytujac informację z drzewa urzadzeń Lokalizacja pamięci fizycznej może być różna w zależności od platformy (a więc i adres jadra) LOADADDR = adres odczytany z pliku mach-[your SoC]/Makefile.boot (wartość zreladdr-y). Kompilacja jadra: GUT Intel 2015/16 37/51

38 Kompilacja obrazu jadra W wyniku kompilacji jadra powstaja dwa pliki: vmlinux - jadro jako plik ELF. Jeśli jadro było kompilowane z właczon a opcja debugowania (CONFIG_DEBUG_INFO=y), plik ten zawiera symbole pomocne dla debuggerów (np. kgdb) System.map - tablica symboli Większość programów rozruchowych nie obsługuje kodu ELF. Obraz przetwarzany jest dalej w surowy plik binarny. GUT Intel 2015/16 38/51

39 Kompilacja drzewa urzadzeń dtbs - narzędzie do kompilacji i budowy drzewa urzadzeń. Uruchomienie: target dla polecenia make Przepis dla dtbs: plik arch/$arch/boot/dts/makefile plik z kodem źródłowym Pliki.dtb generowane sa w tej samej ścieżce co źródła GUT Intel 2015/16 39/51

40 Kompilacja modułów jadra Moduły moga być kompilowane niezależnie od jadra. Target modules dla make: Skompilowane moduły maja rozszerzenie.ko i znajduja się w tej samej ścieżce co źródła Target modules_install dla make - instalacja modułów jadra Domyślna lokalizacja modułów ( /lib/modules) może być zmieniona za pomoca opcji INSTALL_MOD_PATH. GUT Intel 2015/16 40/51

41 Czyszczenie źródeł jadra Opcje dla polecenia make: clean: usuwa pliki objektów i większość plików pośrednich mrproper: usuwa wszystkie pliki pośrednie, włacznie z plikiem.config file distclean: jak mrproper oraz usuwa pliki zapasowe narzędzi kompilacji GUT Intel 2015/16 41/51

42 Uruchomienie jadra Proces uruchamiania jadra jest zależny od platformy sprzętowej Przykład - uruchomienie j adra Linuxa na platformie BeagleBone Black z poziomu U-Boot: GUT Intel 2015/16 42/51

43 Uruchomienie jadra - kernel panic Kernel panic - pojawienie się nierozwiazywalnego błędu wypisanie na konsoli informacji o błędzie i zawieszenie działania systemu Przykład: brak poprawnego systemu plików: [ ] Kernel panic not syncing: VFS: Unable to mount root fs on unknown block(0,0) [ 1 bład może być naprawiony przez użytkownika - system plików może być dostarczony np. na karcie SD GUT Intel 2015/16 43/51

44 Uruchomienie jadra - wczesna przestrzeń użytkownika (early user space) źródło: GUT Intel 2015/16 44/51

45 Uruchomienie jadra - wczesna przestrzeń użytkownika Proces PID 1 uruchamia kod init/main.c, kernel_init(). Jeśli jest dostepny ramdisk, PID 1 spróbuje uruchomić program /init (uruchomienie przestrzeni użytkownika) Jeśli nie uda się znaleźć i uruchomić /init, jadro spróbuje uruchomić prepare_namespace() w init/do_mounts.c. wymaga opcji root= w celu zdefiniowania urzadzenia blokowego (block device), z którego ma zostać zamontowany system plików root=/dev/<disk name><partition number> root=/dev/<disk name>p<partition number> Przykład: system plików z karty SD. Kolejność poleceń-prób zamontowania systemu plików root=/dev/mmcblk0p1/sbin/init /etc/init bin/sh GUT Intel 2015/16 45/51

46 Komunikaty jadra Wartość 0 - komunikat najważniejszy. Komunikaty można obejrzeć po wywołaniu plecenia dmesg GUT Intel 2015/16 46/51

47 Komunikaty jadra GUT Intel 2015/16 47/51

48 Komunikaty jadra Komunikaty sa zapisywane w buforze log_buf o rozmiarze 2^CONFIG_LOG_BUF_SHIFT Polecenie dmesg wypisuje na ekranie zawartość bufora Komunikat jest wyświetlany, jeśli ich poziom jest mniejszy od poziomu logowania w konsoli (wartość 7) Oznacza to, że komunikaty KERN_DEBUG nie sa zapisywane. Zmiana poziomu logowania konsoli: loglevel=<level> lub dmesg -n <level>. GUT Intel 2015/16 48/51

49 Linia poleceń jadra Kernel command line - łańcuchy znaków przekazywane do jadra: przez bootloader (np. zmienna bootargs U-Boot) zdefiniowane w drzewie urzadzeń jako część konfiguracji jadra w CONFIG_CMDLINE. Komunikaty: debug ustawienie poziomu logowania konsoli na najwyższy poziom (8) init= program init uruchamiany z zamontowanego systemu plików (domyślnie /sbin/init) lpj= ustawia loops_per_jiffy panic= jak się zachowa jadro w przypadku kernel panic jeśli >0 - liczba sekund przed ponownym uruchomieniem jeśli = 0 - system czeka w nieskończoność (domyślnie) jeśli <0 - system uruchamia się ponownie bez żadnego opóźnienia GUT Intel 2015/16 49/51

50 Linia poleceń jadra Komunikaty: quite ustawia poziom logowania konsoli na 1 rdinit= init program z ramdisk (domyślnie /init) ro montuje urzadzenie root-a jako read-only (bez wpływu na ramdisk) root= urzadzenie reprezentujace system plików root-a rootdelay= liczba sekund przed próba zamontowania urzadzenia roota (domyślnie 0) rootfstype= rodzaj systemu plików urzadzenia roota (wymagane dla jffs2) rootwait czeka na wykrycie urzadzenia roota (np. karty SD) rw montuje urzadzenie root-a jako read-write (domyślnie) GUT Intel 2015/16 50/51

51 Literatura Ch. Simmonds, Mastering Embedded Linux Programming, PACKT 2015 Linux Kernel Newbies, kernelnewbies.org Linux Weekly News, GUT Intel 2015/16 51/51

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

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko Jądro Linuksa dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Jądro Linuksa Program wykładu: Właściwości jądra Linuksa. Pliki źródłowe jądra. Konfiguracja jądra. Kompilacja i kompilacja skrośna

Bardziej szczegółowo

Programowanie Systemów Wbudowanych

Programowanie Systemów Wbudowanych Programowanie Systemów Wbudowanych Debugowanie z GDB Iwona Kochańska Gdansk University of Technology GNU debugger Identyfikacja i naprawianie błędów to część procesu wytwarzania oprogramowania Techniki

Bardziej szczegółowo

Konfiguracja i kompilacja jądra Linux. Based on Free Electrons

Konfiguracja i kompilacja jądra Linux. Based on Free Electrons Konfiguracja i kompilacja jądra Linux Based on Free Electrons Obsługiwane platformy Rodzaje obsługiwanych architektury katalog arch/ Minimum: 32 bit, opcjonalnie MMU, gcc Architektura 32 bit: arm, avr32,

Bardziej szczegółowo

Kernel Kompilacja jądra

Kernel Kompilacja jądra 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

Bardziej szczegółowo

Uruchomienie Raspberry Pi

Uruchomienie Raspberry Pi Imie i nazwisko Nr indeksu Liczba punktów: Ramki oznaczone kolorem żółtym należy uzupełnić odpowiednią informacją! Po zakończeniu ćwiczenia niniejszą formatkę należy wysłać na adres: iwona.kochanska@eti.pg.gda.pl

Bardziej szczegółowo

Programowanie Systemów Wbudowanych

Programowanie Systemów Wbudowanych Programowanie Systemów Wbudowanych OS Linux - Oprogramowanie rozruchowe Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG March 30, 2016 Elementy wbudowanego OS Linux Toolchain kompilator i

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

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

U M L.  System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) http://user-mode-linux.sourceforge.net/ System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) Autor: Jeff Dike Koncepcja powstała w 1999 r. Początkowo jako patch do jądra 2.0

Bardziej szczegółowo

Uruchomienie Raspberry Pi

Uruchomienie Raspberry Pi Imie i nazwisko Nr indeksu Liczba punktów: Ramki oznaczone kolorem żółtym należy uzupełnić odpowiednią informacją! Po zakończeniu ćwiczenia niniejszą formatkę należy wysłać na adres: iwona.kochanska@eti.pg.gda.pl

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

Programowanie Systemów Wbudowanych

Programowanie Systemów Wbudowanych Programowanie Systemów Wbudowanych OS Linux - Oprogramowanie rozruchowe Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG March 3, 2019 Elementy wbudowanego OS Linux Toolchain kompilator i

Bardziej szczegółowo

Linux Kernel. Michał Kulling. matrix@arahnet.org. www.arahnet.org

Linux Kernel. Michał Kulling. matrix@arahnet.org. www.arahnet.org Linux Kernel Michał Kulling matrix@arahnet.org www.arahnet.org Cele prezentacji Przedstawienie co to jest jądro systemu Co to jest jądro Linux Przedstawienie ogólnych informacji o jądrze systemu Linux

Bardziej szczegółowo

Kompilacja jądra systemu Linux

Kompilacja jądra systemu Linux Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska Laboratorium Administrowania Systemami Komputerowymi Kompilacja jądra systemu Linux ćwiczenie numer: 2 2 Spis

Bardziej szczegółowo

Programowanie Systemów Wbudowanych

Programowanie Systemów Wbudowanych Programowanie Systemów Wbudowanych OS Linux - Oprogramowanie rozruchowe Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG March 2, 2017 Elementy wbudowanego OS Linux Toolchain kompilator i

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

Spis treści. Wstęp... 10

Spis treści. Wstęp... 10 Spis treści Wstęp... 10 1. Yocto... 25 1.1. Podstawowe komponenty... 26 1.2. Metadane... 26 1.3. Przygotowanie systemu... 28 1.4. Rozpoczęcie pracy z Yocto... 29 1.4.1. Konfiguracja GIT... 29 1.4.2. fsl-community-bsp-platform...

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Etapy uruchamiania systemu 010 2 Systemy operacyjne i sieci komputerowe. Część 010. I. Etapy uruchamiania systemu Windows

Bardziej szczegółowo

Programowanie Systemów Czasu Rzeczywistego

Programowanie Systemów Czasu Rzeczywistego Programowanie Systemów Czasu Rzeczywistego Laboratorium Wprowadzenie Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl 2016 Spis treści Przygotowanie platform docelowej.... 3 Przygotowanie środowiska programistycznego

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html

Bardziej szczegółowo

Embedded GNU/Linux. Krzysztof Mazur

Embedded GNU/Linux. Krzysztof Mazur Embedded GNU/Linux Krzysztof Mazur 26 czerwca 2014 0.1 autoconf $./configure --build=build-type \ --host=host-type \ --target=target-type Forma kanoniczna: machine-os-release arm-linux-elf arm-softfloat-none-eabi

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Komputery przemysłowe i systemy wbudowane

Komputery przemysłowe i systemy wbudowane Komputery przemysłowe i systemy wbudowane Systemy operacyjne w systemach wbudowanych 2 KSEM WETI PG October 7, 2015 System operacyjny System operacyjny (OS) - opcjonalny w systemach wbudowanych. zbiór

Bardziej szczegółowo

MultiBoot Instrukcja obsługi

MultiBoot Instrukcja obsługi MultiBoot Instrukcja obsługi Copyright 2009 Hewlett-Packard Development Company, L.P. Informacje zawarte w niniejszym dokumencie mogą zostać zmienione bez powiadomienia. Jedyne warunki gwarancji na produkty

Bardziej szczegółowo

Programowanie procesora Microblaze w środowisku SDK

Programowanie procesora Microblaze w środowisku SDK Programowanie procesora Microblaze w środowisku SDK 9 kwietnia 2010 Zespół Rekonfigurowalnych Systemów Obliczeniowych AGH Kraków http://www.fpga.agh.edu.pl/ 1.Wstęp Celem niniejszego ćwiczenia jest: zapoznanie

Bardziej szczegółowo

ZL24PRG. Interfejs JTAG dla mikrokontrolerów ARM

ZL24PRG. Interfejs JTAG dla mikrokontrolerów ARM ZL24PRG Interfejs JTAG dla mikrokontrolerów ARM ZL24PRG to interfejs JTAG dla mikrokontrolerów z rdzeniem ARM. Umożliwia programowanie oraz debugowanie popularnych rodzin mikrokontrolerów z rdzeniem ARM

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Uruchomienie Intel Galileo

Uruchomienie Intel Galileo Imie i nazwisko Nr indeksu Liczba punktów: Ramki oznaczone kolorem żółtym należy uzupełnić odpowiednią informacją! Po zakończeniu ćwiczenia niniejszą formatkę należy wysłać na adres: iwona.kochanska@eti.pg.gda.pl

Bardziej szczegółowo

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta: QEMU Stosunkowo szybki emulator procesora, korzystający z tzw. dynamicznej translacji i kilku innych ciekawych technik programistycznych i optymalizacyjnych. działa na procesorach procesorach: Intel x86,

Bardziej szczegółowo

MultiBoot Instrukcja obsługi

MultiBoot Instrukcja obsługi MultiBoot Instrukcja obsługi Copyright 2007 Hewlett-Packard Development Company, L.P. Informacje zawarte w niniejszym dokumencie mogą zostać zmienione bez powiadomienia. Jedyne warunki gwarancji na produkty

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja

Bardziej szczegółowo

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna) IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja wielokrotna) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Instalowanie produktu............ 1 Praca

Bardziej szczegółowo

MultiBoot Instrukcja obsługi

MultiBoot Instrukcja obsługi MultiBoot Instrukcja obsługi Copyright 2006, 2007 Hewlett-Packard Development Company, L.P. Informacje zawarte w niniejszym dokumencie mogą zostać zmienione bez powiadomienia. Jedyne warunki gwarancji

Bardziej szczegółowo

Diagnostyka pamięci RAM

Diagnostyka pamięci RAM Diagnostyka pamięci RAM 1 (Pobrane z slow7.pl) Uszkodzenie pamięci RAM jest jednym z najczęściej występujących problemów związanych z niestabilnym działaniem komputera. Efektem uszkodzenia kości RAM są

Bardziej szczegółowo

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

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy Acronis Backup & Recovery 10 Server for Linux Instrukcja szybkiego rozpoczęcia pracy W tym dokumencie opisano sposób instalowania programu Acronis Backup & Recovery 10 Server for Linux oraz rozpoczynania

Bardziej szczegółowo

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

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

MentorGraphics ModelSim

MentorGraphics ModelSim MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

Acronis Universal Restore

Acronis Universal Restore Acronis Universal Restore Update 4 PODRĘCZNIK UŻYTKOWNIKA Spis treści 1 Czym jest narzędzie Acronis Universal Restore...3 2 Instalowanie narzędzia Acronis Universal Restore...3 3 Tworzenie nośnika startowego...3

Bardziej szczegółowo

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument

Bardziej szczegółowo

MultiBoot. Instrukcja obsługi

MultiBoot. Instrukcja obsługi MultiBoot Instrukcja obsługi Copyright 2007 Hewlett-Packard Development Company, L.P. Informacje zawarte w niniejszym dokumencie mogą zostać zmienione bez powiadomienia. Jedyne warunki gwarancji na produkty

Bardziej szczegółowo

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a Instrukcja korzystania z Virtual Box-a i SQLPLUS-a Wstęp W tej instrukcji zawarte są procedury dotyczące użytkowania VirtualBox-a i SQLPLUS-a w zakresie: 1. Virtual Box a. podłączanie zewnętrznych współdzielonych

Bardziej szczegółowo

Narzędzie konfiguracji rozruchu

Narzędzie konfiguracji rozruchu Narzędzie konfiguracji rozruchu 1. By skorzystać z narzędzia konfiguracji rozruchu na początek konieczne jest utworzenie płyty ratunkowej bądź wykorzystanie narzędzia IT Edition i uruchomienie maszyny

Bardziej szczegółowo

Wykaz zmian w programie SysLoger

Wykaz zmian w programie SysLoger Wykaz zmian w programie SysLoger Pierwsza wersja programu 1.0.0.1 powstała we wrześniu 2011. Funkcjonalność pierwszej wersji programu: 1. Zapis logów do pliku tekstowego, 2. Powiadamianie e-mail tylko

Bardziej szczegółowo

Wprowadzenie do biblioteki klas C++

Wprowadzenie do biblioteki klas C++ Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8 Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem

Bardziej szczegółowo

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21 Programowanie w C++ Wykład 10 Katarzyna Grzelak 21 maja 2018 K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21 Makefiles K.Grzelak (Wykład 10) Programowanie w C++ 2 / 21 Kompilacja programu zapisanego w

Bardziej szczegółowo

MultiBoot Instrukcja obsługi

MultiBoot Instrukcja obsługi MultiBoot Instrukcja obsługi Copyright 2008 Hewlett-Packard Development Company, L.P. Informacje zawarte w niniejszym dokumencie mogą zostać zmienione bez powiadomienia. Jedyne warunki gwarancji na produkty

Bardziej szczegółowo

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać

Bardziej szczegółowo

Metody i algorytmy pomiarów przedmiotów metodami optycznymi.

Metody i algorytmy pomiarów przedmiotów metodami optycznymi. Rozdział 4. Oprogramowanie. Niewątpliwie podstawą poprawnego działania całego układu jest poprawnie napisany program sterujący pracą urządzeń i analizujący wyniki. Oprogramowanie sterujące projektowanym

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć

Bardziej szczegółowo

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

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410) Spis treści Dzień 1 I Konfiguracja sterownika (wersja 1410) I-3 Zadanie Tworzenie konfiguracji sprzętowej I-4 Co jest potrzebne by zacząć? I-5 TIA Portal ekran startowy I-6 Tworzenie nowego projektu I-7

Bardziej szczegółowo

Programowanie w asemblerze Linkowanie

Programowanie w asemblerze Linkowanie Programowanie w asemblerze Linkowanie January 17, 2017 Problem rozmieszczenia (relokacji) Ponieważ w pamięci równocześnie może znajdować się kilka programów, nie można w trakcie kompilacji przewidzieć

Bardziej szczegółowo

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika) IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Kod autoryzacji.............

Bardziej szczegółowo

Ćwiczenie 10.1. Zmiana sposobu uruchamiania usług

Ćwiczenie 10.1. Zmiana sposobu uruchamiania usług Rozdział 10. Zarządzanie komputerem Ćwiczenia zawarte w tym rozdziale prezentują najważniejsze narzędzia służące do konfigurowania i monitorowania pracy komputera. Ponieważ system Windows XP został opracowany

Bardziej szczegółowo

Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Środowisko Delphi Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór

Bardziej szczegółowo

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Cel ćwiczenia: Celem zajęć jest zdobycie doświadczenia i umiejętności instalacji systemu operacyjnego z rodziny Unix bez wykorzystania

Bardziej szczegółowo

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows Cel ćwiczenia: Zapoznanie się z: zarządzaniem systemami plików, zarządzaniem atrybutami plików, prawami do plików

Bardziej szczegółowo

Linux Kernel II. Hello kernel - jak napisać pierwszy moduł

Linux Kernel II. Hello kernel - jak napisać pierwszy moduł Linux Kernel II Hello kernel - jak napisać pierwszy moduł Przypomnienie (I) Moduły uruchamiane są i działają w przestrzeni Kernela (Kernel space), Moduły piszemy w języku C, Moduły działają inaczej niż

Bardziej szczegółowo

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania Krzysztof Kluza, Janusz Miller 1 Debugowanie Debugowanie, czy też po polsku odpluskiwanie, to proces polegający na kontrolowanym wykonaniu programu

Bardziej szczegółowo

Instrukcja użytkownika ARSoft-WZ1

Instrukcja użytkownika ARSoft-WZ1 05-090 Raszyn, ul Gałczyńskiego 6 tel (+48) 22 101-27-31, 22 853-48-56 automatyka@apar.pl www.apar.pl Instrukcja użytkownika ARSoft-WZ1 wersja 3.x 1. Opis Aplikacja ARSOFT-WZ1 umożliwia konfigurację i

Bardziej szczegółowo

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Konfiguracja współpracy urządzeń mobilnych (bonowników). Konfiguracja współpracy urządzeń mobilnych (bonowników). Współpracę Bistro z bonownikami można realizować na dwa sposoby: poprzez udostępnienie folderu w Windows albo za pomocą serwera ftp. 1. Współpraca

Bardziej szczegółowo

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Tango-RedPitaya Tango device server for RedPitaya multi-instrument board Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Streszczenie Tango-RedPitaya jest serwerem urządzeń Tango sterującym płytką

Bardziej szczegółowo

Wykaz zmian w programie SysLoger

Wykaz zmian w programie SysLoger Wykaz zmian w programie SysLoger Pierwsza wersja programu 1.0.0.1 powstała we wrześniu 2011. Funkcjonalność pierwszej wersji programu: 1. Zapis logów do pliku tekstowego, 2. Powiadamianie e-mail tylko

Bardziej szczegółowo

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil Środowisko Krzysztof Świentek Systemy wbudowane Spis treści 1 2 Źródła 1 http://infocenter.arm.com 2 http://www.keil.com/arm/mdk.asp 3 http://pl.wikipedia.org Spis treści 1 2 Co to jest toolchain? Zbiór

Bardziej szczegółowo

Fragment wykładu z języka C ( )

Fragment wykładu z języka C ( ) Fragment wykładu z języka C (2002-2009) Piotr Szwed pszwed@agh.edu.pl Program make Typowy program w języku C/C++ składa się z wielu odrębnych modułów (jednostek translacji). Ich liczba może dochodzić do

Bardziej szczegółowo

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 02 Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 2012.10.07 Program w języku C Program w języku C jest pisany w pliku tekstowym, następnie przetwarzany przez kompilator do pliku

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS

Bardziej szczegółowo

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4 ICD 2 Czym jest In-Circuit Debugger? 2 O poradniku 3 Gdzie szukać dodatkowych informacji? 4 ICD 1 ICD 25.08.2009 Czym jest In-Circuit Debugger? Większość procesorów dostarcza systemów debugowania (ang.

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej

Bardziej szczegółowo

Computer Setup Instrukcja obsługi

Computer Setup Instrukcja obsługi Computer Setup Instrukcja obsługi Copyright 2007 Hewlett-Packard Development Company, L.P. Windows jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation, zarejestrowanym w USA. Informacje zawarte

Bardziej szczegółowo

Pracownia Technik Obliczeniowych

Pracownia Technik Obliczeniowych Pracownia Technik Obliczeniowych Instalowanie oprogramowania Paweł Daniluk Wydział Fizyki Wiosna 2016 P. Daniluk(Wydział Fizyki) PTO XI Wiosna 2016 1 / 16 Standardowy układ katalogów Systemy UNIXowe mają

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska X PIWO 17 Maj 2014 - Poznań, Polska Portowanie Tizena na nowe architektury na przykładzie ARMv6 Maciej Wereski Samsung R&D Institute Poland Plan prezentacji Środowisko budowania Tizena Infrastruktura GBS

Bardziej szczegółowo

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd

Bardziej szczegółowo

Linux Kernel. Wprowadzenie

Linux Kernel. Wprowadzenie Linux Kernel Wprowadzenie Trochę historii (1) Rozpoczęło się od Bell Labolatories we wczesnych latach 70- tych XX wieku, kiedy rozpoczęto prace nad systemem UNIX: UNIX był pierwszym systemem operacyjnym

Bardziej szczegółowo

SystimPlus. Dokumentacja (FAQ) dla wersji: v1.14.05.12

SystimPlus. Dokumentacja (FAQ) dla wersji: v1.14.05.12 SystimPlus Dokumentacja (FAQ) dla wersji: v1.14.05.12 Spis treści 1.Co to jest SystimPlus?... 1 2.Instalacja i wymagania... 1 3.Jakie drukarki fiskalne obsługuje SystimPlus?... 3 4.Jak połączyć się z drukarką

Bardziej szczegółowo

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

Tworzenie sterowników dla FreeBSD. Michał Hajduk mih@semihalf.com

Tworzenie sterowników dla FreeBSD. Michał Hajduk mih@semihalf.com Tworzenie sterowników dla FreeBSD Michał Hajduk mih@semihalf.com AGH, Kraków 23.04.2009 Szkic prezentacji Wstęp, defnicje Architektura urządzeń RTC, I2C, DMA Wprowadzenie do tworzenia sterowników Newbus,

Bardziej szczegółowo

Embedded Systems Programming

Embedded Systems Programming Embedded Systems Programming Device drivers - interrupts and timers Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG April 7, 2019 Przerwania Przerwanie - sygnał powodujacy zmianę przepływu

Bardziej szczegółowo

SecureDoc Standalone V6.5

SecureDoc Standalone V6.5 SecureDoc Standalone V6.5 Instrukcja instalacji WinMagic Inc. SecureDoc Standalone Instrukcja Instalacji Spis treści Zanim przystąpisz do instalacji... 3 Tworzenie kopii zapasowej... 3 Wymagania systemowe...

Bardziej szczegółowo

Windows 10 - Jak uruchomić system w trybie

Windows 10 - Jak uruchomić system w trybie 1 (Pobrane z slow7.pl) Windows 10 - Jak uruchomić system w trybie awaryjnym? Najprostszym ze sposobów wymuszenia na systemie przejścia do trybu awaryjnego jest wybranie Start a następnie Zasilanie i z

Bardziej szczegółowo

Zadanie programistyczne nr 3 z Sieci komputerowych

Zadanie programistyczne nr 3 z Sieci komputerowych Zadanie programistyczne nr 3 z Sieci komputerowych 1 Opis zadania Celem tego zadania jest napisanie prostego serwera WWW, wyświetlającego strony z zadanego katalogu. W tym celu wykonaj następujące czynności

Bardziej szczegółowo

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh. Powłoka I Popularne implementacje W stylu sh (powłoki zdefiniowanej w POSIX) bash (najpopularniejsza) zsh ksh mksh W stylu csh csh tcsh 12 października 2018 1 / 16 Powłoka II Zachęta Komunikuje się z użytkownikiem

Bardziej szczegółowo

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego 2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego produktu. 23 czerwca 2014 Spis treści 3 Spis treści...5

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska

Bardziej szczegółowo

Wprowadzenie do systemu Minix

Wprowadzenie do systemu Minix Opis powstał na podstawie pracy dyplomowej Adama Pogorzelskiego Opracowanie laboratoryjnej wersji systemu Minix 2.0 wykonanej w 1998 roku w IAiIS PW. 1. Wprowadzenie System operacyjny (SO) to program lub

Bardziej szczegółowo

Administracja systemem Linux p. 1

Administracja systemem Linux p. 1 Administracja systemem Linux mgr inż. Łukasz Kuczyński lkucz@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Administracja systemem Linux p. 1 Start systemu Linux Administracja systemem Linux

Bardziej szczegółowo

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

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:

Bardziej szczegółowo