system operacyjny microsoft windows€¦ · cd-rom, udiskonchip, flash, usb, sieć ethernet...
Post on 26-Jan-2021
4 Views
Preview:
TRANSCRIPT
-
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
top related