Quest: Włączanie

Uruchamianie sprzętu komputerowego przebiega wg następującego shematu:
Hardware → Firmware → Bootloader → Kernel → Sterowniki → Usługi OS → UI → Aplikacje

Etap / wspólny opisPC / laptop — Windows / LinuxMacBook — macOSTelefon — Android
1. Zasilanie — Po naciśnięciu przycisku zasilania urządzenie otrzymuje energię i rozpoczyna inicjalizację podzespołów. Zasilanie musi zostać odpowiednio rozprowadzone do procesora, pamięci, układów sterujących i pamięci masowej.PSU, ATX, bateriaApple Power Management, bateriaPMIC, bateria
2. Start procesora — Procesor otrzymuje zasilanie i zaczyna wykonywać pierwsze instrukcje. Na tym etapie nie działa jeszcze system operacyjny — CPU uruchamia kod odpowiedzialny za rozpoczęcie procesu bootowania.x86-64 CPUApple Silicon, ARM64 / Intel x86-64ARM64 SoC
3. Firmware — Pierwszy kod uruchamiany przez procesor pochodzi z firmware’u urządzenia. Jego zadaniem jest przygotowanie podstawowego środowiska sprzętowego i rozpoczęcie wyszukiwania systemu operacyjnego.UEFI, BIOSBoot ROM, Apple Boot FirmwareBoot ROM, SoC Firmware
4. Inicjalizacja i test sprzętu — Firmware sprawdza, czy najważniejsze komponenty są dostępne i mogą zostać użyte. Następnie inicjalizuje je na tyle, aby możliwe było przejście do kolejnego etapu uruchamiania.POST, UEFI Hardware InitializationApple Hardware InitializationBootloader / firmware initialization
5. Wykrycie pamięci masowej — System musi znaleźć urządzenie, na którym znajdują się pliki potrzebne do uruchomienia OS. Firmware identyfikuje odpowiednią pamięć masową i lokalizuje informacje rozruchowe.NVMe, SATA, EFI System Partition (ESP)APFS, APFS VolumeUFS, eMMC, A/B Slots
6. Wybór systemu operacyjnego — Komputer może mieć jeden lub kilka systemów operacyjnych. Mechanizm rozruchowy wybiera odpowiedni system zgodnie z konfiguracją urządzenia lub decyzją użytkownika.Windows Boot Manager, GRUB, UEFI Boot ManagerStartup Manager, boot.efiAndroid Bootloader, AVB
7. Uruchomienie bootloadera — Bootloader jest programem pośredniczącym między firmware’em a systemem operacyjnym. Jego głównym zadaniem jest znalezienie i załadowanie kernela oraz niezbędnych danych do pamięci RAM.Windows Boot Manager, GRUBboot.efiAndroid Bootloader, init_boot
8. Uruchomienie kernela — Kernel, czyli jądro systemu, przejmuje kontrolę nad podstawowymi zasobami komputera. Zarządza m.in. procesorem, pamięcią RAM, procesami oraz komunikacją ze sprzętem.Windows NT, Linux kernelXNULinux kernel
9. Uruchomienie sterowników — Kernel potrzebuje specjalnego oprogramowania, aby komunikować się z konkretnymi urządzeniami. Sterowniki pozwalają OS-owi korzystać np. z GPU, Wi-Fi, dysku, ekranu czy aparatu.WDM, KMDF, Linux Kernel ModulesIOKit, DriverKitKernel Drivers, HAL
10. Uruchomienie usług systemowych — System uruchamia procesy działające w tle, które zapewniają podstawowe funkcje OS-a. Mogą one odpowiadać m.in. za sieć, bezpieczeństwo, zarządzanie użytkownikami czy komunikację między komponentami systemu.Windows Services, Service Control Manager, systemdlaunchdinit, Zygote, system_server
11. Uruchomienie interfejsu użytkownika — Po uruchomieniu podstawowych komponentów system przygotowuje środowisko graficzne. Pojawia się ekran logowania, pulpit lub ekran główny urządzenia.Windows Shell, Explorer, GNOME/KDEWindowServer, FinderSystemUI, Launcher
12. Gotowość systemu — System operacyjny jest już w pełni uruchomiony i może wykonywać aplikacje użytkownika. Aplikacje korzystają z usług OS-a, zamiast bezpośrednio zarządzać sprzętem.Win32, .NET, Windows API, Linux userspaceCocoa, SwiftUI, macOS APIsAndroid Runtime (ART), Android Framework

Zadanie

