Jak działa Linuxowy terminal? (częśc 2)

W poprzedniej części wpisu pokazywałem na schematach jak wygląda obsługa terminala w Linuxie – od zewnętrznego urządzenia, przez wirtualną konsolę, aż po emulator terminala. Za każdym razem centralną część stanowiła znajdująca się w kernelu warstwa TTY. Łączyła ona urządzenie terminala (fizyczne czy też wirtualne) z programami działającymi z sesji powłoki. Dziś opowiem nieco więcej o tym czym jest warstwa TTY i … Czytaj dalej

Jak działa Linuxowy terminal? (część 1)

Umiejętność korzystania z konsoli to dla użytkowników Linuxa zupełna podstawa, choć poziom znajomości tego narzędzia może być różny w zależności od naszych potrzeb. Na jednym końcu skali znajdują się hobbyści, którym wystarcza podstawowy zestaw komend, a na drugim administratorzy, piszący skrypty i używający szerokiego zestawu poleceń. Gdzieś po środku znajdują się programiści. Konsola jest dla nich jednym z podstawowych narzędzi … Czytaj dalej

Konkurs dla blogerów? Zawsze czytaj regulamin! Bo inaczej możesz stracić…

Dzisiejszy wpis powstał w reakcji na otrzymanego dziś przeze mnie maila, z zaproszeniem do pewnego konkursu. Piszę go przede wszystkim ku przestrodze, dla osób prowadzących blogi lub w jakikolwiek inny sposób budujących swój wizerunek. Na pewno przyda się też osobom rozważającym wzięcie udziału w jakimkolwiek konkursie o podłożu marketingowym. Odroszczeniacz (ang. disclaimer): Nie chcę być niemiły, więc nie podaję nazwy … Czytaj dalej

Chcesz zrobić własną dystrybucję Linuxa? Poznaj Buildroota!

Nadszedł w końcu czas na wpis, który planowałem już od dłuższego czasu. Dziś pokażę, jak w prosty sposób stworzyć własną mini-dystrybucję Linuxa i uruchomić ją w maszynie wirtualnej. Po co to właściwie robić? Bo, po pierwsze, to fajna zabawa, przy której można się dużo nauczyć. Po drugie, takie małe, wirtualne, Linuxowe środowisko może posłużyć do różnych eksperymentów, które postaram się … Czytaj dalej

Jak startuje współczesny Linux?

Zazwyczaj wygląda to tak: Po wciśnięciu przycisku POWER na obudowie komputera, zaczyna się dziać magia, która trwa od kilkunastu do kilkudziesięciu sekund. W tym czasie na ekranie pojawiają się i znikają różne napisy i obrazki, a na koniec ukazuje się ekran logowania, dający nam pierwszy raz poczucie, że wiemy, co się dzieje. No dobra, przesadzam. Większość z nas kojarzy, że jest coś … Czytaj dalej

Licencja na zabijanie, czyli jak działają Linuxowe sygnały?

Dla większości początkujących (i sporej części zaawansowanych) użytkowników Linuxa sygnały są dość enigmatycznym tworem. Najczęściej kojarzone są z mechanizmem służącym do zabijania niechcianych procesów – w mniej lub bardziej uprzejmy sposób, w zależności od tego, po który sygnał przyjdzie nam sięgnąć. Takie postrzeganie sygnałów może wynikać z faktu, że ponad 20 z 31 Linuxowych sygnałów powoduje domyślnie zakończenie procesu. Albo … Czytaj dalej

Dlaczego dziś zaczynam nowy rok?

Dziś 23 sierpnia – u mnie dzień rozliczania poprzedniego roku i planowania następnego. Korzystając z urlopu zrobiłem małe rozeznanie we współczesnych technikach planowania i widzę, że przez ostatni rok nie było w tej dziedzinie żadnego wielkiego przełomu. Mogę więc spokojnie planować swoją starą metodą. Dlaczego akurat dzisiaj, a nie jak wszyscy, na początku roku? Powód jest prosty – ponieważ istnieje … Czytaj dalej

Podstawienie komendy i procesu w Linuxie

Po poprzednim wpisie, poświęconym Linuxowym przekierowaniom i potokom, dostałem w komentarzu pytanie na temat programu tee, a konkretnie szczególnej konstrukcji, jaką można stworzyć z jego wykorzystaniem. Umożliwia ona uzyskanie efektu “rozmnożenia” strumieni, czyli przekierowania wyjścia standardowego jednego programu, na wejście wielu programów, przy użyciu następującej składni: prog1 | tee >(prog2) >(prog3). Autor pytania był zainteresowany mechanizmami, które odpowiadają za działanie … Czytaj dalej

Przekierowania i potoki okiem programisty

Programy komputerowe mogą robić najróżniejsze rzeczy. Każdy z nich jest inny i został stworzony w jakimś konkretnym celu. Wszystkie one mają jednak wspólną cechę – w taki lub inny sposób przetwarzają dane. Te dane mogą pochodzić z różnych źródeł – mogą być wprowadzane przez użytkownika, odczytywane z dysku lub pobierane z internetu. Istnieje w tej kwestii pełna dowolność. Z drugiej … Czytaj dalej

Nauka przez analogię, czyli sztuka popełniania błędów

Programistów, czy inżynierów w ogóle, widzi się często jako osoby, które na co dzień zajmują się rozwiązywaniem nowych, nierozwiązanych wcześniej problemów. O ile w ogólności jest w tym ziarno prawdy, to rzeczywistość jest jednak taka, że bardzo mała część problemów z jakimi spotykamy się w codziennej pracy wymaga rzeczywiście innowacyjnych rozwiązań. Wielu początkujących programistów nie bardzo zdaje z tego sprawę … Czytaj dalej