Podcast
Questions and Answers
Które z poniższych mechanizmów synchronizacji zapewniają jednoczesny dostęp tylko jednemu procesowi do zasobu?
Które z poniższych mechanizmów synchronizacji zapewniają jednoczesny dostęp tylko jednemu procesowi do zasobu?
- Wymiana (swapping)
- Monitory
- Muteksy (correct)
- Semafory
Jaka jest główna funkcja techniki stronicowania w zarządzaniu pamięcią?
Jaka jest główna funkcja techniki stronicowania w zarządzaniu pamięcią?
- Podzielenie pamięci na małe, równe strony (correct)
- Przeniesienie fragmentów pamięci na dysk
- Przydzielenie pamięci do procesów w sposób ciągły
- Podzielenie pamięci na segmenty o różnej wielkości
Która z poniższych sytuacji NIE jest problemem związanym z współbieżnością procesów?
Która z poniższych sytuacji NIE jest problemem związanym z współbieżnością procesów?
- Stronicowanie (correct)
- Wyścig
- Zakleszczenie
- Współdzielenie pamięci
Co umożliwia wirtualna pamięć?
Co umożliwia wirtualna pamięć?
Które z poniższych zadań NIE należy do głównych zadań zarządzania pamięcią masową?
Które z poniższych zadań NIE należy do głównych zadań zarządzania pamięcią masową?
Które z poniższych systemów plików charakteryzuje się hierarchicznym układem plików i katalogów?
Które z poniższych systemów plików charakteryzuje się hierarchicznym układem plików i katalogów?
Jakie są główne funkcje monitorów?
Jakie są główne funkcje monitorów?
Które z poniższych pojęć wiąże się bezpośrednio z nieprzewidywalną kolejnością dostępu do zasobu?
Które z poniższych pojęć wiąże się bezpośrednio z nieprzewidywalną kolejnością dostępu do zasobu?
Jakie elementy modelu CIA dotyczą poufności danych?
Jakie elementy modelu CIA dotyczą poufności danych?
Która z poniższych metod jest używana do ochrony integralności danych?
Która z poniższych metod jest używana do ochrony integralności danych?
Co jest jednym z wyzwań związanych z algorytmami szyfrowania symetrycznego?
Co jest jednym z wyzwań związanych z algorytmami szyfrowania symetrycznego?
Jakie klucze wykorzystuje algorytm szyfrowania asymetrycznego?
Jakie klucze wykorzystuje algorytm szyfrowania asymetrycznego?
Jakie są przykłady algorytmów symetrycznych?
Jakie są przykłady algorytmów symetrycznych?
Jakie zabezpieczenia są stosowane w celu zapewnienia dostępności danych?
Jakie zabezpieczenia są stosowane w celu zapewnienia dostępności danych?
Jakie algorytmy są używane do bezpiecznej wymiany kluczy w protokole TLS/SSL?
Jakie algorytmy są używane do bezpiecznej wymiany kluczy w protokole TLS/SSL?
Co zapewnia poufność danych w systemie informacyjnym?
Co zapewnia poufność danych w systemie informacyjnym?
Jaką cechę posiada obiekt w programowaniu obiektowym?
Jaką cechę posiada obiekt w programowaniu obiektowym?
Który z poniższych typów danych jest zmienny?
Który z poniższych typów danych jest zmienny?
Czym różni się pętla 'for' od pętli 'while'?
Czym różni się pętla 'for' od pętli 'while'?
Jakie jest znaczenie słowa kluczowego 'break' w pętli?
Jakie jest znaczenie słowa kluczowego 'break' w pętli?
Jaki rodzaj zasięgu ma zmienna zdefiniowana wewnątrz funkcji?
Jaki rodzaj zasięgu ma zmienna zdefiniowana wewnątrz funkcji?
Co oznacza termin 'polimorfizm' w programowaniu obiektowym?
Co oznacza termin 'polimorfizm' w programowaniu obiektowym?
Jakie są cechy krotek (tuple) w Pythonie?
Jakie są cechy krotek (tuple) w Pythonie?
Jak działa moduł w Pythonie?
Jak działa moduł w Pythonie?
Jakie zadanie wykonuje metoda iter w klasie iteratora?
Jakie zadanie wykonuje metoda iter w klasie iteratora?
Jaką wartość zwróci wyrażenie next(it) po 3 wywołaniach, gdy it odnosi się do iteratora listy [1, 2, 3]?
Jaką wartość zwróci wyrażenie next(it) po 3 wywołaniach, gdy it odnosi się do iteratora listy [1, 2, 3]?
Jakie jest kluczowe zastosowanie właściwości w języku Python?
Jakie jest kluczowe zastosowanie właściwości w języku Python?
Jak działa metoda add w kontekście przeciążania operatorów?
Jak działa metoda add w kontekście przeciążania operatorów?
Jakie typy operatorów mogą być przeciążane w Pythonie?
Jakie typy operatorów mogą być przeciążane w Pythonie?
Co robi funkcja super() w kontekście dziedziczenia?
Co robi funkcja super() w kontekście dziedziczenia?
Czym różni się agregacja od kompozycji w kontekście obiektowym?
Czym różni się agregacja od kompozycji w kontekście obiektowym?
Jakie ograniczenia występują przy przeciążaniu operatorów w Pythonie?
Jakie ograniczenia występują przy przeciążaniu operatorów w Pythonie?
Co to jest funkcja rekurencyjna?
Co to jest funkcja rekurencyjna?
Jakie są główne składniki warunków rekurencji?
Jakie są główne składniki warunków rekurencji?
Jaką składnię ma wyrażenie listowe w Pythonie?
Jaką składnię ma wyrażenie listowe w Pythonie?
Co jest główną różnicą między wyrażeniem listowym a generatorem?
Co jest główną różnicą między wyrażeniem listowym a generatorem?
Jakie zastosowania mają wyrażenia listowe w Pythonie?
Jakie zastosowania mają wyrażenia listowe w Pythonie?
Jak działa funkcja lambda?
Jak działa funkcja lambda?
Jakie są tryby otwierania plików w Pythonie?
Jakie są tryby otwierania plików w Pythonie?
Jak działa konstrukcja 'with' przy obsłudze plików?
Jak działa konstrukcja 'with' przy obsłudze plików?
Jakie cechy programowania funkcyjnego są wspierane przez Pythona?
Jakie cechy programowania funkcyjnego są wspierane przez Pythona?
Co to jest funkcja wyższego rzędu?
Co to jest funkcja wyższego rzędu?
Jaką operację wykonuje funkcja 'map' w Pythonie?
Jaką operację wykonuje funkcja 'map' w Pythonie?
Jakie są rodzaje deskryptorów w Pythonie?
Jakie są rodzaje deskryptorów w Pythonie?
Czym jest deskryptor w kontekście Pythona?
Czym jest deskryptor w kontekście Pythona?
Jakie są cechy funkcji czystych w programowaniu funkcyjnym?
Jakie są cechy funkcji czystych w programowaniu funkcyjnym?
Jak działa funkcja 'reduce' w Pythonie?
Jak działa funkcja 'reduce' w Pythonie?
Jakie ograniczenie ma rekurencja w Pythonie?
Jakie ograniczenie ma rekurencja w Pythonie?
Flashcards
Zagnieżdżone pętle
Zagnieżdżone pętle
Iterowanie po wielowymiarowych strukturach danych.
Funkcje rekurencyjne
Funkcje rekurencyjne
Funkcje wywołujące same siebie, pomagają w rozwiązywaniu złożonych problemów.
Parametry domyślne
Parametry domyślne
Wartości przypisane do parametrów, gdy nie podano innej wartości.
Wyrażenia listowe
Wyrażenia listowe
Signup and view all the flashcards
Wyrażenia generatorowe
Wyrażenia generatorowe
Signup and view all the flashcards
Filtrowanie danych
Filtrowanie danych
Signup and view all the flashcards
Funkcje anonimowe (lambda)
Funkcje anonimowe (lambda)
Signup and view all the flashcards
Obsługa plików (open)
Obsługa plików (open)
Signup and view all the flashcards
Typ danych: int
Typ danych: int
Signup and view all the flashcards
Typ danych: float
Typ danych: float
Signup and view all the flashcards
Klasa
Klasa
Signup and view all the flashcards
Obiekt
Obiekt
Signup and view all the flashcards
Dziedziczenie
Dziedziczenie
Signup and view all the flashcards
Zasięg globalny
Zasięg globalny
Signup and view all the flashcards
Pętla while
Pętla while
Signup and view all the flashcards
Słowa kluczowe break i continue
Słowa kluczowe break i continue
Signup and view all the flashcards
Synchronizacja procesów
Synchronizacja procesów
Signup and view all the flashcards
Semafory
Semafory
Signup and view all the flashcards
Muteksy
Muteksy
Signup and view all the flashcards
Zakleszczenie
Zakleszczenie
Signup and view all the flashcards
Ochrona pamięci
Ochrona pamięci
Signup and view all the flashcards
Stronicowanie
Stronicowanie
Signup and view all the flashcards
Pamięć wirtualna
Pamięć wirtualna
Signup and view all the flashcards
Systemy plików
Systemy plików
Signup and view all the flashcards
Poufność
Poufność
Signup and view all the flashcards
Integralność
Integralność
Signup and view all the flashcards
Dostępność
Dostępność
Signup and view all the flashcards
Algorytmy symetryczne
Algorytmy symetryczne
Signup and view all the flashcards
Algorytmy asymetryczne
Algorytmy asymetryczne
Signup and view all the flashcards
AES
AES
Signup and view all the flashcards
RSA
RSA
Signup and view all the flashcards
TLS/SSL
TLS/SSL
Signup and view all the flashcards
Programowanie funkcyjne
Programowanie funkcyjne
Signup and view all the flashcards
Funkcje pierwszoklasowe
Funkcje pierwszoklasowe
Signup and view all the flashcards
Funkcje wyższego rzędu
Funkcje wyższego rzędu
Signup and view all the flashcards
Funkcja map
Funkcja map
Signup and view all the flashcards
Funkcja filter
Funkcja filter
Signup and view all the flashcards
Rekurencja
Rekurencja
Signup and view all the flashcards
Deskryptory
Deskryptory
Signup and view all the flashcards
Iterator
Iterator
Signup and view all the flashcards
Funkcja iter()
Funkcja iter()
Signup and view all the flashcards
Funkcja next()
Funkcja next()
Signup and view all the flashcards
Właściwości w Pythonie
Właściwości w Pythonie
Signup and view all the flashcards
Przeciążenie operatorów
Przeciążenie operatorów
Signup and view all the flashcards
Metody specjalne
Metody specjalne
Signup and view all the flashcards
Kompozycja
Kompozycja
Signup and view all the flashcards
Study Notes
Podstawowe elementy modelu CIA
- Zapewnienie, że dane są dostępne tylko dla uprawnionych osób/systemów.
- Kontrola gromadzonych i przechowywanych danych.
- Kategoryzacja danych według uprawnień dostępu.
- Nadawanie użytkownikom minimalnych uprawnień, stopniowo zwiększanych w razie potrzeby.
- Redukcja ryzyka błędów ludzkich, np. pracownik o ograniczonym dostępie nie może ujawnić wszystkich danych.
Integralność
- Zapewnienie, że dane nie są zmieniane ani uszkadzane przez osoby nieuprawnione.
- Kontrola integralności danych.
- Zapobieganie nieautoryzowanej modyfikacji informacji.
- Sposoby ochrony integralności:
- Szyfrowanie danych.
- Korzystanie z certyfikatów.
- Rejestrowanie pełnej historii operacji na danych.
Dostępność
- Zapewnienie, że dane są dostępne dla uprawnionych użytkowników w odpowiednim czasie i miejscu.
- Zabezpieczenie na wypadek awarii sprzętu, prądu, katastrof, ataków hackerskich.
- Sposoby zapewnienia dostępności:
- Zapasowe serwery
- Kopie zapasowe danych
- Plany awaryjne na wypadek awarii
- Systemy odporne na ataki i awarie
Podstawy szyfrowania: algorytmy symetryczne i asymetryczne
- Symetryczne:
- Wykorzystuje ten sam klucz do szyfrowania i deszyfrowania.
- Szybkie i efektywne.
- Wyzwaniem jest bezpieczna wymiana klucza.
- Przykładowe algorytmy: AES, DES, 3DES.
- Służy do szyfrowania danych przechowywanych i przekazywanych w sieciach (np VPN).
- Asymetryczne:
- Wykorzystuje parę kluczy (publiczny i prywatny) dla każdej ze stron.
- Klucz publiczny jest udostępniany publicznie.
- Odbiorca używa swojego prywatnego klucza do odszyfrowania wiadomości zaszyfrowanej kluczem publicznym nadawcy.
- Bezpieczna wymiana klucza, bo klucz publiczny może być udostępniony publicznie.
- Wolniejsze działanie ze względu na obciążenie obliczeniowe.
- Przykładowe algorytmy: RSA, ECC, DSA.
- Stosowane między innymi do bezpiecznej wymiany kluczy symetrycznych, podpisów cyfrowych oraz identyfikacji.
Podpis elektroniczny i infrastruktura klucza publicznego (PKI)
- Podpis elektroniczny służy do identyfikacji osoby składającej podpis.
- Rodzaje:
- Zwykły - np. imię i nazwisko pod emailem.
- Zaawansowany - powiązany z osobą składającą podpis, może nie wymagać kwalifikowanego urządzenia.
- Kwalifikowany - składany z pomocą kwalifikowanego urządzenia i kwalifikowanego certyfikatu podpisu, równoważny podpisowi własnoręcznemu.
- Działanie PKI:
- Generowanie par kluczy użytkownika - prywatny, publiczny.
- Żądanie certyfikatu (CSR) przez użytkownika - zawiera klucz publiczny i dane identyfikacyjne.
- Weryfikacja tożsamości użytkownika przez Urząd Certyfikacji (CA).
- Wydanie certyfikatu przez CA.
- Użycie klucza prywatnego do podpisania dokumentu.
- Weryfikacja podpisu przez odbiorcę na podstawie certyfikatu CA.
Metody uwierzytelniania
- Jednoskładnikowe: Hasło, PIN - niskie bezpieczeństwo.
- Dwuskładnikowe/wieloskładnikowe: Potrzebne są co najmniej 2 czynniki uwierzytelniające:
- Coś, co wiesz (Knowledge): Hasło, PIN, pytanie kontrolne.
- Coś, co posiadasz (Possession): Token, karta inteligentna, smartfon, SMS.
- Coś, co jesteś (Inherence): Dane biometryczne, odcisk palca, rozpoznawanie twarzy.
Podstawy bezpieczeństwa fizycznego i logicznego
- Bezpieczeństwo fizyczne: Kontrola dostępu do budynków, pomieszczeń, monitoring, systemy alarmowe, ochrona środowiskowa (temperatura, wilgotność, zasilanie).
- Bezpieczeństwo logiczne: Uwierzytelnianie (weryfikacja tożsamości), autoryzacja (przyznawanie dostępu), szyfrowanie, firewall, IDS/IPS (wykrywanie i blokowanie ataków internetowych), kopie zapasowe, Disaster recovery.
Główne rodzaje cyberataków i metody obrony
- Phishing: Wyłudzanie informacji za pomocą podszywania się pod zaufane podmioty.
- Malware (wirusy, trojany, ransomware): Uszkadzanie systemu, kradzież danych, przejęcie kontroli.
- Ataki DDoS: Przeciążanie serwera poprzez wysłanie ogromnej liczby zapytań.
- Ataki Man-in-the-Middle (MITM): Przechwytywanie komunikacji między dwoma stronami z modyfikacją przesyłanych danych.
- Ataki SQL Injection, XSS, Ransomware: Infiltracja i sabotaż danych.
Metody obrony:
- Szkolenia, silne hasła, uwierzytelnianie wieloskładnikowe, aktualizacje oprogramowania, antywirusy, firewall, IDS/IPS, kopie zapasowe.
Języki skryptowe
- Typy danych:
int
,float
,str
- Klasy i obiekty:
klasa
,obiekt
,dziedziczenie
,polimorfizm
- Struktury danych:
list
,tuple
,dict
,queue
,stack
- Zasięgi zmiennych: globalny (
global
), lokalny (local
), zamknięty (closure
) - Moduły: Plik zawierający definicje funkcji, zmiennych i klas (import,
import moj_modul
). - Domknięcia: Funkcje "zapamiętujące" swoje środowisko leksykalne.
- Funkcje anonimowe (lambda): Jednowierszowe funkcje bez nazwy.
Filtrowanie i transformacja danych
- Filtrowanie: Wybór elementów spełniających warunek.
- Transformacja: Modyfikacja wartości elementów.
- Wyrażenia listowe, wyrażenia generatorowe.
Obsługa plików
- Funkcja
open()
, tryb otwarcia ('r'
,'w'
),with open() as...
- automatyczne zamknięcie pliku. - Serializacja obiektów -
pickle
, konwersja obiektu na bajty do zapisania do pliku.
Metody obsługi wyjątków
try...except
: Obsługa błędów.finally
: Kod, który zawsze się wykona, niezależnie od tego, czy wystąpił błąd.- Rodzaje wyjątków: Specjalne typy błędów.
- Właściwe użycie
try...except...finally
.
Dopasowanie wzorców match/case
- Alternatywa dla
switch
w innych językach. - Dopasowanie na podstawie różnych wzorców (wartości, typów, rozpakowania).
Programowanie obiektowe 2
- Klasy: Definicja i tworzenie typów obiektów (własnych typów danych).
- Instancje: Obiekty tworzone na podstawie klasy (obiekty).
- Konstruktory (init): Metoda do inicjalizacji obiektów.
- Metody instancyjne: Funkcje działające na obiekcie konkretnej instancji.
- Atrybuty instancyjne: Dane związane z obiektem.
- Metody klasowe: Funkcje działające na klasie (zastosowanie
@classmethod
). - Atrybuty klasowe: Dane wspólne dla wszystkich obiektów danej klasy (użycie modyfikatora
@staticmethod
). - Metody statyczne: Funkcje w klasie, które nie działają na obiekcie ani klasie (
@staticmethod
).
Bezpieczeństwo i ochrona w systemach operacyjnych
- Ataki na hasła:
bruteforce
,słownikowe
. - Ataki typu
man-in-the-middle
: Przechwytywanie komunikacji. - Ataki typu
denial of service
(DoS): Przeciążenie systemu. - Ataki typu
SQL injection
,cross-site scripting
(XSS): Wprowadzanie złośliwego kodu. - Sposoby na zapobieganie atakom: Kontrola dostępu, uwierzytelnianie, szyfrowanie, zapory sieciowe, aktualizacje, silne hasła itd.
Systemy operacyjne
- Struktura systemów operacyjnych: Monolityczna, warstwowa, wirtualne maszyny.
- Zarządzanie procesami: Definicja procesu, wątki, procesy i ich stany (nowy, gotowy, uruchomiony, oczekujący, zakończony), alokacja, odzyskiwanie i ochrona zasobów.
- Synchronizacja procesów: Semaforów, muteksów, monitorów, problemy z zakleszczeniem.
- Zarządzanie pamięcią: Alokacja pamięci, wymiana (swapping), pamięć wirtualna.
- System plików: Organizacja danych w plikach i katalogach, zarządzanie przestrzenią, atrybuty plików.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.