Na zdjęciach płyt głównych różnych typów urządzeń zaznacz numerami 1-12 gdzie odbywa się dany etap rozruchu. Nie zawsze da się oznaczyć wszystkie elementy. Dla których urządzeń przenośnych o wysokim poziomie integracji zadanie to jest najtrudniejsze?

PC

Asus Prime 8350plus
foto

MacBook

Apple MacBook Pro 14 M3
foto

Smartphone

Samsung Galaxy S10
foto

Laptop

MSI Katana 15 HX B14W
foto

Quest: HTML i CSS beginner

Oto kilka przydatnych kodzików i kilka przydatnych linków. Pierwsze zadanie jest następujące: zrób stronę internetową, której kod rozumiesz w 100%. Zadanie drugie: opublikuj swoją stronę.

Prosty kodzik #1

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Mały plik z poprawną strukturą</title>
	<meta name="keywords" content="struktura, html, poprawny">
	<meta name="description" content="Ble ble ble ...">
	<style type="text/css">
	@media only screen and (min-width: 900px) {
		#tresc {
			width: 850px;
			margin: 0 auto 0 auto;
			}
		}
	</style>
</head>
<body>
	<div id="tresc">
	<h1>Nagłówek</h1>
	<h2>Nagłówek 2 poziomu</h2>
	<p>Lorem ipsum.</p>
	</div>
</body>
</html>

Przydatne adresy

Prompt dla beginnera

Potrzebuję prostą stronę internetową w html i css. Niech kod będzie w jednym pliku. Strona ma być responsywna. Na dużym ekranie mają wyświetlać się symetryczne marginesy tak, by główny blok treści miał 1000px. Na górze strony ma być blok z informacjami o autorze. Później ma być kilkanaście linków do różnych serwisów internetowych wraz z krótkimi opisami. Każdy link ma zajmować oddzielny blok. Każdy blok ma być w innym pastelowym kolorze. Na dużym ekranie w jednym wierszu mają wyświetlać się trzy bloki. Na smartfonie bloki mają być pod sobą.

Prosty kodzik #2


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Sekcje w html 5</title>
	<meta name="keywords" content="main, nav, aside, article">
	<meta name="description" content="W HTML5 wprowadzono nowe elementy blokowe, które mają zastąpić element div tam, gdzie będzie to miało sens.">
	<style type="text/css">
	@media only screen and (min-width: 900px) {
		#kontener {
			width: 850px;
			margin: 0 auto 0 auto;
			}
		main {
			float: left;
			width: 70%;
			}
		aside {
			float: right;
			width: 28%;
			}
		footer {
			clear: both;
			}
		}
	</style>
</head>
<body>
	<div id="kontener">
		<header>
			<h1>Lorem ipsum story!</h1>
		</header>
		<div>
			<main>
				<article>
					<h2>Dolor ipsum</h2>
					<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sed enim sed erat imperdiet elementum. Praesent dapibus purus eget ullamcorper commodo. </p>
					<p>Praesent vulputate, mi id auctor commodo, sapien augue rhoncus justo, non malesuada nibh diam nec dolor. </p>
				</article>
				<article>
					<h2>Amet sit</h2>
					<p>Nam id rutrum velit. Ut gravida tristique neque et pretium. Sed eget viverra orci. </p>
				</article>
			
			</main>
			<aside>
				<nav>
					<h3>Menu</h3>
					<ul>
						<li><a href="#">Strona Główna</a></li>
						<li><a href="#">Link 1</a></li>
						<li><a href="#">Link 2</a></li>
					</ul>
				</nav>
				<section>
					<h3>Reklamy</h3>
					<p>Lorem ipsum dolor sit emet...</p>
				</section>
				<section>
					<h3>Social media</h3>
					<p>Lorem ipsum dolor sit emet etc...</p>
				</section>
			</aside>
		</div>
		<footer>
			<div> pk.sth © 2022</div>
			<div>Strona o niczym by PK przygotowane specjalnie dla 1pt. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </div>
		</footer>
	</div>
</body>
</html>

Quest: 5 publicznych notatek

Wariant 1 (easy)

Z wykorzystaniem HTML, PHP i MySQL należy stworzyć aplikację webową, która każdemu użytkownikowi (bez autoryzacji) pozwoli przeglądać i edytować 5 notatek tekstowych. Wszystkie notatki mają wyświetlać się równocześnie w osobnych polach textarea. Do zapisywania notatek można wykorzystać jeden lub 5 przycisków.

Wskazówka

