Możliwości Linuxa:

 

1. wielozadaniowość

Linux jest systemem wielozadaniowym – co umożliwia mu równoczesne wykorzystywanie więcej niż jednego procesu (proces to egzemplarz wykonywanego programu, posiadający własną przestrzeń adresową). Za realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego (kernel). Wielozadaniowość zapewniona jest przez program nazywany planistą, który realizuje algorytm szeregowania zadań w kolejce do przyznania czasu procesora. Linux może wykorzystywać wiele procesorów. Gdy system ma mniej dostępnych procesorów niż zadań to czas działania procesora jest dzielony pomiędzy wszystkie zadania. Linux operuje także tzw. wywłaszczenie, które polega na przerwaniu wykonywania procesu, odebraniu mu procesora i przekazaniu sterowania do planisty. Do wyświetlania listy uruchomionych procesów służy polecenie ps. Polecenia tego może używać każdy użytkownik, jednak wyświetlane będą tylko te procesy, których jest właścicielem. Najważniejszą spośród wyświetlanych informacji to:

  • PID – identyfikator procesu

  • TTY – identyfikator konsoli, z której proces został uruchomiony

  • TIME – czas procesora wykorzystany do tej pory

  • CMD – polecenie, którym uruchomiono proces

Listę procesów można wyświetlać za pomocą komendy: ps -A lub jeżeli chcemy wyświetlić procesy wg tego jak obciążają system możemy użyć polecenia top.

2. obsługa użytkowników na tej samej maszynie w tym samym czasie .

Linux jest systemem wielodostępnym. Oznacza to, że wielu użytkowników może jednocześnie z niego korzystać.

Każdy użytkownik ma przydzielone zasoby:

-pamięć;-czas procesora;-miejsce na dysku;

Do jego zasobów nie nikt dostępu chyba, ze sam je udostępni. Wyjątkiem jest administrator. Użytkownik jest niezależny i odizolowany od innych. Aby zalogować się do systemu możemy skorzystać z klawiatury podłączonej do komputera, lub sieci komputerowej. Po zalogowaniu się uzyskujemy dostęp do konsoli. W linuxie zdefiniowanych jest wiele konsoli tekstowych, na których mogą logować się różni użytkownicy.

KONSOLA – LOGOWANIE
[Ctrl] + [Alt] + [Fn] np. [Ctrl] + [Alt] + [Fn] – aby zalogować się do pierwszej konsoli.
[Ctrl] + [Alt] + [F7] – powrót do środowiska graficznego.

KONTO

whoami – sprawdza z jakiego konta aktualnie korzystamy.
who – kto aktualnie jest zalogowany w systemie.

3.wieloplatformowość 

 termin odnoszący się do aplikacjijęzyków programowaniasystemów operacyjnych oraz innego oprogramowania i jego implementacji, pracujących na różnych platformach sprzętowych. Przykładowo, wieloplatformowa aplikacja będzie działać pod kontrolą systemu Microsoft Windows na architekturze x86 oraz systemu Linux na architekturze ARM.

4.wielowątkowość

Linux jest systemem bardzo stabilnym, lecz również i w tym systemie zachodzi możliwość zawieszania procesu. Czasami zachodzi konieczność usunięcia procesu działającego. Zwykły użytkownik może usuwać tylko te procesy, których jest właścicielem. Administrator może usuwać wszystkie procesy. Do usuwania procesów służy polecenie kill. Polecenie to musi otrzymać jako argument identyfikator PID procesu. Usuwa ono proces w sposób bezpieczny (zamyka otwarte pliki, zwalnia obszary pamięci). Jeżeli procesu w ten sposób usunąć nie można to możemy wymusić jego zakończenie dodając opcję -9 do polecenia. Np. kill -9 2463.

5. działanie w trybie chronionym 386. 

Tryb chroniony (ang. protected mode) – tryb pracy mikroprocesorów serii x86 wprowadzony w mikroprocesorze Intel 80286. Tryb chroniony umożliwia adresowanie pamięci przekraczającej wielkość 1 MB(tryb rzeczywisty), wprowadza wiele nowych udogodnień wspierających wielozadaniowość, takich jak: sprzętowa ochrona pamięci (układ MMU), wsparcie w przełączaniu kontekstu procesora i wiele innych.

Większość nowoczesnych systemów operacyjnych wykorzystuje procesory serii x86 właśnie w trybie chronionym. Zaliczają się do nich m.in.: LinuxWindows w wersji 3.0 i wyższych, systemy z rodzinyBSD.

