Podcast
Questions and Answers
IMX53QSB posiada 4×1.4 GHz CPU.
IMX53QSB posiada 4×1.4 GHz CPU.
False (B)
Raspberry PI 3 model B ma wyjście HDMI.
Raspberry PI 3 model B ma wyjście HDMI.
True (A)
Można używać VirtualBox do wirtualizacji systemów operacyjnych.
Można używać VirtualBox do wirtualizacji systemów operacyjnych.
True (A)
IMX53QSB oferuje 2 x USB oraz VGA.
IMX53QSB oferuje 2 x USB oraz VGA.
Wszystkie systemy operacyjne wymagają reinstalacji, aby eksperymentować z nimi na jednym komputerze.
Wszystkie systemy operacyjne wymagają reinstalacji, aby eksperymentować z nimi na jednym komputerze.
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.
VirtualBox umożliwia uruchamianie maszyn wirtualnych jednocześnie.
VirtualBox umożliwia uruchamianie maszyn wirtualnych jednocześnie.
Kompilator gcc nie jest dostępny w większości dystrybucji Linuxa.
Kompilator gcc nie jest dostępny w większości dystrybucji Linuxa.
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.
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.
PDA działają na systemie operacyjnym Android 1.6.
PDA działają na systemie operacyjnym Android 1.6.
Android Studio IDE jest darmowym środowiskiem programistycznym dla urządzeń z Androidem.
Android Studio IDE jest darmowym środowiskiem programistycznym dla urządzeń z Androidem.
BeagleBoard xM może bootować bezpośrednio z pamięci Flash.
BeagleBoard xM może bootować bezpośrednio z pamięci Flash.
Programowanie w języku Java jest używane w środowisku Android.
Programowanie w języku Java jest używane w środowisku Android.
Ś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.
BeagleBoard xM jest kosztownym rozwiązaniem dla hobbystów.
BeagleBoard xM jest kosztownym rozwiązaniem dla hobbystów.
Wbudowane emulatory urządzeń są dostępne tylko dla systemu Windows CE.
Wbudowane emulatory urządzeń są dostępne tylko dla systemu Windows CE.
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.
UNIX rozpoczął się 1 stycznia 1970 roku.
UNIX rozpoczął się 1 stycznia 1970 roku.
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.
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.
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.
W systemie UNIX, ludzki operator działa szybciej niż zautomatyzowany proces.
W systemie UNIX, ludzki operator działa szybciej niż zautomatyzowany proces.
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.
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.
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.
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.
Timer w mikrokontrolerach nie jest wykorzystywany do wywoływania przerwań.
Timer w mikrokontrolerach nie jest wykorzystywany do wywoływania przerwań.
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.
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.
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.
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.
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.
Piny LEDów są traktowane jako niezależne bity przy ich sterowaniu.
Piny LEDów są traktowane jako niezależne bity przy ich sterowaniu.
Systemy operacyjne czasu rzeczywistego są zaprojektowane do odpowiedzi w określonym czasie.
Systemy operacyjne czasu rzeczywistego są zaprojektowane do odpowiedzi w określonym czasie.
Windows CE jest przykładem systemu operacyjnego wykorzystywanego w urządzeniach mobilnych.
Windows CE jest przykładem systemu operacyjnego wykorzystywanego w urządzeniach mobilnych.
Wbudowane systemy operacyjne są niezależne i nieintegrują się z urządzeniem.
Wbudowane systemy operacyjne są niezależne i nieintegrują się z urządzeniem.
System operacyjny jest warstwą abstrakcyjną oddzielającą użytkownika od sprzętu.
System operacyjny jest warstwą abstrakcyjną oddzielającą użytkownika od sprzętu.
Systemy operacyjne wbudowane obejmują oprogramowanie, takie jak FreeBSD i QNX.
Systemy operacyjne wbudowane obejmują oprogramowanie, takie jak FreeBSD i QNX.
Windows 10 jest przykładem systemu operacyjnego czasu rzeczywistego.
Windows 10 jest przykładem systemu operacyjnego czasu rzeczywistego.
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.
Mikrokontrolery nie potrzebują systemu operacyjnego do działania.
Mikrokontrolery nie potrzebują systemu operacyjnego do działania.
Flashcards
Wirtualizacja systemu
Wirtualizacja systemu
System operacyjny uruchamiany w innym systemie operacyjnym, tworząc wirtualne środowisko.
Oprogramowanie do wirtualizacji
Oprogramowanie do wirtualizacji
Program umożliwiający tworzenie i zarządzanie wirtualnymi maszynami.
VirtualBox
VirtualBox
Darmowe oprogramowanie do wirtualizacji, znane ze swojej jakości i uniwersalności.
System operacyjny wspomagający wirtualizacje
System operacyjny wspomagający wirtualizacje
Signup and view all the flashcards
Eksperymentowanie z różnymi SO na jednym komputerze
Eksperymentowanie z różnymi SO na jednym komputerze
Signup and view all the flashcards
Systemy operacyjne dla urządzeń mobilnych
Systemy operacyjne dla urządzeń mobilnych
Signup and view all the flashcards
Systemy czasu rzeczywistego (RTOS)
Systemy czasu rzeczywistego (RTOS)
Signup and view all the flashcards
Systemy wbudowane (embedded)
Systemy wbudowane (embedded)
Signup and view all the flashcards
Co to jest system operacyjny?
Co to jest system operacyjny?
Signup and view all the flashcards
HAL (Hardware Abstraction Layer)
HAL (Hardware Abstraction Layer)
Signup and view all the flashcards
Windows Mobile 5.0
Windows Mobile 5.0
Signup and view all the flashcards
Android 1.6
Android 1.6
Signup and view all the flashcards
Uproszczony Linux (BeagleBoard)
Uproszczony Linux (BeagleBoard)
Signup and view all the flashcards
Microsoft Visual Studio 2022 (PDA)
Microsoft Visual Studio 2022 (PDA)
Signup and view all the flashcards
Windows CE Toolkit
Windows CE Toolkit
Signup and view all the flashcards
Java/Kotlin (Android)
Java/Kotlin (Android)
Signup and view all the flashcards
Android Studio IDE
Android Studio IDE
Signup and view all the flashcards
Android SDK
Android SDK
Signup and view all the flashcards
System operacyjny
System operacyjny
Signup and view all the flashcards
Wspólne problemy programistów
Wspólne problemy programistów
Signup and view all the flashcards
Biblioteki i sterowniki
Biblioteki i sterowniki
Signup and view all the flashcards
Problem z efektywnością procesora
Problem z efektywnością procesora
Signup and view all the flashcards
System wieloużytkownikowy
System wieloużytkownikowy
Signup and view all the flashcards
System wieloprogramowy
System wieloprogramowy
Signup and view all the flashcards
Epoka OS
Epoka OS
Signup and view all the flashcards
Multics
Multics
Signup and view all the flashcards
Wirtualizacja: Zalety
Wirtualizacja: Zalety
Signup and view all the flashcards
VirtualBox: Funkcje
VirtualBox: Funkcje
Signup and view all the flashcards
ANSI C: Przenośność
ANSI C: Przenośność
Signup and view all the flashcards
ANSI C: Funkcja printf()
, przykład
ANSI C: Funkcja printf()
, przykład
Signup and view all the flashcards
Kompilatory C: Środowiska
Kompilatory C: Środowiska
Signup and view all the flashcards
Zapis danych
Zapis danych
Signup and view all the flashcards
Timer
Timer
Signup and view all the flashcards
Interrupt (Przerwanie)
Interrupt (Przerwanie)
Signup and view all the flashcards
UART
UART
Signup and view all the flashcards
CW+PE
CW+PE
Signup and view all the flashcards
Konfiguracja CPU
Konfiguracja CPU
Signup and view all the flashcards
Mrugające diody (Metoda 1)
Mrugające diody (Metoda 1)
Signup and view all the flashcards
Mrugające Diody (Metoda 2)
Mrugające Diody (Metoda 2)
Signup and view all the flashcards
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.