Podcast
Questions and Answers
IMX53QSB posiada 4×1.4 GHz CPU.
IMX53QSB posiada 4×1.4 GHz CPU.
False
Raspberry PI 3 model B ma wyjście HDMI.
Raspberry PI 3 model B ma wyjście HDMI.
True
Można używać VirtualBox do wirtualizacji systemów operacyjnych.
Można używać VirtualBox do wirtualizacji systemów operacyjnych.
True
IMX53QSB oferuje 2 x USB oraz VGA.
IMX53QSB oferuje 2 x USB oraz VGA.
Signup and view all the answers
Wszystkie systemy operacyjne wymagają reinstalacji, aby eksperymentować z nimi na jednym komputerze.
Wszystkie systemy operacyjne wymagają reinstalacji, aby eksperymentować z nimi na jednym komputerze.
Signup and view all the answers
Na jednym komputerze można uruchomić tylko jeden system operacyjny w tym samym czasie.
Na jednym komputerze można uruchomić tylko jeden system operacyjny w tym samym czasie.
Signup and view all the answers
VirtualBox umożliwia uruchamianie maszyn wirtualnych jednocześnie.
VirtualBox umożliwia uruchamianie maszyn wirtualnych jednocześnie.
Signup and view all the answers
Kompilator gcc nie jest dostępny w większości dystrybucji Linuxa.
Kompilator gcc nie jest dostępny w większości dystrybucji Linuxa.
Signup and view all the answers
Funkcja printf() w C działa tak samo na systemie Windows 10 i Linux Debian.
Funkcja printf() w C działa tak samo na systemie Windows 10 i Linux Debian.
Signup and view all the answers
Programowanie w ANSI C wymaga specjalnego środowiska, które jest dostępne tylko w wersji Windows.
Programowanie w ANSI C wymaga specjalnego środowiska, które jest dostępne tylko w wersji Windows.
Signup and view all the answers
PDA działają na systemie operacyjnym Android 1.6.
PDA działają na systemie operacyjnym Android 1.6.
Signup and view all the answers
Android Studio IDE jest darmowym środowiskiem programistycznym dla urządzeń z Androidem.
Android Studio IDE jest darmowym środowiskiem programistycznym dla urządzeń z Androidem.
Signup and view all the answers
BeagleBoard xM może bootować bezpośrednio z pamięci Flash.
BeagleBoard xM może bootować bezpośrednio z pamięci Flash.
Signup and view all the answers
Programowanie w języku Java jest używane w środowisku Android.
Programowanie w języku Java jest używane w środowisku Android.
Signup and view all the answers
Środowisko programowe dla PDA wymaga znajomości języków C# i .NET.
Środowisko programowe dla PDA wymaga znajomości języków C# i .NET.
Signup and view all the answers
BeagleBoard xM jest kosztownym rozwiązaniem dla hobbystów.
BeagleBoard xM jest kosztownym rozwiązaniem dla hobbystów.
Signup and view all the answers
Wbudowane emulatory urządzeń są dostępne tylko dla systemu Windows CE.
Wbudowane emulatory urządzeń są dostępne tylko dla systemu Windows CE.
Signup and view all the answers
Koszt używania MSDN AA jest tym samym co korzystanie z komercyjnych narzędzi do programowania.
Koszt używania MSDN AA jest tym samym co korzystanie z komercyjnych narzędzi do programowania.
Signup and view all the answers
UNIX rozpoczął się 1 stycznia 1970 roku.
UNIX rozpoczął się 1 stycznia 1970 roku.
Signup and view all the answers
Powolne i nieefektywne procesy I/O nie wpływają na szybkość działania CPU.
Powolne i nieefektywne procesy I/O nie wpływają na szybkość działania CPU.
Signup and view all the answers
Programiści często pracują nad podobnymi problemami, takimi jak formatowanie wyjść i przetwarzanie typowych danych.
Programiści często pracują nad podobnymi problemami, takimi jak formatowanie wyjść i przetwarzanie typowych danych.
Signup and view all the answers
Wczesne rozwiązania dla systemów operacyjnych nie zawierały bibliotek z funkcjami.
Wczesne rozwiązania dla systemów operacyjnych nie zawierały bibliotek z funkcjami.
Signup and view all the answers
W systemie UNIX, ludzki operator działa szybciej niż zautomatyzowany proces.
W systemie UNIX, ludzki operator działa szybciej niż zautomatyzowany proces.
Signup and view all the answers
Tworzenie gry Space Travel na PDP-7 zapoczątkowało rozwój systemu UNIX.
Tworzenie gry Space Travel na PDP-7 zapoczątkowało rozwój systemu UNIX.
Signup and view all the answers
Cały komputer w kontekście wczesnych systemów operacyjnych był użytkowany przez wielu użytkowników jednocześnie.
Cały komputer w kontekście wczesnych systemów operacyjnych był użytkowany przez wielu użytkowników jednocześnie.
Signup and view all the answers
Wysokopoziomowe sterowniki i biblioteki są używane przez programistów, aby poprawić efektywność i jakość kodu.
Wysokopoziomowe sterowniki i biblioteki są używane przez programistów, aby poprawić efektywność i jakość kodu.
Signup and view all the answers
Ustawienie pinu w stan „wysoki” oznacza, że na pinie znajduje się napięcie.
Ustawienie pinu w stan „wysoki” oznacza, że na pinie znajduje się napięcie.
Signup and view all the answers
Timer w mikrokontrolerach nie jest wykorzystywany do wywoływania przerwań.
Timer w mikrokontrolerach nie jest wykorzystywany do wywoływania przerwań.
Signup and view all the answers
UART to interfejs używany do wymiany danych między mikrokontrolerem a innymi urządzeniami.
UART to interfejs używany do wymiany danych między mikrokontrolerem a innymi urządzeniami.
Signup and view all the answers
Przerwanie (interrupt) pozwala na kontynuację działania programu w mikrokontrolerze po jego wywołaniu.
Przerwanie (interrupt) pozwala na kontynuację działania programu w mikrokontrolerze po jego wywołaniu.
Signup and view all the answers
Funkcja Sleep(ms) służy do zatrzymania działania programu na określony czas.
Funkcja Sleep(ms) służy do zatrzymania działania programu na określony czas.
Signup and view all the answers
W opisie przedstawiono sposób na mruganie diodami LED niezależnie, z różnymi częstotliwościami.
W opisie przedstawiono sposób na mruganie diodami LED niezależnie, z różnymi częstotliwościami.
Signup and view all the answers
Kod dla CPU oraz jego peryferii jest generowany manualnie przed rozpoczęciem pracy.
Kod dla CPU oraz jego peryferii jest generowany manualnie przed rozpoczęciem pracy.
Signup and view all the answers
Piny LEDów są traktowane jako niezależne bity przy ich sterowaniu.
Piny LEDów są traktowane jako niezależne bity przy ich sterowaniu.
Signup and view all the answers
Systemy operacyjne czasu rzeczywistego są zaprojektowane do odpowiedzi w określonym czasie.
Systemy operacyjne czasu rzeczywistego są zaprojektowane do odpowiedzi w określonym czasie.
Signup and view all the answers
Windows CE jest przykładem systemu operacyjnego wykorzystywanego w urządzeniach mobilnych.
Windows CE jest przykładem systemu operacyjnego wykorzystywanego w urządzeniach mobilnych.
Signup and view all the answers
Wbudowane systemy operacyjne są niezależne i nieintegrują się z urządzeniem.
Wbudowane systemy operacyjne są niezależne i nieintegrują się z urządzeniem.
Signup and view all the answers
System operacyjny jest warstwą abstrakcyjną oddzielającą użytkownika od sprzętu.
System operacyjny jest warstwą abstrakcyjną oddzielającą użytkownika od sprzętu.
Signup and view all the answers
Systemy operacyjne wbudowane obejmują oprogramowanie, takie jak FreeBSD i QNX.
Systemy operacyjne wbudowane obejmują oprogramowanie, takie jak FreeBSD i QNX.
Signup and view all the answers
Windows 10 jest przykładem systemu operacyjnego czasu rzeczywistego.
Windows 10 jest przykładem systemu operacyjnego czasu rzeczywistego.
Signup and view all the answers
Systemy operacyjne dla urządzeń przenośnych są projektowane z myślą o wydajności energetycznej.
Systemy operacyjne dla urządzeń przenośnych są projektowane z myślą o wydajności energetycznej.
Signup and view all the answers
Mikrokontrolery nie potrzebują systemu operacyjnego do działania.
Mikrokontrolery nie potrzebują systemu operacyjnego do działania.
Signup and view all the answers
Study Notes
Systemy Operacyjne - Podsumowanie
- Systemy operacyjne (SO) to oprogramowanie zarządzające zasobami komputera, umożliwiające uruchamianie i koordynację programów.
- SO definiują interfejs między użytkownikiem a sprzętem i pozwalają na zarządzanie zasobami systemowymi.
- Istnieją różne typy systemów operacyjnych o różnej funkcjonalności i przeznaczeniu.
Historia Systemów Operacyjnych
- Wczesne systemy operacyjne skoncentrowane były na zarządzaniu danymi wejściowymi i wyjściowymi oraz obsłudze urządzeń.
- Space Travel (1969) - początek rozwoju systemów operacyjnych, początki UNIX.
- 1974: pojawienie się CP/M
- 1981: pojawienie się MS-DOS
- Inne ważne lata to: GNU,SCO Unix, i wiele innych
- Współczesne systemy (UNIX, Linux, Windows NT, Android) to rozwinięte systemy wszechstronne, zróżnicowane według przeznaczenia, ale nadal utrzymują pewne wspólne cechy.
Podział Systemów Operacyjnych
- Superkomputery, mainframes i systemy rozproszone
- Serwery
- Desktop
- Handhelds
- Systemy czasu rzeczywistego (real-time – RTOS)
- Embedded (wbudowane – np. w urządzeniach typu ATM, samochodowych)
Co to jest system operacyjny?
- Warstwa abstrakcyjna pomiędzy użytkownikiem a sprzętem.
- Zarządza zasobami komputerowymi (CPU, pamięć, urządzenia peryferyjne).
- Wirtualizuje platformę dla aplikacji.
- Wspiera wielozadaniowość, nawet ze jednym procesorem.
- Redukuje koszty programistów, poprzez gotowe rozwiązania.
Systemy operacyjne dla jednego mikrokontrolera (µC)
- Często oprogramowanie bez systemu operacyjnego
- Aplikacja przejmująca całkowitą kontrolę nad urządzeniem
- Mogą mieć system operacyjny czasu rzeczywistego (RTOS)
- Zaletą jest lepsza efektywność w pracy i elastyczność w środowisku
A co z urządzeniami „smart”?
- Szybki rozwój rynku urządzeń
- Są pośrednie w zastosowaniu pomiędzy komputerami a mikrokontrolerami
- Smartfony, PDA, Tablety, Netbooki, czytniki ebooków oraz różne „centra rozrywki”
- Czujniki w domach, samochody i inne inteligentne urządzenia z wykorzystaniem mocnych mikroprocesorów
- Idealne dla mobilnych aplikacji
PDA, G1, BeagleBoard
- Są to urządzenia z różnym zastosowaniem
- Posiadają podobne cechy
- Jeden GHz procesor, 256-512 MB RAM
- Interfejsy: internet, USB i wideo
- Preinstalowany system operacyjny, chociaż różny
- PDA - Windows Mobile 5.0
- G1 - Android 1.6
- BeagleBoard - uproszczona wersja Linuxa
Środowisko Programowania dla PDA
- Microsoft Visual Studio 2022 (toolkit dla Windows CE)
- Nowe platformy wymagają C#/.NET
- Prosty w użyciu wywołanie API
- Dostępne emulatory dla PDA
Środowisko Programowania dla Android
- Darmowe Android Studio IDE
- Darmowe Android SDK
- Wbudowane emulatory różnych urządzeń (możliwość utworzenia własnych)
- Łatwe debugowanie aplikacji
- Obsługa języków programowania: Java/Kotlin,
BeagleBoard xM
- Różne systemy operacyjne (w tym wiele dystrybucji Linuxa, QNX, Windows CE)
- Środowisko programistyczne dopasowane do wybranego systemu
- Brak pamięci flash, wczytywanie z karty microSD
- 1 GHz CPU, 512 MiB RAM, DSP do przetwarzania mediów
- Grafikę 2D/3D
- Relatywnie niskie koszty dla hobbystów
ProcesorExpert i CodeWarrior
- Łatwe użycie MCU
- Większość konfiguracji odbywa się automatycznie
- Generowane jest kod do inicjalizacji CPU z ustawieniami peryferii
- Możliwość konfiguracji zegara i częstotliwości
Mrugające diody – Podejście pierwsze
- 4 diody podłączone do portów PORTLD
- Sterowanie jako 4-bitowy wektor
- LED_PutVal, LED_NegBit, są funkcjami do obsługi komponentów
- Użycie funkcji sleep(ms) do czekania
Timer i przerwanie – Podejście drugie
- Timer (PITO, TimerInt, TI1) z ustawieniem 100ms okresu przerwania
- Wprowadzenie kodu do obsługi przerwań w funkcji TI1_OnInterrupt()
Mrugające diody – Podejście czwarte
- Podstawowe parametry zadań (np. wielkość stosu) przechowywane są w strukturze inet taskinfo
RTOS
- System operacyjny czasu rzeczywistego (Real-Time System – RTS)
- Wyniki i efekty działania zależą od dokładnego momentu.
- Funkcja zysku (zysk z realizacji zadania) zależy przede wszystkim od czasu.
- Hard Real-Time - czas odpowiedzi znany i nieprzekraczalny.
- Soft Real-Time - celem jest jak najszybsza odpowiedź, ale bez gwarancji terminu.
Planista (task scheduler) w SO (Real-time)
- Zadanie (ang. Task) – podstawowy element programu
- Zdarzenia mogą pochodzić od zegara, zadań, sygnałów wejściowych lub wyjściowych
- Algorytm szeregowania decyduje o tym, któremu procesowi przydzielić procesor i na jak długo
Planista Time-driven, Priority-driven, Share-driven
- Różne podejścia do szeregowania zadań w real-time systemach
freeRTOS
- Popularne i małe jądro RTOS
- Łatwe do użycia i konfiguracji
- Stosowany w różnych urządzeniach
Używać czy nie używać SO na µC
- Zależy od charakteru aplikacji i sprzętu.
- Zastosowanie SO może przyspieszyć portwanie aplikacji
Win32 API
- Obsługa kompatybilności z innymi systemami Windows
- Szerokie standardowe API dla programistów
- Obsługuje wiele procesów i wątków
WinAPI i C#/ .NET DLL
- Platforma .NET z zestawem funkcji dla WinAPI
- Umożliwia dynamiczne importowanie funkcji WinAPI do aplikacji
- Kompilacja i importowanie kodu DLL do aplikacji
Katalogi w Linuksie
- /etc - pliki konfiguracyjne
- /dev - pliki reprezentujące urządzenia
- /proc - pliki dla struktury jądra
- /var - pliki systemowe i aplikacyjne
- /usr - pliki użytkowników
- /sbin - aplikacje systemowe
- /bin - komendy systemowe
Linux - prawa dostępu
- chmod - zarządzanie prawami do plików
- chown - zmiana właścicieli i grup plików
Linux - montowanie FS
- /etc/fstab - konfiguracja montowania systemów plików
- /etc/mtab - lista aktualnie zamontowanych systemów plików
- Punkty montowania (/sys, /proc, /dev) - specjalne punkty dla urządzeń
Linux - /proc
- Dostęp do jądra i parametrów przez pliki
- Wirtualne pliki, nie istniejące na dysku
- Modyfikacja plików zmienia parametry jądra
Linux - i-węzeł
- Opis każdego pliku, obejmujący atrybuty, rozmieszczenie danych w klastrach, ilość odwołań itp.
- Sposób organizacji i zarządzania plikami w systemie Linux
Linux - Twarde dowiązania (Hard links)
- Ułatwiają wielokrotne odwołanie do tego samego pliku w różnych lokalizacjach
Linux - Symboliczne dowiązania (Symbolic links)
- Łatwy sposób referencji innego pliku, np. w momencie gdy plik źródłowy zostanie przeniesiony, usunięty.
Android
- System z rodziny Linuxa, ale z modyfikacjami
- Przeznaczony dla jednego użytkownika
- Posługiwanie się językiem Java/Kotlin
- API (Application Programming Interface) do tworzenia aplikacji
- Wirtualna maszyna Javy i architektura ART
Android - system plików
- Pierwsza partycja dla rootfs, zawierająca kopie plików systemowych
- /system - aplikacje, pliki konfiguracyjne
- /data - dane i pliki konfiguracyjne
- /cache - pliki tymczasowe.
Android - aplikacja w systemie Android i jej życie
- Etapy "życia" aplikacji
- Opisuje różne etapy działania aplikacji w androidzie (onCreate, onStart etc)
- Zależność od priorytetów i zasobów systemowych
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Ten quiz sprawdza wiedzę na temat technologii systemów operacyjnych oraz ich zastosowań w programowaniu. Obejmuje takie zagadnienia, jak wirtualizacja, różne platformy sprzętowe oraz programowanie w językach C i Java. Przygotuj się na różnorodne pytania związane z tymi tematami.