Przekierowanie wejścia i wyjścia
Do przekierowań partii danych używamy specjalnych znaków: < (dane na wejście) i > (dane z wyjścia). Aby odczytać dane z wybranego pliku, możemy użyć przekierowania wejścia, czyli wysłać porcję danych jaką jest ten plik, na wejście programu zdolnego go pokazać. Najprostszym przykładem jest wyświetlenie zawartości pliku tekstowego za pomocą polecenia cat:
cat < plik.txt
W tym wypadku samo polecenie cat plik.txt (bez znaku przekierowania) dałoby taki sam efekt. Jeśli zamiast przekierowania wejścia użyjemy przy poleceniu cat przekierowania wyjścia, to albo zniszczymy zawartość istniejącego pliku, albo utworzymy nowy, do którego będziemy mogli dopisywać dane:
cat > plik.txt
Po zakończeniu wpisywania treści piku zamykamy go kombinacją klawiszy [Ctrl]+[Z]. Jest to znakomity sposób na tworzenie prostych, jedno- lub kilkulinijkowych programów. Kolejnym przykładem jest łatanie plików(najczęściej składowych jądra), czyli częściowe wymienianie ich treści. Łatanie wykonujemy, przekazując dane z łaty do programu path:
path p0 < jakaś_łata
Dzięki przekierowaniu wyjścia możemy wysyłać dane do pliku lub urządzenia. Częstym zastosowaniem tego mechanizmu jest zapisywanie do wybranego pliku komunikatów pojawiających się na ekranie po wydaniu różnych poleceń:
find /usr/ -name tes* > komunikaty.log
Możemy też dopisywać do pliku nową treść bez ingerencji w jego dotychczasową zawartość. Do tych celów służy zdublowany znak dopisywania >>. Nowe wiersze zostaną dodane na końcu pliku. Polecenie cat >>plik.txt pozwoli nam na dopisanie nowej treści do pliku plik.txt.
Adres logiczny (wirtualny) jest adresem, do którego odwołuje się proces. Składa się z dwu liczb: 16-bitowego selektora segmentu i 32-bitowego przesunięcia (offsetu).
Adres liniowy jest 32-bitową liczbą oznaczającą adres w wirtualnej przestrzeni adresowej. Przy wyłączonym stronicowaniu jest to jednocześnie adres fizyczny. W trybie rzeczywistym adres liniowy i fizyczny liczy się zgodnie ze wzorem: 16 * SEGMENT + OFFSET.
Adres fizyczny jest adresem wysyłanym z CPU przez szynę adresową magistrali procesora do modułów pamięci RAM. Jest on 32-bitowy, bo taka jest szerokość szyny adresowej.