Technologia Systemów Operacyjnych w Programowaniu
42 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

IMX53QSB posiada 4×1.4 GHz CPU.

False

Raspberry PI 3 model B ma wyjście HDMI.

True

Można używać VirtualBox do wirtualizacji systemów operacyjnych.

True

IMX53QSB oferuje 2 x USB oraz VGA.

<p>True</p> Signup and view all the answers

Wszystkie systemy operacyjne wymagają reinstalacji, aby eksperymentować z nimi na jednym komputerze.

<p>False</p> Signup and view all the answers

Na jednym komputerze można uruchomić tylko jeden system operacyjny w tym samym czasie.

<p>False</p> Signup and view all the answers

VirtualBox umożliwia uruchamianie maszyn wirtualnych jednocześnie.

<p>True</p> Signup and view all the answers

Kompilator gcc nie jest dostępny w większości dystrybucji Linuxa.

<p>False</p> Signup and view all the answers

Funkcja printf() w C działa tak samo na systemie Windows 10 i Linux Debian.

<p>True</p> Signup and view all the answers

Programowanie w ANSI C wymaga specjalnego środowiska, które jest dostępne tylko w wersji Windows.

<p>False</p> Signup and view all the answers

PDA działają na systemie operacyjnym Android 1.6.

<p>False</p> Signup and view all the answers

Android Studio IDE jest darmowym środowiskiem programistycznym dla urządzeń z Androidem.

<p>True</p> Signup and view all the answers

BeagleBoard xM może bootować bezpośrednio z pamięci Flash.

<p>False</p> Signup and view all the answers

Programowanie w języku Java jest używane w środowisku Android.

<p>True</p> Signup and view all the answers

Środowisko programowe dla PDA wymaga znajomości języków C# i .NET.

<p>True</p> Signup and view all the answers

BeagleBoard xM jest kosztownym rozwiązaniem dla hobbystów.

<p>False</p> Signup and view all the answers

Wbudowane emulatory urządzeń są dostępne tylko dla systemu Windows CE.

<p>False</p> Signup and view all the answers

Koszt używania MSDN AA jest tym samym co korzystanie z komercyjnych narzędzi do programowania.

<p>False</p> Signup and view all the answers

UNIX rozpoczął się 1 stycznia 1970 roku.

<p>True</p> Signup and view all the answers

Powolne i nieefektywne procesy I/O nie wpływają na szybkość działania CPU.

<p>False</p> Signup and view all the answers

Programiści często pracują nad podobnymi problemami, takimi jak formatowanie wyjść i przetwarzanie typowych danych.

<p>True</p> Signup and view all the answers

Wczesne rozwiązania dla systemów operacyjnych nie zawierały bibliotek z funkcjami.

<p>False</p> Signup and view all the answers

W systemie UNIX, ludzki operator działa szybciej niż zautomatyzowany proces.

<p>False</p> Signup and view all the answers

Tworzenie gry Space Travel na PDP-7 zapoczątkowało rozwój systemu UNIX.

<p>True</p> 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.

<p>False</p> Signup and view all the answers

Wysokopoziomowe sterowniki i biblioteki są używane przez programistów, aby poprawić efektywność i jakość kodu.

<p>True</p> Signup and view all the answers

Ustawienie pinu w stan „wysoki” oznacza, że na pinie znajduje się napięcie.

<p>True</p> Signup and view all the answers

Timer w mikrokontrolerach nie jest wykorzystywany do wywoływania przerwań.

<p>False</p> Signup and view all the answers

UART to interfejs używany do wymiany danych między mikrokontrolerem a innymi urządzeniami.

<p>True</p> Signup and view all the answers

Przerwanie (interrupt) pozwala na kontynuację działania programu w mikrokontrolerze po jego wywołaniu.

<p>False</p> Signup and view all the answers

Funkcja Sleep(ms) służy do zatrzymania działania programu na określony czas.

<p>True</p> Signup and view all the answers

W opisie przedstawiono sposób na mruganie diodami LED niezależnie, z różnymi częstotliwościami.

<p>True</p> Signup and view all the answers

Kod dla CPU oraz jego peryferii jest generowany manualnie przed rozpoczęciem pracy.

<p>False</p> Signup and view all the answers

Piny LEDów są traktowane jako niezależne bity przy ich sterowaniu.

<p>False</p> Signup and view all the answers

Systemy operacyjne czasu rzeczywistego są zaprojektowane do odpowiedzi w określonym czasie.

<p>True</p> Signup and view all the answers

Windows CE jest przykładem systemu operacyjnego wykorzystywanego w urządzeniach mobilnych.

<p>True</p> Signup and view all the answers

Wbudowane systemy operacyjne są niezależne i nieintegrują się z urządzeniem.

<p>False</p> Signup and view all the answers

System operacyjny jest warstwą abstrakcyjną oddzielającą użytkownika od sprzętu.

<p>True</p> Signup and view all the answers

Systemy operacyjne wbudowane obejmują oprogramowanie, takie jak FreeBSD i QNX.

<p>True</p> Signup and view all the answers

Windows 10 jest przykładem systemu operacyjnego czasu rzeczywistego.

<p>False</p> Signup and view all the answers

Systemy operacyjne dla urządzeń przenośnych są projektowane z myślą o wydajności energetycznej.

<p>True</p> Signup and view all the answers

Mikrokontrolery nie potrzebują systemu operacyjnego do działania.

<p>True</p> 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
  • Ułatwiają wielokrotne odwołanie do tego samego pliku w różnych lokalizacjach
  • Ł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.

Quiz Team

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.

More Like This

Use Quizgecko on...
Browser
Browser