Procesory Intel 80386 i jego następcy posiadają już 32-bitowy tryb chroniony, w którym można zaadresować do 4 GB pamięci RAM. Obsługują one 32-bitowy tryb segmentacji, będący rozwinięciem tego znanego z procesora Intel 80286 o dodatkowe pola w desktyptorach segmentów (m.in. 32-bitowy adres bazowy, 20-bitowa długość segmentu w bajtach, granulacja). Najważniejszą jednak cechą nowszych procesorów jest obsługa trybu stronicowania pamięci, który jest wykorzystywane w nowych systemach operacyjnych i pozwala na całkowitą izolację procesów we własnej wirtualnej przestrzeni adresowej o rozmiarze do 4 GB (tzw. tryb chroniony z wywłaszczeniem). Ponadto istnieje możliwość użycia stronicowania pamięci w trybie z segmentacją, co zwiększa bezpieczeństwo procesów i systemu operacyjnego korzystającego z segmentacji oraz ułatwia zarządzanie samą pamięcią.

6. miedzyprocesowa ochrona pamięci 

Ochrona pamięci (ang. memory protection) dotyczy sposobów kontroli praw dostępu do pamięci komputera i stanowi integralną część większości nowoczesnych systemów operacyjnych. Podstawowym celem ochrony pamięci jest uniemożliwienie procesowi dostępu do obszaru pamięci, który nie został mu przydzielony. Zapobiega to przypadkom, w których proces może zakłócić pracę innego procesu lub pracę nadzorującego systemu operacyjnego.

7. ładowanie kodu wykonywalnego na żądanie 

Czytanie tylko tej części programu, która jest rzeczywiście wykorzystywana.

8. współdzielenie pamięci miedzy procesami. 

Pamięć współdzielona jest specjalnie utworzonym segmentem wirtualnej przestrzeni adresowej, do którego dostęp może mieć wiele procesów. Jest to najszybszy sposób komunikacji pomiędzy procesami. Podstawowy schemat korzystania z pamięci współdzielonej wygląda następująco: jeden z procesów tworzy segment pamięci współdzielonej, dowiązuje go powodując jego odwzorowanie w bieżący obszar danych procesu, opcjonalnie zapisuje w stworzonym segmencie dane. Następnie, w 

zależności od praw dostępu inne procesy mogą odczytywać i/lub zapisywać wartości w pamięci współdzielonej. Każdy proces uzyskuje dostęp do pamięci współdzielonej względem miejsca 

wyznaczonego przez jego adres dowiązania, stąd każdy proces korzystając z tych samych danych używa innego adresu dowiązania. W przypadku współbieżnie działających procesów konieczne jest najczęściej synchronizowanie dostępu np. za pomocą semaforów. Kończąc korzystanie z segmentu pamięci proces może ten segment odwiązać, czyli usunąć jego dowiązanie. Kiedy wszystkie procesy zakończą korzystanie z segmentu pamięci współdzielonej, za jego usunięcie najczęściej odpowiedzialny jest proces, który segment utworzył. 

Podczas tworzenia segmentu pamięci współdzielonej tworzona jest systemowa struktura danych o nazwie shmid_ds. Definicję tej obsługiwanej przez system struktury można znaleźć w pliku nagłówkowym .

Funkcje operujące na pamięci współdzielonej zdefiniowane są w plikach: i  .

9. pamięć wirtualna stronicująca 

stronicowanie :

  1. Pamięć fizyczna podzielona jest na obszary o stałym rozmiarze, zwane ramkami.
  2. Pamięć logiczna podzielona jest na obszary o stałym rozmiarze, zwane stronami.
  3. Przed wykonaniem wszystkie strony procesu muszą być umieszczone w dowolnych ramkach, które mogą tworzyć nieciągły obszar pamięci.
  4. Proces przechowuje tablicę stron zawierającą adresy przydzielonych ramek.
  5. Adres logiczny składa się z numeru strony i odległości na stronie. Numer strony jest indeksem pozycji w tablicy stron, która zawiera adres bazowy ramki przechowującej daną stronę procesu.

10. zgrupowanie puli pamięci przydzielonej programom i dyskowej pamięci podręcznej (cache) 

Dzięki czemu cała wolna pamięć może być użyta jako pamięć podręczna. Ilość pamięci podręcznej zmniejsza się podczas wykonywania dużych programów.

11. dynamiczne zlinkowane biblioteki dzielone (DLL) oraz oczywiście, biblioteki zalinkowane statystycznie. 

