Systemy Operacyjne - Funkcje na kolokwium
--- Polecenia systemowe ---
(^Z) - wstrzymywanie
fg -foreground
bg - background
jobs - procesy
kill - wyslanie sygnału do procesu podanego jako argument
(^C) - zakończenie
--- Lab. 5: Procesy w systemach UNIX ---
fork - tworzy proces , zwaraca PID procesu, 0 do procesu macierzystego, -1 jeśli się nie powidłoo
vfork - to samo co fork , lecz jest możliwość dzielenia się danymi z procesem potomnym-
exit kończy działanie program-
system - wykonuje to co ma jako argument np. system ("dir"); zwraca wartsść typu int-
Funkcje grupy exec:
execl - uruchamia program podany jako argument w taki sposób, że działa on z PIDem programu który go wywołał.
Pozostałe funkcję różnią się głównie sposobem zapisu argumentów
execv -
execle -
execve -
execlp -
execvp -
waitt zatrzymuje proces na określony czas-
waitpid zatrzymuje proces na określony czas-
wait3 zatrzymuje proces na określony czas-
wait4 zatrzymuje proces na określony czas-
getpid - zwraca identyfikator procesu
getppid - zwraca identyfikator rodzica procesu
getuid - zwraca identyfikator użytkownika
getgid - zwraca id grupy
getpwuid - odczytanie wpisu z pliku z hasłami
getpwnam - -//-
getenv można zobaczyć co zawierają zmienne środowiskowe-
putenv umożliwia zmianę zmiennej środowiskowej-
getrusage resources usage, czyli ile co zużywa-
gettimeofday -
times - pobiera czasy procesów
--- Lab. 6: Wątki ---
Funkcje:
pthread_create - storzenie wątku
pthread_self - zwraca id watku wywołiuącego
pthread_detach - put a running thread in the detached state
thread_exit - opuszcza wątek
pthread_join - czeka aż wątek zakończy swoją pracę
pthread_attr_init - initialise threads attribute object
pthread_attr_destroy - destroy threads attribute object
pthread_attr_setdetachstate - set detachstate attribute
pthread_attr_getdetachstate - get detachstate attribute
Inne funkcje:
sleep - uśpienie
nanosleep - uśpienie w nanosekundach
usleep - uśpienie w mikrosekundach
--- Lab. 7: Sygnały ---
kill int kill(pid_t pid, int sig); - funkcja wysyła do określonego procesu, którego identyfikator określony jest jako pid. Procesy wysyłający i otrzymujący sygnał muszą mieć ten sam identyfikator użytkownika (UID), tzn. można wysyłać sygnały tylko do należących do nas procesów-
alarm - ustawia budzik na dostarczenie sygnału SIGALRM
pause - czekaj na sygnal
sigaction - examine and change a signal action
sigprocmask - examine and change blocked signals
sigemptyset -
sigfillset -
sigaddset - POSIX signal set operations.
sigdelset -
sigismember -
sigpending - examine pending signals
sigsuspend -
signal - funkcja ustalająca w jaki sposób program ma reagować na dany sygnał. Można wymusić wywołanie własnej funkcji, obsługę standardowej funkcji lub wyciszyć sygnał tak, żeby program na niego nie reagował
wait -
waitpid -
wait3 - wait for process to change state
wait4 -
pthread_sigmask - examine and change blocked signals
pthread_kill - send a signal to a thread
sigwait select a set of signals
nohup - uniksowe polecenie używane do uruchamiania innego programu w taki sposób, aby ten nie został wyłączony podczas wylogowania.
SIGALARM - generowany przez zegar, ustawiany funkcją alarm
SIGHUP - wysyłany przez rozłączający się z terminal do procesu sterującego, albo przez kończący pracę proces sterujący do wszystkich procesów pierwszoplanowych.
SIGINT - zazwyczaj generowany przez terminal po naciśnięciu [CTRL+C] lub innego zdefiniowanego znaku przerwania
SIGKILL - zazwyczaj używany z poziomu powłoki w celu zakończenia błędnie działającego programu lub nie odpowiadającego procesu, sygnału kill nie można zignorować ani przerwać
SIGPIPE - generowany w przypadku zapisu do potoku, który nie posiada związanego z nim odbiorcy
SIGTERM - wysyłany jako żądanie zakończenia procesu. Używany przy zamykaniu Uniksa do zatrzymania usług systemowych. Jest to domyślny sygnał generowany przez polecenie kill
SIGUSR1 SIGUSR2 - mogą być wykorzystane do komunikacji między procesami, na przykład jako żądanie zwrócenia informacji o bieżącym stanie
-
--- Lab. 8: Systemy plików, operacje wejscia wyjścia ---
Polecenia systemowe:
cd -
chmod - ustawia maskę uprawnień pliku
cp - copy
cd - change dir
diff - szukanie różnic pomiędzy dwoma plikami
ln - tworzy dowiazania miedzy plikami
ls - list
mkdir - tworzy folder
mv - move
rm - remove
rmdir - usuwa folder
clear - czyści ekran
Funkcje:
access - determine accessibility of a file
close - close a file descriptor
create -
lseek - reposition read/write file offset
open - open a file
read - read from a file descriptor
write - write to a file descriptor
chdir - change
closedir -close
opendir -open
readdir -read directory
rewinddir -rewind
seekdir -seek
telldir -tell
chmod - ustawia maskę uprawnień pliku
chown - zmiana własciciela
fcntl - manipulate file descriptor
fstat - get file status
link - make a new name for a file
mknod - make block or character special files
readlink - read value of a symbolic link
stat - status pliku
symlink - make a new name for a file
umask - maska uprawien domyslnych
unlink - zwolnienie wskaźnika do pliku
--- Lab. 9: Komunikacja międzyprocesowa - --
Polecenia systemowe:
mknod - make block or character special files
mkfifo - make a FIFO special file (a named pipe)
tail -
tee -
Funkcje:
open -
read -
write -
close -
popen -
pclose -
pipe -
mkfifo - nazwane łącza danych
dup -
dup2 -
fcntl -
select -
mknod -
fpathconf -
--- Lab 10: Synchronizacja procesów i wątków ---
Polecenia systemowe:
ipcs -
ipcrm -
Funkcje:
- dotyczące semaforów IPC:
ftok - tworzy klucz (np dla kolejki komunikatów, pamięci współdzielonej, semaforów) na podstawie podanych parametrów
semget - stworzenie semafora
semctl - funkcja ustalająca parametry semafora
semop - podniesienie semafora?
- dotyczące muteksów POSIX:
pthread_mutex_lock -
pthread_mutex_unlock -
pthread_mutex_trylo -
pthread_mutex_init -
pthread_mutex_destroy -
pthread_mutexattr_init -
pthread_mutexattr_destroy -
- dotyczące pamięci dzielonej IPC:
shmgett - stworzenie obszaru pamięci dzielonej
shmctl - powiązanie obszaru pamięci dzielonej ze zmienną (bufor)
shmat - Funkcja shmat dołącza segment pamięci wspólnej o deskryptorze shmid do przestrzeni adresowej procesu, który ją wywołał.
shmdt - Funkcja shmdt wyłącza segment pamięci wspólnej odwzorowany pod adresem podanym w shmaddr z przestrzeni adresowej procesu wywołującego tę funkcję
--- Lab. 12: Synchronizacja procesów i wątków ---
Funkcje:
ftok - przekształca ścieżkę i identyfikator projektu na klucz komunikacji międzyprocesowej (IPC)
msgget - tworzy kolejkę komunikatów ( zwraca id_kolejki lub -1, gdy się nie wykona)
msgctl - zarządzanie kolejką komunikatów (zmiana praw, usuwanie kolejki, itd)
msgsnd - do wysyłania komunikatów do kolejki(zwraca 0 jeśli wysłano poprawnie, -1 gdy niepoprawnie)
msgrcv - odbieranie komunikatów z kolejki (ilość odebranych komunikatów w bajtach lub -1, gdy się nie powiedzie)
Polecenia systemowe:
ipcs - można użyć w celu otrzymania statusu wszyskitch obiektów IPC Systemu V
ipcrm - usuwa kolejkę komunikatów, zbiór semaforów lub id pamięci współdzielonej
ps -l - wykaz procesów