Użyj AI, ale nie wklejaj treści zadania. Tego typu podejście jest niezbędne by zachodził proces uczenia się!

  • najpierw utwórz/wygeneruj kod HTML z formularzem
  • oddzielnie wygeneruj działający formularz obsługiwany przez PHP, tak by wyświetlał wpisany tekst
  • oddzielnie wygeneruj SQL tworzący odpowiednią tabelę i skrypt PHP, który będzie zapisywał tam dane ze zmiennej po naciśnięciu przycisku
  • Przeanalizuj wszystkie części i połącz je samodzielnie jedynie dopytując model o konkretne szczegóły

Wariant 2 (quite easy)

Z wykorzystaniem HTML, PHP i MySQL należy stworzyć aplikację webową, która każdemu użytkownikowi (bez autoryzacji) pozwoli przeglądać i edytować 5 notatek tekstowych. Wszystkie notatki mają wyświetlać się w osobnych polach widgetu Accordion zrobionego z wykorzystaniem biblioteki jQuery UI. Do zapisywania notatek można wykorzystać jeden lub 5 przycisków.

Wariant 3 (not as easy)

Z wykorzystaniem HTML, PHP i MySQL należy stworzyć aplikację webową, która każdemu użytkownikowi (bez autoryzacji) pozwoli przeglądać i edytować 5 notatek tekstowych. Wszystkie notatki mają wyświetlać się w osobnych polach widgetu Accordion zrobionego z wykorzystaniem biblioteki jQuery UI. Zapisanie notatki ma odbywać się w czasie zwijania widgetu bez przeładowania strony (z Ajax).

Quest: System ≠ zbiór elementów

System to nie tylko zbiór urządzeń czy programów. To uporządkowany zbiór elementów, ich relacji i zasad działania, zaprojektowany lub ukształtowany tak, aby wspólnie realizować określony cel.

SYSTEM = CEL + ELEMENTY + RELACJE + REGUŁY

Różne rodzaje elementów systemu

  1. Sprzęt – fizyczne urządzenia tworzące system.
    Przykłady: komputer, serwer, NAS, przełącznik, router, projektor, drukarka, czujnik.
  2. Oprogramowanie – programy sterujące sprzętem, przetwarzające dane albo dostarczające użytkownikom funkcji.
    Przykłady: system operacyjny, aplikacja, sterownik, oprogramowanie do wirtualizacji, system zarządzania.
  3. Dane – informacje, które system przechowuje, przetwarza lub przekazuje.
    Przykłady: dokumenty, konfiguracje, konta użytkowników, bazy danych, kopie zapasowe, obrazy systemów.
  4. Połączenia – mechanizmy umożliwiające współpracę elementów.
    Przykłady: sieć LAN, Wi-Fi, Internet, magistrala komunikacyjna, API.
  5. Konfiguracja – reguły określające sposób działania elementów i ich współpracy.
    Przykłady: adresacja IP, reguły przełącznika, uprawnienia, ustawienia programów, konfiguracja serwera.
  6. Ludzie – osoby korzystające z systemu, obsługujące go, administrujące nim lub projektujące go.
    Przykłady: użytkownik, operator, administrator, nauczyciel, technik.
  7. Procedury – powtarzalne sposoby działania ludzi i systemu.
    Przykłady: „co zrobić przed egzaminem”, „jak utworzyć konto ucznia”, „jak przywrócić komputer”, „co zrobić w przypadku awarii”.
  8. Środowisko – warunki, w których system działa.
    Przykłady: pomieszczenie, zasilanie, temperatura, dostęp do Internetu, wymagania prawne, organizacja pracy szkoły.

Z czego składa się system pracowni 308?

Na przykładzie pracowni komputerowej można wyróżnić następujące elementy systemu:

