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 (B)

Raspberry PI 3 model B ma wyjście HDMI.

True (A)

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

True (A)

IMX53QSB oferuje 2 x USB oraz VGA.

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

VirtualBox umożliwia uruchamianie maszyn wirtualnych jednocześnie.

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</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 (B)</p> Signup and view all the answers

PDA działają na systemie operacyjnym Android 1.6.

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</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 (B)</p> Signup and view all the answers

UNIX rozpoczął się 1 stycznia 1970 roku.

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</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 (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</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 (B)</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 (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</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 (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

Windows 10 jest przykładem systemu operacyjnego czasu rzeczywistego.

<p>False (B)</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 (A)</p> Signup and view all the answers

Mikrokontrolery nie potrzebują systemu operacyjnego do działania.

<p>True (A)</p> Signup and view all the answers

Flashcards

Wirtualizacja systemu

System operacyjny uruchamiany w innym systemie operacyjnym, tworząc wirtualne środowisko.

Oprogramowanie do wirtualizacji

Program umożliwiający tworzenie i zarządzanie wirtualnymi maszynami.

VirtualBox

Darmowe oprogramowanie do wirtualizacji, znane ze swojej jakości i uniwersalności.

System operacyjny wspomagający wirtualizacje

System operacyjny zaprojektowany z myślą o wirtualizacji, umożliwiający uruchamianie innych systemów operacyjnych.

Signup and view all the flashcards

Eksperymentowanie z różnymi SO na jednym komputerze

Funkcja umożliwiająca uruchamianie różnych systemów operacyjnych na jednym komputerze bez potrzeby reinstalacji.

Signup and view all the flashcards

Systemy operacyjne dla urządzeń mobilnych

Systemy operacyjne projektowane do pracy na urządzeniach o niewielkich zasobach, takich jak smartfony, tablety czy PDA. Charakteryzują się niskim zużyciem energii i optymalizacją dla ograniczonej mocy obliczeniowej.

Signup and view all the flashcards

Systemy czasu rzeczywistego (RTOS)

Systemy operacyjne dedykowane urządzeniom, które wymagają szybkiego reagowania na zdarzenia w czasie rzeczywistym. Ich czas odpowiedzi jest wyrażany w sekundach, milisekundach lub nawet mikrosekundach.

Signup and view all the flashcards

Systemy wbudowane (embedded)

Systemy operacyjne, które są integralną częścią urządzenia, działając w tle i zarządzając jego funkcjami. Przykładem są systemy sterujące w samochodach, bankomaty czy inteligentne czujniki.

Signup and view all the flashcards

Co to jest system operacyjny?

Warstwa abstrakcyjna, która oddziela użytkownika od sprzętu, zarządzając zasobami komputera i udostępniając wirtualną platformę dla aplikacji.

Signup and view all the flashcards

HAL (Hardware Abstraction Layer)

Warstwa sprzętowa, która ukrywa szczegóły sprzętowe przed systemem operacyjnym, zapewniając spójne interfejsy dla różnych typów sprzętu.

Signup and view all the flashcards

Windows Mobile 5.0

System operacyjny używany w PDA, np. w urządzeniach z Windows Mobile 5.0.

Signup and view all the flashcards

Android 1.6

System operacyjny dla G1, pierwszego smartfona z Androidem.

Signup and view all the flashcards

Uproszczony Linux (BeagleBoard)

Uproszczona wersja Linuksa używana w BeagleBoard, łatwa w obsłudze i dostosowaniu.

Signup and view all the flashcards

Microsoft Visual Studio 2022 (PDA)

Środowisko programistyczne dla PDA, umożliwiające tworzenie aplikacji na platformę Windows Mobile.

Signup and view all the flashcards

Windows CE Toolkit

Zestaw narzędzi do tworzenia aplikacji dla platformy Windows CE.

Signup and view all the flashcards

Java/Kotlin (Android)

Język programowania używany do tworzenia aplikacji na platformę Android.

Signup and view all the flashcards

Android Studio IDE

Zintegrowane środowisko programistyczne (IDE) dla platformy Android.

Signup and view all the flashcards

Android SDK

Zestaw narzędzi programistycznych (SDK) dla platformy Android.

Signup and view all the flashcards

System operacyjny

Zbiór programów, które zarządzają zasobami komputera i zapewniają interfejs dla użytkowników.

Signup and view all the flashcards

Wspólne problemy programistów

Powtarzalne problemy, takie jak formatowanie danych czy komunikacja z urządzeniami, które można rozwiązać w jeden, centralny sposób.

Signup and view all the flashcards

Biblioteki i sterowniki

Połączenie funkcji i bibliotek, które usprawniają procesy wejścia/wyjścia.

Signup and view all the flashcards

Problem z efektywnością procesora

Problem, który powstaje gdy szybkie procesory czekają na znacznie wolniejsze operacje wejścia/wyjścia.

Signup and view all the flashcards

System wieloużytkownikowy

Umożliwia współdzielenie komputera przez wielu użytkowników, zapewniając im izolację

Signup and view all the flashcards

System wieloprogramowy

System operacyjny, który umożliwia uruchomienie wielu programów, niezależnie od siebie.

Signup and view all the flashcards

Epoka OS

Początek epoki systemów operacyjnych i wieloużytkowych systemów komputerowych.

Signup and view all the flashcards

Multics

Pierwszy system operacyjny, który umożliwiał współdzielenie zasobów między wieloma użytkownikami.

Signup and view all the flashcards

Wirtualizacja: Zalety

Wirtualizacja umożliwia uruchomienie wielu systemów operacyjnych na jednym komputerze jednocześnie. Można tworzyć wirtualne maszyny, które działają niezależnie od siebie, bez ryzyka utraty danych z powodu błędów.

Signup and view all the flashcards

VirtualBox: Funkcje

VirtualBox to program do wirtualizacji, który pozwala tworzyć i uruchamiać wirtualne maszyny. VirtualBox oferuje wiele funkcji, takich jak możliwość jednoczesnego uruchamiania maszyn, wsparcie dla wirtualizacji sprzętu i bezpośredni dostęp do sieci dla gości.

Signup and view all the flashcards

ANSI C: Przenośność

Programowanie w ANSI C jest niezależne od platformy operacyjnej. Kompilator C generuje kod, który może działać zarówno na Windows, jak i Linux, zapewniając spójne wyniki.

Signup and view all the flashcards

ANSI C: Funkcja printf(), przykład

Mimo różnych środowisk, funkcja biblioteczna printf() działa identycznie na Windows i Linux. Rezultat jest taki sam – zostanie wyświetlony napis "Hello, world!"

Signup and view all the flashcards

Kompilatory C: Środowiska

Kompilator gcc (GNU Compiler Collection) jest dostępny w większości dystrybucji Linuksa. Na Windows, do kompilacji języka C, należy zainstalować środowisko programistyczne, np. Visual Studio.

Signup and view all the flashcards

Zapis danych

Zapisanie danych (kombinacja bitów) przez ustawienie pinu w stan "wysoki" lub "niski" co oznacza napięcie na pinie lub jego brak. W języku C port może być dostępny jako zmienna.

Signup and view all the flashcards

Timer

Urządzenie wewnątrz µC, które może służyć do wywoływania przerwań co określony czas.

Signup and view all the flashcards

Interrupt (Przerwanie)

Zdarzenie które powoduje zatrzymanie wykonywanego programu i wykonanie podprogramu związanego z danym przerwaniem (interrupt subroutine - ISR). Właściwości przerwania zależą od priorytetów, masek i sprzętowych rozwiązań.

Signup and view all the flashcards

UART

Sprzęt (złącze) który może być użyty do wymiany danych (np. znaków z klawiatury) między µC i innymi urządzeniami. W komputerach stacjonarnych może to być RS232 lub konwerter USB-RS232.

Signup and view all the flashcards

CW+PE

Łatwe użycie MCU z automatyczną konfiguracją przez GUI (PE). Kod dla CPU i peryferii generowany jest "w locie".

Signup and view all the flashcards

Konfiguracja CPU

Wybór zegara i ustawienie częstotliwości pracy µC. Najszybszy mod wymaga konfiguracji.

Signup and view all the flashcards

Mrugające diody (Metoda 1)

Mruganie diodami LED podłączonymi do pinów PORTLD jako 4-bitowy wektor (nie niezależne bity). Dostępne metody: LED_PutVal, LED_NegBit.

Signup and view all the flashcards

Mrugające Diody (Metoda 2)

Użycie Timera (PIT0) z przerwaniem do sterowania niezależnym mruganiem LEDów z różnymi częstotliwościami.

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
  • 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