Dynamic-Link Library - biblioteka łączona dynamicznie) – w środowisku Microsoft Windows biblioteka współdzielona (z ang. shared library), która przechowuje implementacje różnych podprogramów programu lub zasoby programu. Podprogramy i zasoby zawarte w bibliotece DLL mogą być wykorzystane bezpośrednio lub pośrednio (za pośrednictwem innej biblioteki DLL) przez dowolny plik wykonywalny, sama biblioteka DLL nie jest samodzielnym programem.

Funkcje biblioteki dynamicznej (DLL) mogą być jednocześnie (w tym samym czasie) importowane przez wiele programów (stąd określenie: biblioteka współdzielona), dzięki temu pamięć operacyjna jest mniej obciążona. Biblioteki DLL mogą być importowane statycznie bądź dynamicznie. W przeciwieństwie do bibliotek statycznych, które są łączone z programem w czasie jego konsolidowania, biblioteki DLL importowane dynamicznie są oddzielnym fragmentem programu i ich modyfikacja nie wymaga przeprowadzenia ponownej konsolidacji, jednak problem z biblioteką (brak importowanych funkcji lub problem z wczytywaniem biblioteki) całkowicie uniemożliwia uruchomienie programu. Biblioteki importowane dynamicznie są wczytywane do pamięci operacyjnej dopiero w momencie określonym przez programistę (przeważnie gdy faktycznie są potrzebne) - stąd określenie: biblioteka dynamicznie łączona - przez co pliki DLL często są wykorzystywane w różnych programach jako wtyczki.
W systemie Microsoft Windows biblioteki DLL mają rozszerzenia .dll, .ocx (gdy biblioteka jest kontrolką ActiveX), .cpl (gdy biblioteka jest rozszerzeniem Panelu Sterowania), .drv (gdy jest przestarzałym sterownikiem), i mogą być wykorzystane w programach napisanych w różnych językach przeznaczonych na platformę Windows, m.in. w Visual Basicu, C/C++/C#, Object Pascalu (Delphi) czy asemblerze.

12. zrzuty pamięci (core dumps) 

zrzuty pamięci - umożliwiające ,,pośmiertną'' analizę programów za pomocą debuggera, 

13. wysoka zgodność z POSIX, SYSV, BSD, na poziomie źródeł 

wolno bez ograniczeń rozpowszechniać. Wiele komercyjnych programów dostępnych dla Linuksa dostarczanych jest bez kodu źródłowego, ale wszystko, co było wolnodostępne (w tym cały system operacyjny) wolnodostępne pozostało, 

14. poprzez zgody z iBCS2 moduł emulacji wysoka zgodność na poziomie binarnym z SCO, SVR3 i 4

  • wysoka zgodność z POSIX, SYSV, BSD na poziomie źródeł,
  • poprzez zgodny z iBCS2 moduł emulacji wysoka zgodność na poziomie binarnym z SCO, SVR3 i SVR4,

15.Dostępność calego kodu źródłowego w tym całego jądra i wszystkich sterowników,narzędzi i programów

No jest :D

16.Zgodna z POSIX kontrola procesów

POSIX (ang.) Portable Operating System Interface for Unix – przenośny interfejs dla systemu operacyjnego Unix.

POSIX to odpowiedź na próby standaryzacji różnych odmian systemu operacyjnego Unix. Prace nad tym standardem rozpoczęto ok. roku 1985, a kierowało nimi stowarzyszenie IEEE. Dlatego POSIX znany jest również pod nazwą IEEE 1003. Nad dalszym rozwojem standardu sprawuje pieczę The Open Group we współpracy z IEEE i firmami komputerowymi takimi jak: IBMSun MicrosystemsHewlett-PackardNEC CorporationFujitsuHitachi. Kolejne edycje standardu wydawane przez "The Open Group" noszą nazwy Single UNIX Specification, Version x, gdzie x to kolejny numer wersji. Aktualna wersja jest trzecią a pojawiła się w roku 2001. Od roku 2003 jest to norma międzynarodowa ISO/IEC 9945:2003.

Nazwę "POSIX" zaproponował Richard Stallman.

POSIX standaryzuje:

Zasady te ujęte są w około piętnastu różnych dokumentach.

17.pseudoterminale(pty)

In some operating systems, including Unix, a pseudo terminal is a pair of pseudo-devices, one of which, the slave, emulates a real text terminal device, the other of which, the master, provides the means by which a terminal emulator process controls the slave.
 
Załóż własną stronę internetową za darmo Webnode