Element systemuZnaczeniePrzykład w pracowni
CelOkreśla, po co system istnieje i jakie rezultaty ma zapewniać.Prowadzenie zajęć, praca uczniów, egzaminy
KomponentyFizyczne lub programowe części systemu realizujące określone funkcje.Komputery, NAS, projektor, przełącznik, systemy operacyjne, Veyon
Struktura i relacjeOkreślają, jak poszczególne elementy są ze sobą powiązane i od siebie zależne.Komputery połączone z przełącznikiem, Veyon komunikujący się z komputerami uczniów, NAS przechowujący obrazy
KonfiguracjaŚwiadome określenie parametrów i sposobu działania elementów oraz ich współpracy.Konfiguracja sieci, kont, uprawnień, Veyona, systemów operacyjnych i przełącznika
SprzętFizyczne urządzenia tworzące infrastrukturę systemu.Komputery, przełącznik, NAS, projektor, okablowanie
OprogramowanieProgramy realizujące funkcje systemu i umożliwiające wykorzystanie sprzętu.Windows, Linux, wirtualizacja, Veyon, Clonezilla
Dane i zasobyInformacje oraz inne zasoby wykorzystywane, przechowywane lub przetwarzane przez system.Obrazy systemów, materiały dla uczniów, konta użytkowników, konfiguracje
KomunikacjaMechanizmy umożliwiające wymianę informacji i współpracę elementów.LAN, protokoły sieciowe, połączenie z NAS, połączenie z projektorem
Użytkownicy i roleLudzie korzystający z systemu oraz określenie ich funkcji i odpowiedzialności.Uczeń, nauczyciel, administrator
UprawnieniaOkreślają, kto i jakie operacje może wykonywać w systemie.Administrator może konfigurować stanowisko, uczeń ma uprawnienia potrzebne do wykonywania zadań
ProceduryUstalone sposoby postępowania zapewniające powtarzalne i przewidywalne działanie systemu.Przygotowanie pracowni do egzaminu, tworzenie kont, przywracanie stanowisk
Zarządzanie i monitorowanieMechanizmy pozwalające obserwować, kontrolować i zmieniać działanie systemu.Veyon, administracja komputerami, konfiguracja przełącznika
BezpieczeństwoŚrodki chroniące system, dane i użytkowników przed awariami, błędami i nieuprawnionym dostępem.Oddzielna sieć egzaminacyjna, uprawnienia, obrazy systemów
Odporność i odtwarzanieZdolność systemu do powrotu do poprawnego stanu po awarii lub niepożądanej zmianie.Przywracanie komputerów z obrazów Clonezilla przechowywanych na NAS
UtrzymanieDziałania zapewniające sprawność i aktualność systemu.Aktualizacje, okresowe obrazowanie, zmiany konfiguracji
Dokumentacja i kompetencjeWiedza potrzebna do prawidłowego używania, obsługiwania i rozwijania systemu.Instrukcje dla nauczycieli, szkolenie uczniów, dokumentacja konfiguracji

Słowniczek

  • NAS — urządzenie podłączone do sieci, które służy do przechowywania i udostępniania plików innym komputerom.
  • Clonezilla — program umożliwiający wykonanie obrazu całego dysku lub komputera, a następnie odtworzenie z niego przygotowanego wcześniej systemu.
  • Veyon — program pozwalający nauczycielowi obserwować ekrany komputerów uczniów i zarządzać nimi z jednego komputera.
  • System operacyjny (OS) — podstawowy program komputera, który zarządza jego sprzętem i umożliwia uruchamianie innych programów.
  • Przełącznik sieciowy (switch) — urządzenie, które łączy komputery i inne urządzenia w sieci oraz przekazuje między nimi dane.
  • LAN — lokalna sieć komputerowa, np. sieć łącząca wszystkie komputery w pracowni.
  • Sieć egzaminacyjna — oddzielna sieć komputerowa przygotowana tak, aby podczas egzaminu zapewnić odpowiedni i kontrolowany dostęp do potrzebnych zasobów.
  • Konto użytkownika — osobisty profil na komputerze, który pozwala rozpoznać użytkownika i określić, co może on robić.
  • Uprawnienia — określenie, do jakich funkcji, plików i ustawień użytkownik ma dostęp.
  • Obraz systemu — zapis zawartości i ustawień komputera, który można później wykorzystać do odtworzenia jego wcześniejszego stanu.

Zadanie

Przeanalizuj omówienie systemu pracowni. Zwróć uwagę na język jakim ten system jest opisany. Zwróć uwagę na pojęcia z tabeli. Wymyśl przykład innego systemu informatycznego i zastanów się co jest w Twoim przykładzie jest celem, zasobami, procedurami i co tworzy odporność. Wybierz w grupie 2-3 osobowej najlepszy przykład i razem wypełnijcie trzecią kolumnę tabeli dla wybranego przykładu.

Mój zestaw zasad obowiązujących na zajęciach (v2.9)

