FreeBSD w systemach wbudowanych. Rafał Jaworowski raj@semihalf.com, raj@freebsd.org
|
|
- Monika Wilczyńska
- 10 lat temu
- Przeglądów:
Transkrypt
1 Rafał Jaworowski AGH, Kraków
2 Szkic prezentacji Wstęp, defnicje Podstawy FreeBSD, historia Istotne cechy dla zastosowań wbudowanych Przegląd interfejsów jądra, model sterowników urządzeń we/wy Podsumowanie, przykłady użycia Nasze prace nad FreeBSD
3 Wstęp Defnicje Środowisko operacyjne (operating environment) FreeBSD System wbudowany (embedded) System-on-chip (SOC) Notacja intro(4)
4 FreeBSD Nowoczesny system operacyjny UNIX Berkeley Software Distribution Wsparcie dla różnorodnych platform i architektur AMD64, ARM, i386, MIPS, PC98, PowerPC, SPARC64 Jak dużo BSD w FreeBSD?
5 Ultra krótka historia UNIXa i FreeBSD Prehistoria Multics (1965) Początki Bell Telephone Labs (1969) Ken Thompson, Dennis Ritchie, PDP-7, PDP-11 AT&T, Berkeley (University of California) Berkeley Software Distribution (1977), System V (1974) 4.3BSD, 4.4BSD (1992) FreeBSD (1993)
6
7
8 FreeBSD i architektury wbudowane ARM v4, v5 AVR32 (w trakcie) i386 MIPS PowerPC Book-E
9 Istotne cechy FreeBSD to kompletne środowisko Zestaw narzędzi do tworzenia kodu w podstawowym systemie (kompilator, asembler, linker, debugger) Bootloader (UWAGA: to nie frmware!) Jądro (kernel) Świat (user land), podstawowe programy i narzędzia Build system Budowanie skrośne Build your own world
10 Istotne cechy c.d. POSIX / UNIX Standardy interfejsów programowania Biblioteki Dodatkowe aplikacje (ports) ~ pozycji Pełne źródła
11 Bootloader loader(8) Uruchomienie jądra Dynamiczne moduły jądra Środowisko (tunables, kenv, FORTH) Jednolity interfejs programistyczny wejścia do jądra (metadata) Jednolity interfejs użytkownika (command line UI) Strukturalna konstrukcja Warstwy zależna i niezależna od platformy, libstand(3)
12 Kernel FreeBSD podstawy Konstrukcja monolityczna (tradycyjna) Opakowanie ELF Prawie zwyczajne binarium Modularyzacja Partycjonowanie podsystemów kernela, hierarchia Moduły statyczne vs. dynamiczne Mechanizmy SYSINIT(), DECLARE_MODULE() UWAGA: modularyzacja!= mikrokernel
13 Kernel FreeBSD opakowanie $ file /boot/kernel/kernel /boot/kernel/kernel: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped $ readelf -l /boot/kernel/kernel Elf file type is EXEC (Executable file) Entry point 0x11d410 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x x x x x00080 R E 0x4 INTERP 0x0000f4 0x001000f4 0x001000f4 0x0000d 0x0000d R 0x1 [Requesting program interpreter: /red/herring] LOAD 0x x x x167e50 0x184f80 RWE 0x10000 DYNAMIC 0x x x x x00068 RW 0x4 $ readelf -d /boot/kernel/kernel Dynamic segment at offset 0x contains 8 entries: Tag Type Name/Value 0x (NEEDED) Shared library: [hack.so] 0x (HASH) 0x x (STRTAB) 0x x (SYMTAB) 0x x a (STRSZ) (bytes) 0x b (SYMENT) 16 (bytes) 0x (DEBUG) 0x0 0x (NULL) 0x0
14 Kernel FreeBSD c.d. Warstwy Zależna od platformy / architektury (machine dependent) Abstrakcyjna, niezależna od sprzętu Elementy podejścia obiektowego Mechanizm KOBJ Wirtualizacja, polimorfzm interfejsów wewnątrzkernelowych (przykłady: VM, przerwania PowerPC, model sterowników urządzeń I/O)
15 KOBJ przykład wirtualizacji int powerpc_enable_intr(void) { for (vector = 0; vector < nvectors; vector++) { i = powerpc_intrs[vector]; if (i == NULL) continue; if (i->trig!= INTR_TRIGGER_CONFORM i->pol!= INTR_POLARITY_CONFORM) PIC_CONFIG(pic, i->irq, i->trig, i->pol); if (i->event!= NULL) PIC_ENABLE(pic, i->irq, vector); } return (0); static device_method_t openpic_ocpbus_methods[] = { /* Device interface */ DEVMETHOD(device_probe, openpic_ocpbus_probe), DEVMETHOD(device_attach, openpic_attach), } /* PIC interface */ DEVMETHOD(pic_config, DEVMETHOD(pic_dispatch, DEVMETHOD(pic_enable, DEVMETHOD(pic_eoi, DEVMETHOD(pic_ipi, DEVMETHOD(pic_mask, DEVMETHOD(pic_unmask, static device_method_t hrowpic_methods[] = { /* Device interface */ DEVMETHOD(device_probe, hrowpic_probe), DEVMETHOD(device_attach, hrowpic_attach), /* PIC interface */ DEVMETHOD(pic_dispatch, DEVMETHOD(pic_enable, DEVMETHOD(pic_eoi, DEVMETHOD(pic_ipi, DEVMETHOD(pic_mask, DEVMETHOD(pic_unmask, { 0, 0 }, }; hrowpic_dispatch), hrowpic_enable), hrowpic_eoi), hrowpic_ipi), hrowpic_mask), hrowpic_unmask), openpic_config), openpic_dispatch), openpic_enable), openpic_eoi), openpic_ipi), openpic_mask), openpic_unmask), { 0, 0 }, }; static driver_t openpic_ocpbus_driver = { "openpic", openpic_ocpbus_methods, sizeof(struct openpic_softc) };
16 Świat (user land) Środowisko pracy ponad jądrem Biblioteki, aplikacje (linker dynamiczny, shell) Narzędzia diagnostyczne (pciconf, usbconfg, i2c) Root flesystem Przeważnie niezależne od architektury Standardowa biblioteka C (libc) Operacje zmiennoprzecinkowe (systemy wbudowane często nie mają FPU), emulacja (SoftFloat, FPU_EMU) Wołania systemowe (syscall)
17 Wybrane interfejsy jądra bus_space(9) Abstrakcja dostępu do magistrali lokalnej CPU Porządek bajtów (endianness), szerokość słów, przestrzeń adresowa bus_dma(9) Abstrakacja operacji Direct Memory Access Synchronizacja (cache, DMA bez wsparcia dla koherencji) rman(9) Warstwa zarządzania abstrakcyjnymi zasobami
18 Model sterowników urządzeń newbus Hierarchia (magistrale, urządzenia końcowe) Zorientowany obiektowo (KOBJ), łatwy w użyciu Deklaracja klasy Implementacja metod dla magistrali macierzystej (probe+attach) Reszta dzieje się automatycznie Właściwy sterownik niezależny od architektury Abstrakcyjne interfejsy bus_space, bus_dma
19 Newbus hierarchia root nexus RMAN I/O MEM ocp lbc i2c... uart tsec pci opic RMAN IRQ...
20 Sterownik fragment implementacji static device_method_t tsec_methods[] = { /* Device interface */ DEVMETHOD(device_probe, tsec_ocp_probe), DEVMETHOD(device_attach, tsec_ocp_attach), DEVMETHOD(device_detach, tsec_ocp_detach), DEVMETHOD(device_shutdown, DEVMETHOD(device_suspend, DEVMETHOD(device_resume, tsec_shutdown), tsec_suspend), tsec_resume), /* Bus interface */ DEVMETHOD(bus_print_child, DEVMETHOD(bus_driver_added, bus_generic_print_child), bus_generic_driver_added), /* MII interface */ DEVMETHOD(miibus_readreg, DEVMETHOD(miibus_writereg, DEVMETHOD(miibus_statchg, { 0, 0 } tsec_miibus_readreg), tsec_miibus_writereg), tsec_miibus_statchg), }; static driver_t tsec_ocp_driver = { "tsec", tsec_methods, sizeof(struct tsec_softc), }; DRIVER_MODULE(tsec, ocpbus, tsec_ocp_driver, tsec_devclass, 0, 0); MODULE_DEPEND(tsec, ocpbus, 1, 1, 1); MODULE_DEPEND(tsec, ether, 1, 1, 1); sc = device_get_softc(dev); sc->sc_rrid = 0; sc->sc_rres = bus_alloc_resource(dev, SYS_RES_MEMORY, &sc->sc_rrid, 0ul, ~0ul, TSEC_IO_SIZE, RF_ACTIVE); if (sc->sc_rres == NULL) return (ENXIO); sc->sc_bas.bsh = rman_get_bushandle(sc->sc_rres); sc->sc_bas.bst = rman_get_bustag(sc->sc_rres);
21 Cechy wyróżniające FreeBSD Licencja, przyjazna dla zastosowań komercyjnych Akademickie korzenie Wielu zasłużonych hackerów z czasów starych UNIXów BSD pracuje nad FreeBSD (Kirk McKusick, Sam Leffer) Tradycje UNIXa Własny styl kodowania, dokumentacji, pracy nad projektem style(9)
22 Cechy wyróżniające FreeBSD c.d. Integracja (leitmotiv kompletnego systemu) Stabilność i bezpieczeństwo Wydajność Skalowalne SMP Znakomite wsparcie dla sieci Wzorcowy stos TCP/IP MP-safety, wirtualizacja (VIMAGE), SCTP WiFi
23 Cechy wyróżniające FreeBSD c.d. System portów (aplikacji) Popularność i naśladownictwo (Gentoo portage wzorowane na ports z FreeBSD) Aktualna i wyczerpująca dokumentacja System manual pages Podręcznik Warstwy binarnej zgodności Linuxulator, NDISulator
24 Przykłady użycia FreeBSD Apple Apache Ironport (Cisco) Home.pl Isilon Netcraft Juniper Networks Sony Japan NetApp Weathernews Yahoo!
25 Nasze prace PowerPC MPC85xx (Freescale) PowerQUICC III, procesor telekomunikacyjny Single-core, multi-core (SMP) Book-E PowerPC PPC4xx (AMCC, IBM) Single-core Book-E PowerPC MPC5xxx (Freescale)
26 Nasze prace c.d. ARM Marvell 88F5xxx (Orion) Marvell 88F6xxx (Kirkwood) Marvell MV-78xxx (Discovery Innovation) Większość kodu już dostępna w publicznym repozytorium projektu FreeBSD Wkrótce nowe platformy!
27 Podsumowanie systemu FreeBSD Polecamy do zastosowań wbudowanych Przykłady komercyjnych udanych wdrożeń Zachęcamy do użycia w środowiskach akademickich Walory edukacyjne Świetny kod jako materiał do nauki programowania (dobre wzorce)
28 Kilka słów o projekcie FreeBSD Organizacja Zespół osób zaangażowanych w rozwój systemu (ports, src) Osoba uprzywilejowana (prawo pisania w repozytorium): commiter Grupa core, wybierana spośród developerów: rozwiązywanie sporów, koordynacja, zarządzanie przywilejem pisania (commit bit) Obecnie ~200 aktywnych developerów, tysiące wspierających użytkowników
29 Więcej o projekcie FreeBSD Przyjacielska atmosfera Obyczaje i kultura Pointy hat Wielu znakomitych hackerów UNIXowych Nacisk na jak najwyższy poziom techniczny Wzajemny przegląd kodu (peer reviews) Serdecznie zapraszamy...
30
31 Dziękuję za uwagę! Pytania, komentarze?
32 Rafał Jaworowski AGH, Kraków
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,
FreeBSD/PowerPC dla systemów embedded. FreeBSD/PowerPC dla systemów embedded
raj@amgua.org Kraków, 27 Listopada 2004 1 Spis treści Wstęp definicja problemu Stan portu FreeBSD/PowerPC FreeBSD/PowerPC dla kart CompactPCI Środowisko Proces uruchomienia systemu (bootstrap) Budowa loader-a
FreeBSD do zabudowy. Czyli nie tylko pecety. Rafał Jaworowski meetbsd 2007, Warszawa
FreeBSD do zabudowy Czyli nie tylko pecety Rafał Jaworowski raj@semihalf.com meetbsd 2007, Warszawa Szkic prezentacji Wprowadzenie do systemów wbudowanych (embedded systems) Przykłady Omówienie sytuacji
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
Przegląd współczesnych systemów operacyjnych
SOE - Systemy Operacyjne Wykład 2 Przegląd współczesnych systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Wstęp Cechy współczesnych systemów operacyjnych
Projekt TrustedBSD jako klucz do bezpieczeństwa systemu FreeBSD
Projekt TrustedBSD jako klucz do bezpieczeństwa systemu FreeBSD Wojciech A. Koszek IX LO. im. C.K. Norwida w Częstochowie dunstan@freebsd.czest.pl SKI2005 09.06.2005 Główne funkcje jądra: Nadzór nad pracą
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
Łagodne wprowadzenie do systemów wbudowanych. Bartłomiej Sięka tur@semihalf.com
Łagodne wprowadzenie do systemów wbudowanych Bartłomiej Sięka tur@semihalf.com Instytut Informatyki UJ, Kraków 24.11.2009 2/29 Plan Wstęp defnicja, zastosowania charakterystyka Sprzęt pojęcia, przykładowe
Ś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
BSD alternatywa dla Linuksa. (na przykładzie FreeBSD)
BSD alternatywa dla Linuksa (na przykładzie FreeBSD) 1 Plan prezentacji 1. Historia BSD 2 Plan prezentacji 1. Historia BSD 2. Licencja BSD a GNU/GPL 3 Plan prezentacji 1. Historia BSD 2. Licencja BSD a
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
Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl
Przegląd dostępnych hypervisorów Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl Agenda Podział hypervisorów Architektura wybranych rozwiązań Najwięksi gracze na rynku Podział hypervisorów Hypervisor
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).
Organizacja i struktura projektu FreeBSD. Wojciech A. Koszek wkoszek@freebsd.org Częstochowa, 14.11.2008
Organizacja i struktura projektu FreeBSD Wojciech A. Koszek wkoszek@freebsd.org Częstochowa, 14.11.2008 Plan prezentacji: Wprowadzenie do terminologii Krótki wstęp do świata BSD Opis The FreeBSD Project
Oprogramowanie Alternatywne
Oprogramowanie Alternatywne UNIX Wojciech Sobieski Olsztyn 2005 Systemy UNIX-owe Systemy UNIX-owe - liczne odmiany systemu UNIX o mniejszej lub większej z nim zgodności, produkowane przez największych
Łagodne wprowadzenie do systemów wbudowanych. Bartłomiej Sięka tur@semihalf.com
Łagodne wprowadzenie do systemów wbudowanych Bartłomiej Sięka tur@semihalf.com AGH, Kraków 26.02.2009 2/29 Plan Wstęp defnicja, zastosowania charakterystyka Sprzęt pojęcia, przykładowe platformy Oprogramowanie
ochrona w systemie operacyjnym
ochrona w systemie operacyjnym Ochrona mechanizm monitorowania, kontrolowania i nadzorowania dostępu programów, procesów i użytkowników do zasobów systemu. Wykorzystuje autoryzację i autentykację ochrona
Historia modeli programowania
Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu
Krótka Historia Systemów Operacyjnych. Tomasz Borzyszkowski
Krótka Historia Systemów Operacyjnych Tomasz Borzyszkowski UNIX: prepoczątki 1965r. - firmy Bell Telephone Labs, General Electric Company i Massachusetts Inst. of Tech. podjęły prace nad stworzeniem nowego
Podstawowe zagadnienia
SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych
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,
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX Wojciech A. Koszek dunstan@freebsd.czest.pl IX Liceum Ogólnokształcące im. C.K. Norwida w Częstochowie Krajowy Fundusz na
Wprowadzenie do systemów operacyjnych
SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny
Warstwy systemu Windows 2000
Warstwy systemu Windows 2000 Tryb użytkownika (User Mode) Tryb jądra (Kernel Mode) Tryb użytkownika (User Mode) Zarządzanie pamięcią wirtualną Cechy charakterystyczne systemu Windows XP: system bardzo
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.
WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania
SYSTEMY OPERACYJNE WYKŁAD 3 Jądro systemu i procesy Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania Program wykładu 2 Jądro systemu Możliwości procesorów Działanie procesów i wątków Zarządzanie procesami
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
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX CONFidence 2005 IX Liceum Ogólnokształcące im. C.K. Norwida w Częstochowie Krajowy Fundusz na Rzecz Dzieci Wojciech A. Koszek
Netgraph w systemie FreeBSD. Wojciech A. Koszek MeetBSD 2005 Kraków
Netgraph w systemie FreeBSD Wojciech A. Koszek dunstan@freebsd.czest.pl MeetBSD 2005 Kraków 17-19.06.2005 Czym jest Netgraph? Podsystemem jądra FreeBSD Rozszerzeniem możliwości i funkcjonalności kodu obsługi
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,
Elementy składowe systemu komputerowego
SWB - Systemy wbudowane - wprowadzenie - wykład 9 asz 1 Elementy składowe systemu komputerowego Podstawowe elementy składowe: procesor z ALU pamięć komputera (zawierająca dane i program) urządzenia wejścia/wyjścia
Wykład 6. Mikrokontrolery z rdzeniem ARM
Wykład 6 Mikrokontrolery z rdzeniem ARM Plan wykładu Cortex-A9 c.d. Mikrokontrolery firmy ST Mikrokontrolery firmy NXP Mikrokontrolery firmy AnalogDevices Mikrokontrolery firmy Freescale Mikrokontrolery
Programowanie niskopoziomowe
Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym
Embedded Solutions Automaticon 2012. Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ
Embedded Solutions Automaticon 2012 Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ Grzegorz Skiba info@embedded-solutions.pl 1 Plan seminarium Budowa systemu MicroDAQ Zastosowanie
Podstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
Proces uruchamiania FreeBSD przez bootloader U-Boot. Rafał Czubak
Proces uruchamiania FreeBSD przez bootloader U-Boot Rafał Czubak rcz@semihalf.com AGH, Kraków 21.05.2009 Szkic prezentacji Wstęp U-Boot Szczegóły działania i funkcjonalność API dla samodzielnych aplikacji
Opis efektów kształcenia dla modułu zajęć
Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:
EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9
Marcin Stanowski V rok Koło Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9 Keywords: embedded, operating system, linux,
Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl
Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,
UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci
UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX
Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
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
K. Konopko; Toolchain. Toolchain. dr inż. Krzysztof Konopko
Toolchain dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Środowisko kompilacji skrośnej Program wykładu: Wprowadzenie do kompilacji skrośnej. GCC Binutils. Biblioteka standardowa C. Pliki nagłówkowe
Szkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com
Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.
Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,
Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11
Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.
Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:
Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie
Inżynieria Wytwarzania Systemów Wbudowanych
GUT Intel 2015/16 1/19 Inżynieria Wytwarzania Systemów Wbudowanych Wykład 4b Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG October 18, 2018 Wzorce projektowe Wzorzec projektowy - ogólne
Powłoki systemu operacyjnego i intepretery
Powłoki systemu operacyjnego i interpretery Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright
Wirtualizacja. Piotr Sikora Tomasz Ziółkowski
Wirtualizacja Wirtualizacja Piotr Sikora Tomasz Ziółkowski 1 Plan wykładu Pojęcie wirtualizacji Historia zagadnienia Kryterium realizowalności VM Dlaczego stosować wirtualizację? Rodzaje wirtualizacji
Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430
Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
Linux -- u mnie działa!
Linux -- u mnie działa! Wirtualizacja - czyli jak z jednego komputera zrobić 100 Stanisław Kulczycki grung@kce.one.pl Agenda Co to jest wirtualizacja? Zastosowanie Metody wirtualizacji Popularne maszyny
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
Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl
Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów
Praktyka Programowania
Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:
Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel
Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080
Wykład 3: Implementacja programów wbudowanych
Systemy wbudowane Wykład 3: Implementacja programów wbudowanych Problemy implementacji oprogramowania wbudowanego Szeregowanie zadań System operacyjny Obsługa przerwań 10/16/2010 S.Deniziak:Systemy wbudowane
Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+
Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu
Systemy operacyjne system przerwań
system przerwań przerwanie: procesor zawiesza wykonanie bieżącego zadania i przechodzi do obsługi przerwania przerwania: maskowalne i niemaskowalne wektor przerwań adres (tablica adresów) kodu obsługi
Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces
Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy
Przykładowa konfiguracja systemu komputerowego
Terminale Przykładowa konfiguracja systemu komputerowego Serwer Jednostka centralna (CPU) Pamięć Dyski Użytkownicy Sieć Konsola Drukarki Administrator System operacyjny: program zarządzający pracą komputera
Programowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick
Wykład 1
Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego
Dystrybucje Linuksa c.d.
Dystrybucje Linuksa c.d. Gentoo dla fachowców Gentoo Gentoo dla fachowców brak skompilowanych paczek; system zarządzania Portage Gentoo dla fachowców brak skompilowanych paczek; system zarządzania Portage
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ą
Architektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Programowanie MorphX Ax
Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn
Zagadnienia programowania obiektowego
Janusz Jabªonowski, Andrzej Szaªas Instytut Informatyki MIMUW Janusz Jabªonowski,, Andrzej Szaªas Slajd 1 z 10 Tematyka seminarium Szeroko poj ta tematyka projektowania i programowania obiektowego. Gªówny
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ć
2013-04-25. Czujniki obiektowe Sterowniki przemysłowe
Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej
Systemy Operacyjne 2006/07. Prezentacja o BSD na przykładzie FreeBSD. Maria Donten, Bartłomiej Etenkowski, Aleksander Zabłocki
Systemy Operacyjne 2006/07 Prezentacja o BSD na przykładzie FreeBSD, Bartłomiej Etenkowski, Aleksander Zabłocki Najpierw o BSD ogólnie... BSD, czyli Berkeley Software Distribution. Jedna z gałęzi systemów
Systemy czasu rzeczywistego wstęp
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Systemy wbudowane Często system sterujący stanowi integralną część urządzenia. Jest to system wbudowany. Nie posiada on żadnych elementów pozwalających
Linux vs rootkits. - Adam 'pi3' Zabrocki
Linux vs rootkits - Adam 'pi3' Zabrocki /usr/bin/whoami ADAM ZABROCKI /usr/bin/whoami ADAM ZABROCKI /usr/bin/whoami ADAM ZABROCKI http://pi3.com.pl pi3@itsec.pl (lub oficjalnie adam.zabrocki@wcss.pl) Plan
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Elastyczna sieć dla rozwiązań Cloud Open vswitch
Elastyczna sieć dla rozwiązań Cloud Open vswitch Dariusz Puchalak 19+ lat Linux/Unix Sysadmin 7+ lat trener 6+ m-cy w OSEC OSEC 6+ lat na rynku doświadczona kadra (ACNI, RHCA) specjalizacja open-source
Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008
Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008 Systemy oparte na mikrojądrze Jądro systemu jest bardzo małe Architektura mocno
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
Android - wprowadzenie. Łukasz Przywarty 171018
Android - wprowadzenie Łukasz Przywarty 171018 Ramowy plan prezentacji Czym jest Android: definicja, krótka historia. Architektura systemu. Architektura aplikacji. Właściwości systemu. Środowisko deweloperskie.
INŻYNIERIA OPROGRAMOWANIA
INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia
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
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
Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC
Wykład 2 Przegląd mikrokontrolerów 8-bit: -AVR -PIC Mikrokontrolery AVR Mikrokontrolery AVR ATTiny Główne cechy Procesory RISC mało instrukcji, duża częstotliwość zegara Procesory 8-bitowe o uproszczonej
2 Tworzenie oprogramowania dla systemu wbudowanego
2 Tworzenie oprogramowania dla systemu wbudowanego 2 Tworzenie oprogramowania dla systemu wbudowanego...1 2.1 Przenośność programów...2 2.2 Systemy skrośnego tworzenia oprogramowania - podstawowe konfiguracje...7
Formalna weryfikacja oprogramowania w lotnictwie
30 listopada 2010 Motywacja Wymagania ACSL CIL SCADE wysoka niezawodność, zmniejszenie kodu obsługi sytuacji wyjątkowych, DO178B Motywacja Wymagania ACSL CIL SCADE Wymagania stawiane nowemu podejściu:
Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.
Warsztaty szkoleniowe Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5 Plan prezentacji 1. 2. 3. Przegląd narzędzi programistycznych wykorzystywanych
System komputerowy. System komputerowy
System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,
Projekt i implementacja filtra dzeń Pocket PC
Projekt i implementacja filtra pakietów w dla urządze dzeń Pocket PC Jakub Grabowski opiekun pracy: prof. dr hab. Zbigniew Kotulski 2005-10-25 Zagrożenia Ataki sieciowe Problemy z bezpieczeństwem sieci
Projekt Fstorage. www.fstorage.pl. Łukasz Podkalicki Bartosz Kropiewnicki
Projekt Fstorage www.fstorage.pl Łukasz Podkalicki Bartosz Kropiewnicki Konspekt 1. Problemy związane ze składowaniem plików 2. Dostępne darmowe technologie 3. Opis najczęściej stosowanej technologii 4.
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
Zastosowanie emulatorów w rozbudowie systemów wbudowanych
Zastosowanie emulatorów w rozbudowie systemów wbudowanych Jan Kowalewski kowalewski.j@protonmail.com May 29, 2019 Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Systemy operacyjne III
Systemy operacyjne III Jan Kazimirski 1 Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji
Podstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM
SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM Marcin Tomana marcin@tomana.net SKRÓT WYKŁADU Zastosowania systemów operacyjnych Architektury sprzętowe i mikroprocesory Integracja systemu operacyjnego
Systemy czasu rzeczywistego wstęp
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Systemy wbudowane Często system sterujący stanowi integralną część urządzenia. Jest to system wbudowany. Nie posiada on żadnych elementów pozwalających
Programowanie w C. dr inż. Stanisław Wszelak
Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++
3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy