System operacyjny Microsoft Windows€¦ · CD-ROM, uDiskOnChip, Flash, USB, sieć Ethernet...

52
Systemy Operacyjne Komputerów Przemysłowych dr inż. Jan Schmidt Wydział Elektroniki, Telekomunikacji i Informatyki Katedra Systemów Sonarowych 2019/2020 System operacyjny Microsoft Windows

Transcript of System operacyjny Microsoft Windows€¦ · CD-ROM, uDiskOnChip, Flash, USB, sieć Ethernet...

  • Systemy Operacyjne Komputerów Przemysłowych

    dr inż. Jan Schmidt

    Wydział Elektroniki, Telekomunikacji i Informatyki

    Katedra Systemów Sonarowych

    2019/2020

    System operacyjny Microsoft Windows

  • Historia systemu operacyjnego Windows (Microsoft)

    Data

    opublikowania

    Nazwa systemu

    05 1990 Windows 3.0 (MS DOS 3.1)

    04 1992 Windows 3.1 (MS DOS 5.0)

    07 1993 Windows NT 3.1 (32b)

    08 1995 Windows 95 (16/32b)

    08 1996 Windows NT 4.0 (32b)

    06 1998 Windows 98 (16/32b)

  • Historia systemu operacyjnego Windows (Microsoft)

    Data

    opublikowania

    Nazwa systemu

    02 2000 Windows 2000 (32b)

    10 2001 Windows XP (32/64b)

    (SP1, SP2, SP3)

    11 2001

    (SP3 10 2008)

    Windows XP Embedded (32/64b)

    05 2003 Windows 2003 Server (32/64b)

    10 2009 Windows 7 (32/64b)

    10 2012 Windows 8 (32/64b)

    07 2015 Windows 10 (32/64b, ARM)

  • Architektura systemu Windows

    Odseparowanie aplikacji od systemu operacyjnego

    Kod użytkownika – wykonywany w trybie nieuprzywilejowanym (tryb użytkownika)

    ograniczona liczba dostępnych interfejsów

    ograniczona dostęp do danych systemowych

    brak bezpośredniego dostępu do zasobów sprzętowych

    Kod jądra – wykonywany w trybie uprzywilejowanym (tryb jądra)

    pełny dostęp do danych systemowych

    bezpośredni dostęp do zasobów sprzętowych

  • Architektura systemu Windows

    W trybie jądra komponenty używają tej samej przestrzeni pamięciowej

    potencjalna możliwość uszkodzenia dane używane przez inne komponenty systemu

    certyfikacja WHQL (Windows Hardware Quality Labs) – kontrola jakości i pochodzenia sterowników za pomocą technologii KMCS (Kernel-ModeCode Signing Requirements, wymagania dotyczące podpisywania kodu w trybie jądra)

    ochrona jądra poprzez wirtualizację, funkcję Device Guard i HyperGuard

  • Architektura systemu Windows

    Składniki pracujące w trybie jądra – zaprojektowane z zasadami programowania obiektowego

    składnik w celu uzyskania danej z innego składnika nie może jej bezpośrednio odczytać – musi zostać użyty formalny interfejs

    System operacyjny został napisany w języku C bez wykorzystania konstrukcji języka obiektowego

    np. polimorficzność funkcji, dziedziczenie klas

  • Architektura systemu Windows

    Rozbudowana ochrona systemu operacyjnego (części uprzywilejowanej)

    system solidny i stabilny

    Dedykowany do serwerów aplikacji, stacji roboczych:

    usługi jądra

    zarządzanie pamięcią wirtualną

    obsługa plików wejścia-wyjścia

    praca w sieci

    współdzielenie plików i drukarek

  • Architektura systemu Windows

    Uproszczona architektura

    Procesy użytkownika

    Procesy usługowe

    Procesy systemowe

    Podsystemy środowiskowe

    NTDLL.DLLTryb

    użytkownika

    Tryb jądraCentrum wykonawczeOkienka i grafika

    JądroSterowniki urządzeń

    Warstwa abstrakcji sprzętowej (HAL)

    Hipernadzorca Hyper-V

    Tryb jądra(kontekst

    hipernadzorcy)

  • Architektura systemu Windows

    Procesy użytkownika:

    Typy

    32-/ 64-bitowe Windows’owe (Windows Runtime Windows 8 i

    nowsze)

    16-bitowe Windows 3.1

    16-bitowe MS-DOS

    32-/ 64-bitowe POSIX (starsze niż Windows 8)

    Tryb użytkownika

  • Architektura systemu Windows

    Procesy usługowe:

    Usługi systemu Windows:

    Harmonogram zadań

    Bufor wydruku

    Działają niezależnie od zalogowanego użytkownika

    Tryb użytkownika

  • Architektura systemu Windows

    Procesy systemowe:

    Wbudowane procesy:

    Logowanie użytkownika

    Zarządzanie sesjami

    Nie są uruchamiane przez menadżera sterowania usługami

    Tryb użytkownika

  • Architektura systemu Windows

    Procesy serwera podsystemu środowiskowego:

    Implementacja obsługi tej części środowiska systemu operacyjnego,

    do której ma dostęp użytkownik i programista

    Windows

    POSIX (do Windows 2000)

    OS/2 (do Windows XP)

    Podsystem aplikacji systemu UNIX [SUA (Subsystem for UNIX-basedApplications)]

    • (Windows 7 Ultimate i Enterprise, Windows Server 2008 R2)

    WSL beta (ang. Windows Subsystem for Linux) – Windows 10 version 1607

    Tryb użytkownika

  • Architektura systemu Windows

    Centrum wykonawcze

    Podstawowe usługi systemowe:

    Zarządzanie pamięcią

    Zarządzanie procesami i wątkami

    Ochrona

    Wejście-wyjście

    Łączność z siecią

    Komunikacja między procesami

    Tryb jądra (komponenty)

  • Architektura systemu Windows

    Jądro:

    Niskopoziomowe funkcje systemu operacyjnego: Szeregowanie wątków

    Obsługa przerwań i wyjątków

    Synchronizacja wielu procesorów

    Procedury i obiekty są wykorzystywane do implementacji konstrukcji

    na wyższych poziomach abstrakcji

    Tryb jądra (komponenty)

  • Architektura systemu Windows

    Sterowniki urządzeń:Komponent zawierający sterowniki urządzeń sprzętowych i nie-sprzętowych:

    wywołania funkcji wejścia/wyjścia od użytkownika są przekładane na żądanie dostępu do konkretnego urządzenia

    wywołania funkcji wejścia/wyjścia dotyczące elementów takich jak: system plików, łączność sieciowa

    Tryb jądra (komponenty)

  • Architektura systemu Windows

    Warstwa abstrakcji sprzętowej (HAL- ang. Hardware Abstraction Layer)

    Warstwa kodu separująca jądro, sterowniki urządzeń i centrum wykonawcze od sprzętu o różnych właściwościach (płyty główne o różnych konfiguracjach)

    Tryb jądra (komponenty)

  • Architektura systemu Windows

    Okienka i grafikaFunkcje graficznego interfejsu użytkownika (GUI ang. Graphical User Interface)

    Funkcje są przeznaczone do obsługi okien, kontrolek sterujących i grafiki

    Tryb jądra (komponenty)

  • Architektura systemu Windows

    Hipernadzorca: poziom uprzywilejowania jak dla trybu jądra (0),

    wykorzystuje specjalne instrukcje

    (procesory Intel: VT-x , procesory AMD: SVM ),

    możliwość odizolowania od jądra / monitorowanie jego i aplikacji.

    Zawiera wewnętrzne warstwy i usługi:

    system zarządzania pamięcią

    wirtualny zarządca procesora

    obsługa przerwań i zegara

    procedury synchronizujące

    zarządzanie partycjami

    komunikacja między partycjami (IPC ang. inter-partition communication)

    Tryb jądra (komponenty)

  • Architektura systemu Windows

    W systemie Windows aplikacje wywołują usługi systemowe

    z pomocą podsystemowych bibliotek łączonych dynamicznie

    tłumaczenie udokumentowanych funkcji na odpowiadające im wywołania wewnętrznych usług systemowych (nieudokumentowanych) zaimplementowanych przeważnie w Ntdll.dll

    DLL ang. Dynamic-link Library

  • Architektura systemu Windows

    Główne pliki systemu Windows

    Nazwa pliku Komponenty

    Ntoskrnl.exe Centrum wykonawcze i jądro

    Hal.dll HAL

    Win32k.sys Część podsystemu (GUI) w trybie jądra

    Hvix64.exe (INTEL), Hvax64.exe(AMD) Hipernadzorca

    Pliki z rozszerzeniem .sys w katalogu

    Windows\System32\Drivers

    Pliki sterowników dla DirectX, zarządzania

    pamięcią masową i obsługi TCP/IP, TPM i

    ACPI

    Ntdll.dll Funkcje pomocnicze i procedury

    przekazujące obsługę usług systemowych

    do funkcji wykonawczych

    Kernel32.dll

    Advapi32.dll

    User32.dll

    Gdi32.dll

    Główne biblioteki podsystemu Windows

  • Wersje systemu Windows 10

    Wersje klienckie

    - desktopowe

    Windows 10 Home

    Windows 10 Pro

    Windows 10 Education

    Windows 10 Pro Education

    Windows 10 Enterprise

    Windows 10 Enterprise Long Term Servicing Branch (LTSB)

    Windows 10 Mobile

    Windows 10 Mobile Enterprise

    Windows 10 IoT Core

  • Wersje systemu Windows 10

    Wersje serwerowe

    Windows Server 2016 Datacenter

    Windows Server 2016 Standard

    Windows Server 2016 Essentials

    Windows Server 2016 MultiPoint Premium Server

    Windows Storage Server 2016

    Windows Hyper-V Server 2016

  • Porównanie

    Wersja systemu

    Windows

    Liczba

    obsługiwanych

    gniazd

    procesorów

    (32 bitowa)

    Wielkość

    obsługiwanej

    pamięci

    fizycznej

    (32 bitowa)

    Liczba

    obsługiwanych

    procesorów

    logicznych

    (gniazd)

    (64 bitowa)

    Wielkość

    obsługiwanej

    pamięci fizycznej

    (64 bitowa)

    Windows 10 Home 1 4 GB 1 gniazdo 128 GB

    Windows 10 Pro 2 4 GB 2 gniazda 2 TB

    Windows 10

    Enterprise

    2 4 GB 2 gniazda 2 TB

    Windows Serwer

    2012 R2

    Essentials

    - - 2 gniazda 64 GB

    Windows Serwer

    2016 Standard

    - - 512 procesorów

    logicznych

    24 TB

    Windows Serwer

    2016 Datacenter

    - - 512 procesorów

    logicznych

    24 TB

  • Porównanie wersji

    Wersje klienckie

    Zoptymalizowane pod kątem szybkości reagowania na działania podejmowane przez użytkownika (posiadając możliwości serwerowe)

    Wersje serwerowe

    Zoptymalizowane pod kątem wydajności

  • Windows Embedded

    Produkty te posiadają odrębny kanał dystrybucyjny.

    Cechą charakterystyczną tego kanału jest długotrwała dostępność oferowanych w nim systemów, w odróżnieniu do standardowych produktów Microsoftu.

    Licencjonowanie systemów operacyjnych Microsoft Embedded odbywa się wyłącznie dla producentów sprzętu (OEM).

  • Wersje Windows CE

    Windows CE 1.x

    Windows CE HandheldPC 2.x

    Windows CE 2.11 – Palm-Size PC 1.1

    Windows CE 2.11 – Palm-Size PC 1.2

    Windows CE HandeldPC 2.11 – HandheldPC Professional

    Windows CE HandeldPC 3.x – HandheldPC 2000

    Windows CE.net (4.x)

    Windows CE 5.0 (2004)

    Windows CE 6.0 (2006)

    Windows CE 7.0 (2010)

    Embedded Compact 2013 (2013)

  • Wersje Windows Embedded

    Windows NT Embedded 4.0 (1999)

    Windows XP Embedded (11.2001) oparty o Windows XP Pro

    Windows XP Embedded Service Pack 3 (10.2008) oparty o Windows XP Pro

    Windows Embedded Standard 2009 (II połowa 2008) oparty o Windows XP Pro (32b)

    Windows Embedded Standard 7 (04.2010) oparty o Windows 7 Pro/Enterprise

    Windows Embedded Standard 8 (05.2013)

    Windows 10 IoT Enterprise 2015/2016/2019 LTSB (oparty o Windows 10 Enterprise)

    Pozbawiony: aplikacji uniwersalnych (Windows UWP) oraz np. asystenta głosowego Cortana

    Zawiera: Embedded Enabling Features (EEFs) oraz Lockdown Features

    Windows 10 IoT Mobile

    Windows 10 IoT Core (Raspberry Pi)

    Podrodzina Windows Embedded Industry

  • Windows CE

    System operacyjny opracowany przez firmę Microsoft Corp. jako system dla urządzeń przenośnych typu PDA (Personal Digital Assistant, komputer kieszonkowy) lub jako system wbudowany.

    Obecne wersje Windows CE mają rozbudowany i przewidywalny system przerwań. Istnieją zastrzeżenia do używania statusu RTOS.

  • Windows CE

    Zoptymalizowany dla urządzeń o minimalnej pamięci – jądro Windows CE może być uruchomione nawet w 1 MB pamięci.

    Dla urządzeń nie posiadających dysku twardego, gdzie system konfiguruje się jako "zamknięty", bez obsługi dodatkowych rozszerzeń może być boot’owany z pamięci ROM/FLASH.

    W większości PDA z systemem Windows CE jest również instalowany pakiet Microsoft Office, który obsługuje pliki z Pakietu Office z komputera PC

    Oprócz obsługi przenośnych urządzeń, Microsoft oferuje również Windows CE w komputerach pokładowych samochodów wraz z systemem rozpoznawania mowy mającym zapewnić bezdotykową obsługę systemu operacyjnego (rynek amerykański).

  • Windows CE

    obsługuje pamięć wirtualną, wielozadaniowość

    32 bit

    dostępny kod źródłowy systemu

    Środowisko programistyczne używa wybranej grupy funkcji Win32 API (WinXP)

    Wspiera wiele platform sprzętowych:

    SH4, MIPS, x86, ARM, PowerPC

    Wsparcie rozwiązań komunikacyjnych:

    WinSock, RAS, TAPI 2.0, WinINet, TCP/IP, BT.

    Wsparcie do różnych odbiorców „językowych”

    Kodowanie znaków w Unicode

    Dostępne SDK (Microsoft)

  • Windows CE

    Sprzęt obsługiwany przez Windows CE

    Sprawdzanie stanu baterii

    Bluetooth HCI

    Kamery cyfrowe

    Sterownik Direct3D Mobile Display

    Sterownik DirectDraw Display

    Akceleracje sprzętową obrazu

    Odtwarzacze DVD-Video

    Pamięci flash

    Urządzenia HID

    Klawiatury

    Myszy komputerowe

    Sieć

    Diody LED

    Port równoległy

    Karty PCI

    Drukarki

    Karty Secure Digital

    Porty szeregowe

    Karty elektroniczne

    Interfejs strumieniowy

    Timery

    Ekran dotykowy

    USB w typie host, szeregowego hosta, klienta

    USB OTG

  • Windows XP Embedded (XPe)

    Sprzęt obsługiwany przez Windows CE

    modułowa budowa (12 tys. komponentów )

    producenci mogą wybrać te, które są przeznaczone dla konkretnych urządzeń

    umożliwia konfigurację i dostosowanie systemu do konkretnej

    platformy sprzętowej,

    większe możliwości w zakresie komunikacji sieciowej (nietypowe

    interfejsy używane w np. automatyce),

    szybkie opracowanie projektu,

    wsparcie dla taniego sprzętu klasy PC,

    możliwość uruchamiania już gotowych programów

  • Windows XP Embedded (XPe)

    Niezawodność: Oparty o jądro systemu Windows XP Proffesional

    Poprawione bezpieczeństwo (WinXP)

    Wspiera Win32 API

  • Windows XP Embedded (XPe)

    Alternatywne nośniki bootowalne:

    CD-ROM, uDiskOnChip, Flash, USB, sieć Ethernet

    Enhanced Write Filter (EWF) Technology

    Pozwala na boot’owanie systemu z jakiegokolwiek nośnika tylko do odczytu (read-only)Ochrania dany napęd przez przekierowanie zapisu

    Zdalne zarządzanie systemem

    Możliwość skonfigurowania do pracy bez klawiatury, myszki lub wyświetlacza

    ( system działający bez interwencji użytkownika )

    USB Filter – zabronioniony dostęp do wybranych urządzeń

    Keyboard Filter – blokowanie określonych kombinacji klawiszowych

  • Windows XP Embedded (XPe)

    Ta

    rge

    t

    De

    sig

    ne

    r

    Co

    mp

    on

    en

    t

    De

    sig

    ne

    r

    Application

    Binaries

    App,

    OS and EEF

    Components

    Hardware

    Definition

    Application

    Components

    OS

    Image

    XPe

    Component

    Database

  • Wersje systemu Windows Embedded

  • Windows Embedded

    Support

    Windows XP Professional for Embedded Systems, Extended Support will

    end on April 8, 2014.

    Windows XP Embedded Service Pack 3 (SP3), Extended Support will end on

    Jan. 12, 2016.

    Windows Embedded for Point of Service SP3, Extended Support will end on

    April 12, 2016.

    Windows Embedded Standard 2009, Extended Support will end on Jan. 8,

    2019.

    Windows Embedded POSReady 2009, Extended support will end on April 9,

    2019.

  • Windows Embedded

    Support

  • Windows

    Konfiguracja systemu Windows

    Narzędzia administracyjne

    Edytor rejestru

    Wiersz poleceń

    PowerShell

  • Windows

    Narzędzia administracyjne

  • Windows

    Narzędzia administracyjne

  • Windows

    Narzędzia administracyjne

  • Windows

    Narzędzia administracyjne

  • Windows

    Edytor rejestru

  • Windows

    Wiersz poleceń

  • Windows

    PowerShell

    interpreter poleceń

    zintegrowany z .NET Framework

    od wersji Windows XP SP2 (2006)

    skrypt PowerShell wykorzystuje API

    systemu Windows

    bardziej rozbudowany w stosunku do

    interpreterów COMMAND.COM i cmd.exe

  • Windows

    PowerShell

    Cmdlety – specjalne komendy, implementujące konkretne funkcje (ok.130)

    Komenda dwuczłonowa: czasownik-rzeczownik, gdzie czasownik (get, set,

    clear, itp.), rzeczownik (location, host, process, itp)

    rezultaty: obiekty lub ich zbiory

    możliwość tworzenia potoków

  • Windows

    PowerShell

    Windows PowerShell

    (Cmdlet)

    Windows PowerShell

    (Alias)

    Opis

    Set-Location sl, cd, chdir Zmienia aktualną lokalizację

    Clear-Host cls, clear Czyści ekran

    Copy-Item cpi, copy, cp Kopiuje obiekty (pliki)

    Get-Help help, man Wyświetla pomoc do komend

    Get-Command gcm Wyświetla listęp dostępnych

    komend

    Get-Location gl, cd, pwd Wyświetla ścieżkę do

    obecnego katalogu

    Move-Item mi, move, mv Przenosi plik/katalog do

    nowej lokalizacji

    Remove-Item ri, del, rmdir, rd, rm Usuwa obiekt (plik, katalog

    itp.)

    Rename-Item rni, ren Zmienia nazwę obiektu (pliku,

    katalogu itp.)

    Get-ChildItem gci, dir, ls Zwraca wszystkie obiekty w

    bieżącej lokalizacji. (Na

    przykład pliki w aktualnym

    katalogu)

    Write-Output echo, write Wyświetla łańcuchy, zmienne

    itd na ekranie

  • Windows

    PowerShell

    Windows PowerShell

    (Cmdlet)

    Windows PowerShell

    (Alias)

    Opis

    Pop-Location popd Zamienia aktualną lokalizację

    na lokalizację ostatnio

    przesuniętą na stos

    Push-Location pushd Przesuwa aktualną

    lokalizację na stos

    Set-Variable sv, set Wyświetla wartość

    zmiennej/Tworzy zmienną

    Get-Content gc, type, cat Wyświetla zawartość obiektu

    (np. pliku)

    Get-Process gps, ps Wypisuje aktualnie

    uruchomione procesy

    Stop-Processspps, kill

    Zatrzymuje uruchomiony

    proces

    Select-String sls Wyświetla dane, które są

    zgodne z podanym ciągiem

    znaków

    Tee-Object tee Tuneluje wejście do pliku lub

    zmiennej, przenosi wejście

    wzdłuż tunelu

    Invoke-WebRequestiwr, curl, wget

    Pobiera zawartość strony

    internetowej

  • Windows

    SysInternals

    Narzędzia do optymalizacji niezawodności i wydajności systemów Windows

    Process Explorer

    Autoruns

    Process Monitor

    ProcDump

    PsTools

    Narzędzia procesów i diagnostyki

    Narzędzia zabezpieczeń

    Narzędzia Active Directory

    Narzędzia pulpitu

    Narzędzia plikowe

    Narzędzia dyskowe

    Narzędzia sieciowe

    Narzędzia informacji systemowej

  • Literatura

    Windows od środka. Architektura systemu, procesy, wątki, zarządzanie pamięcią i dużo więcej. Wydanie VII. Pavel Yosifovich, Alex Ionescu, Mark E. Russinovich,David A. Solomon, 2018

    Windows PowerShell w miesiąc. Wydanie III. Donald W. Jones, Jeffrey Hicks, 2018

    Windows Sysinternals wykrywanie i rozwiązywanie problemów. Optymalizacja niezawodności i wydajności systemów Windows przy użyciu Sysinternals. Mark Russinovich, Aaron Margosis, 2017