Zasady dotyczące celu przychodzenia na zajęcia:

  1. Do szkoły przychodzimy, żeby się uczyć. Wyposażenie pracowni przeznaczone jest wyłącznie do nauki. Wykorzystanie sprzętu podczas lekcji do celów innych niż nauka jest zabronione i powoduje pozbawienie prądu lub wyrzucenie z sali. Czas po wykonaniu wszystkich zadań z lekcji należy wykorzystywać do pogłębiania tematu, czy zanotowanie tego co warto.
  2. Samodzielne notowanie na zajęciach jest obowiązkowe. Nauczyciel nic nie dyktuje! Notatnik papierowy jest zawsze na stole lub notatnik online jest zalogowany. Brak notowania świadczy o braku chęci nauki!
  3. Stopnie są na zajęciach mało ważne! Ważny jest komentarz do oceny! Oceniam wg dwóch skali:

Skala dla uprzywilejowanych
przywilej zyskuje się zachowując higienę cyfrową

  • kartkówki (0, 3, 4, 5)
  • testy kwartalne i projekty (0, 2, 3, 4, 5, 6)
  • własne projekty (0, 4, 5, 6)
  • nieregularnie za aktywność poznawczą (0, 3, 4, 5 , 6)
  • raz w miesiącu za pracę na lekcjach (0, 1, 2, 3, 4, 5)
    1 za mniej niż 50% pracowitej obecności
    2 za 50-79% pracowitej obecności
    3 za przynajmniej 80% pracowitej obecności
    4, 5 za
    • questy tygodniowe (dobrowolne) potwierdzane na własnym quasi-blogu
    • zdobywanie w samodzielnie wybranej formie wiedzy z przedmiotu potwierdzana na bieżąco na własnym quasi-blogu

Skala dla przeciętnych
brak higieny cyfrowej prowadzi do przeciętności

  • kartkówki (0, 1, 2, 3, 4, 5)
  • testy kwartalne i projekty (0, 1, 2, 3, 4, 5, 6)
  • własne projekty (0, 4, 5, 6)
  • nieregularnie za aktywność poznawczą (0, 3, 4, 5 , 6)
  • raz w miesiącu za pracę na lekcjach (0, 1, 2, 3, 4, 5)
    1 za mniej niż 50% pracowitej obecności
    2 za 50-79% pracowitej obecności
    3 za przynajmniej 80% pracowitej obecności
    4, 5 za
    • questy tygodniowe (dobrowolne) potwierdzane na własnym quasi-blogu
    • zdobywanie w samodzielnie wybranej formie wiedzy z przedmiotu potwierdzana na bieżąco na własnym quasi-blogu


Zasady dotyczące porządku:

  1. Twoją wolność w sali ogranicza komfort pozostałych osób. Na lekcjach dążymy do swobodnej atmosfery, która ma sprzyjać twórczej pracy.
    • Jeśli swoboda przestaje sprzyjać pracy to jest ograniczana.
    • Pojedynczo do toalety można wychodzić bez pytania. Inne wyjścia są traktowane jako obecność niepracowita.
  2. To komputer jest zaprojektowany do pracy. Telefony leżące w zasięgu ręki ucznia mają zdolność przeszkadzania, więc nauczyciel pomaga w koncentrowaniu się na lekcji. Mobilna elektronika spoczywa w skrzynce, ewentualnie głęboko w plecaku. Osoby, które nadmiernie korzystają z telefonu muszą odkładać go do skrzynki. W czasie lekcji wolno bez pytania:
    • sprawdzić coś związanego z tematem lekcji, gdy nie da się tego zrobić na komputerze
    • zrobić zdjęcie czegoś związanego z tematem lekcji
    • użyć słuchawek do tutorialu, kursu czy poradnika związanego z tematem lekcji (na zajęciach nie słuchamy muzyki)
  3. Wyposażenie pracowni jest własnością szkoły, więc wszyscy dbamy o nie bardziej niż o własny. Zabawa w hakerów (również nieudolna) nie opłaci się. Pentesting jest mile widziany.


Zasady dotyczące kultury:

  1. Posiłki spożywa się podczas przerwy (dotyczy również nauczyciela).
  2. Kultura słowa ma być standardem, a nie wyróżniającym walorem wybitnych.
  3. Strój ucznia ma być odpowiedni do sytuacji.


Zasady dotyczące przyszłości:

  1. Przewiduj! Myśl! Łącz fakty! Wyciągaj wnioski! Jeśli chcesz wykonywać ambitny zawód, musisz nauczyć się pracować efektywnie:
    • kontroluj czas pracy i czas rekreacji
    • eliminuj do 0 czas zmarnowany
    • świadomie wybieraj sobie cele i konsekwentnie dąż do nich
    • swoje błędy traktuj jako element nauki.