Міністерство освіти і науки Україниіі
Національний університет „Львівська політехніка”
Звіт
До лабораторної роботи №3
З дисципліни:
«Мережеві операційні системи»
Варіант 2
ЗАВДАННЯ
Мета роботи
познайомитися з призначенням та командами потокового текстового редактора sed;
познайомитися з призначенням утилiти awk та мовою обробки шаблонiв утилiти awk;
навчитися редагувати текстовi файли з допомогою потокового редактора sed та використовувати утилiту sed як фiльтр редагування файлiв;
навчитися записувати шаблони утилiти awk та використовувати утилiту awk як фiльтр обробки даних.
Теоретичний вступ
sed - неiнтерактивний текстовий редактор, призначений для пакетного редагування файлiв. Вiн особливо зручний для виконнання однiєї ж i тiєї функцiї редагування багато раз, а також для редагування файлiв, якщо послiдовнiсть команд редагування надто довга та складна для iнтерактивного редагування.
Основним документом для знайомства з потоковим редактором sed є man sed. Також ряд прикладiв роботи з sed є в статтi Ольги Галiної " Неинтерактивный текстовый редактор SED" [2] та в посiбнику "sed и awk (учебное пособие)" [3].
Утилiта awk - один з найпотужнiших iнструментiв для контекстного пошуку та перетворення текстiв. Завдяки гнучкiй мовi програмування awk можна створювати короткi програми, якi читають вхiднi файли, сортують данi, опрацьовують їх, виконують математичнi дiї, генерують звiти тощо.
Основним документом для знайомства з утилiтою awk є man awk. Крiм того, для знайомства з awk можна використати статтю " Язык обработки данных AWK" [4] О. Галiної та посiбник "sed и awk (учебное пособие)" [3].
Awk
шаблон {дія}
шаблон {дія}
. . .
Хеллоу ворлд =)
BEGIN{print "Hello World!"; exit}
Вивід довжини стрічки:
{ if (length($0) > max) max = length($0) }
END { print max }
Вивід всіх стрічок більших за 80 символів:
{ if (length($0) > 80) print $0 }
Вивід перших двох полів у зворотньому порядку, але розділених табуляцією та пробілом:
Begin {FS=”,[ \t]*|[ \t]+”}
{print $2, $1}
Sed
sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName
s — заміна; g — глобально
echo 123123| sed 's/1/5/g'
echo 123123| sed 's%1%5%g'
echo 123123| sed 's$1$5$g'
echo 123123| sed 's|1|5|g'
generate_data | sed -e 's/x/y/'
використання у файлі:
sed -f subst.sed inputFileName > outputFileName
Видалення стрічок, які пусті або містять лише пробіли:
sed -e '/^\s*$/d' inputFileName
^ початок стрічки
$ кінець стрічки
. будь-який символ
* повторення попереднього символу
[ ] будь-який символ, включений в []
AWK+SED
ls -1 *old* | awk '{print "mv "$1" "$1}' | sed s/old/new/2 | sh
Міністерство освіти і науки Україниіі
Національний університет „Львівська політехніка”
Звіт
До лабораторної роботи №4
З дисципліни:
«Мережеві операційні системи»
Виконав:
Студент групи ІБ-44
Герасенков І.Ю.
Перевірив:
Мельник В.А.
Львів-2010
Варіант 2
ЗАВДАННЯ
Мета роботи
познайомитися з призначенням та основними можливостями оболонки bash;
познайомитися з основними правилами написання сценарiїв оболонки bash;
познайомитися з середовищем оболонки bash та правилами розкривання команд оболонки.
Теоретичний вступ
Оболонка bash (як i решта програм операцiйної системи) постiйно розвивається i, тому, найбiш точною документацiєю є info bash (та man bash) конкретної системи. Досить добрим посiбником з оболонки bash є посiбник Machtelt Garrels "Bash beginners guide". Ярослав Федевич та його команда зробли переклад цього посiбника. Першi три роздiли посiбника "Bash beginners guide (1-3)" знаходяться у файлі [6].
Приклад #1:
PS3="Choose (1-5):"
echo "Choose from the list below."
select name in red green blue yellow magenta
do
break
done
echo "You chose $name."
Запуск:
$ ./myscript.sh
Choose from the list below.
1) red
2) green
3) blue
4) yellow
5) magenta
Choose (1-5):4
You chose yellow.
Приклад #2:
array=(red green blue yellow magenta)
len=${#array[*]}
echo "The array has $len members. They are:"
i=0
while [ $i -lt $len ]; do
echo "$i: ${array[$i]}"
let i++
done
Запуск:
$ ./myscript.sh
The array has 5 members. They are:
0: red
1: green
2: blue
3: yellow
4: magenta
Приклад #3:
$ echo {a..z}
Запуск:
a b c d e f g h i j k l m n o p q r s t u v w x y z
Приклад #4:
#!/bin/bash
criteria=$1
re_match=$2
replace=$3
for i in $( ls *$criteria* );
do
src=$i
tgt=$(echo $i | sed -e "s/$re_match/$replace/")
mv $src $tgt
done
Приклад #5:
for fn in tom dick harry; do
echo "$fn"
done
Запуск:
$ ./myscript.shtomdickharry
Міністерство освіти і науки Україниіі
Національний університет „Львівська політехніка”
Звіт
До лабораторної роботи №5
З дисципліни:
«Мережеві операційні системи»
Виконав:
Студент групи ІБ-44
Герасенков І.Ю.
Перевірив:
Мельник В.А.
Львів-2010
Варіант 2
ЗАВДАННЯ
Мета роботи
Познайомитися iз повним набором системних викликiв операцiйної системи Linux та призначенням i синопсисом найвживанiших системних викликiв.
Теоретичний вступ
Ядро ОС виконується в привiлейованому режимi работи процесора. Для виконання мiжпроцесної операцiї чи операцiї,яка вимагає доступу до обладнання, програма звертається до ядра, яке, в залежносi вiд повноважень викликаючого процесу, виконує чи вiдмовляє у виконаннi такого виклику. Таке звертання до ядра ОС називають системним викликом.
Веpсiї Linux 0.99.2 налiчувала 116 системних виклики, версiя 2.2.14 має 162 найменування, а версiя 2.6.18 – 243 (див. Список системних викликів у Додатку 1. Документацiя до них можна знайти безпосpедньо в самiй документацiї по Linux.
Iснують процедури, якi дозволять встановити свiй власний системний виклик.
В Linux/UNIX системнi виклики майже один до одного вiдповiдають бiблiотечним функцiям, якi використовуються для звертання до системного виклику. Тому у цiй лабораторнiй роботi ми фактично знайомимося iз вiдповiдними бiблiотечними функцiями.
Уточнимо деякi поняття важливi при ознайомленнi iз системними викликами:
Ядро ОС Linux - програма, що забезпечує роздiлення часу центрального процесора мiж процесами, що виконуються, здiйснює управлiння пам'яттю та пристроями вводу-виводу, реалiзує файлову систему.
Системнi виклики представлять собою iнтерфейс мiж програмами користувача i ядром операцiйної системи Linux (чи UNIX). Реалiзацiя системних викликiв - одна iз функцiй ОС Linux.
Iдентифiкатор процесу (PID). Кожний активний процес в системi iдентифiкується унiкальним цiлим додатнiм числом, яке називається "iдентифiкатором процесу". Дiапазон представлення iдентифiкатора процеса - вiд 0 до PROC_MAX (значення PROC_MAX встановлюються при генерацiї системи).
Iдентифiкатор процеса-предка (PPID). Iдентифiкатор процеса, який породив даний процес (див. опис виклику fork).
Iдентифiкатор групи процесiв. Кожний активний процес є членом якої-небудь групи процесiв. Як iдентифiкатор групи процесiв використовується iднтифiкатор процеса старшого в групi (спiльно предка всiх процесiв групи). Об'єднання процесiв в групу дозволяє працювати з групою, як з одним об'єктом, наприклад , передавати сигнал всiм процесам групи.
Реальнi iдентифiкатори користувача i групи (UID i GID). Кожний користувач системи iдентифiкуєтьсяцiлим додатнiм числом, яке називається "iдентифiкатором користувача". Крiм того, користувач може бути членом однiєї чи декiлькох груп. Групи вiдрiзняються одна вiд одної специфiчними правами доступу. Додатнє цiле число, поставлене у вiдповiднiсть групi, називається "iдентифiкатором групи". Процеси мають реальнi идентифiкатори користувача i групи, значення яких рiвнi вiдповiдним iдентифiкаторам користувача, який iнiцiював даний процес. Реальнi iдентифiкактори успадковуються всiма нащадками процеса.
Ефективнi iдентифiкатори користувача i групи, список груп доступу. Доступ до системних ресурсiв визначається трьома значеннями: "ефективним iдентифiкатором користувача", "ефективним iдентифiкатором групи" i "списком груп доступу". Ефективний iдентифiкатор користувача i групи при стартi процеса переважно спiвпадають з реальними. Виняток становлять випадки, коли статус виконуваного файла мiстить ознаки set-UID i set-GID (див. опис виклику execve). Список груп доступу разом з iдентифiкатором групи використовується для визначення прав доступу до системних ресурсiв.
Привiлейований користувач i привiлейований процес. Процес вважається привiлейованим, тобто отримує винятковi права доступу, до всiх ресурсiв, якщо його єфективний iдентифiкатор користувача рiвний нулю.
Системнi процеси. Процеси з iдентифiкаторами 0, 1 вважаються системними. Це - планувальник (процес 0), який iнiцiалiзує процес, який одночасно є предком усiх решта процесiв (процес 1).
Дескриптор. Унiкальне цiле додатнє число, яке ставиться системою у вiдповiднiсть файлу, при його вiдкриттi. В процесi роботи дискриптор використовується процесом чи його нащадками при виконаннi конкретних операцiй з файлом.
Iм'я файла. Послiдовнiсть вiд одного до {FILENAME_MAX} симвлоiв, якi використовуються для iменування звичайних файлiв, директорiй чи спецiальних файлiв. В iменi файла можна використовувати будь-якi символи коду ASCII, за винятком керуючого коду 0 (NUL) i символу "/". Не рекомендується використовувати в iменах файлiв символи, якi мають спецiальне значення в мовi упрпвлiння завданнями (типу "*", "?").
Повне iм'я файла. Це послiдовнiсть iмен каталогiв роздiлених символом "/", якi передують iменi файла. Повне iм'я файла мiстить iнформацiю про положення каталогу з файлом в деревi файлiв. Якщо повне iм'я починається iз символа "/" (абсолютна адресацiя), воно вказує положення каталогу з файлом вiдносно кореня дерева файлiв. Iм'я, яке починається з будь-якого iншого символа, вказує положення каталога з файлом вiдносно поточного каталога. Довжина повного iменi файла не може перевищувати {PATHNAME_MAX} символiв.
Каталог. Спецiальний тип файла, який мiстить iнформацiю про файли, якi можуть адресуватися з даного каталога без вказання повного iменi (тобто по iменi файла). Будь-який каталог мiстить щонайменше двоє iмен "." i "..". Вони вiдповiдають даному каталогу (".") i каталогу, в який даний каталог входить (".."), так званий, батькiвський каталог.
Кореневий i поточний (робочий) каталог. Кожному процесу поставленi у вiдповiднiсть кореневий i робочий каталог, якi використовуються для пошуку конкретних файлiв за їх именем. Кореневий каталог процесу може не спiвпадати з кореневим каталогом системи.
Режим доступу до файла. Режим доступу визначає права процесу на виконання операцiй над файлом (наприклад, вiдкривання файла на запис). Режим доступу є приналежнiстю файла i встановлюється при його створеннi. Режим може перевизначатися з допомогою виклику chmod. Режим доступу мiстить iнформацiю про можливостi читання, запису та виконання файла для трьох груп користувачiв: власника файла, членiв його групи i всiх решта користувачiв. Для каталога ознака "виконання" iнтерпретується як право перегляду її вмiстимого. Процес отримує доступ до файла, якщо:
процес виконується в привiлейованому режимi;
ефективний iдентифiкатор процесу спiвпадає з iдентифiкатором власника файла i режим доступу дозволяє виконання замовленої операцiї;
ефективний iдентифiкатор процесу не спiвпадає з iдентифiкатором власника, але iдентифiкатор групи файла спiвпадає з ефективним iдентифiкатором групи процеса чи входить в список груп доступа процеса (при цьому режим доступу для групи дозволяє виконання замовленої операцiї);
якщо ефективнi iдентифiкатори i список груп доступу процеса не вiдповiдають iдентифiкаторам файла, але режим доступу файла дозволяє виконання вказаної операцiї для всiх iнших користувачiв.
В решті випадків процес не отримує доступу до файла.
1 exit terminate the current process kernel/exit.c
2 fork create a child process arch/i386/kernel/process.c
3 read read from a file descriptor fs/read_write.c
4 write write to a file descriptor fs/read_write.c
5 open open a file or device fs/open.c
6 close close a file descriptor fs/open.c
7 waitpid wait for process termination kernel/exit.c
8 creat create a file or device ("man 2 open" for information) fs/open.c
9 link make a new name for a file fs/namei.c
10 unlink delete a name and possibly the file it refers to fs/namei.c
11 execve execute program arch/i386/kernel/process.c
12 chdir change working directory fs/open.c
13 time get time in seconds kernel/time.c
14 mknod create a special or ordinary file fs/namei.c
15 chmod change permissions of a file fs/open.c
16 lchown change ownership of a file fs/open.c
18 stat get file status fs/stat.c
19 lseek reposition read/write file offset fs/read_write.c
20 getpid get process identification kernel/sched.c
21 mount mount filesystems fs/super.c
22 umount unmount filesystems fs/super.c
23 setuid set real user ID kernel/sys.c
24 getuid get real user ID kernel/sched.c
25 stime set system time and date kernel/time.c
26 ptrace allows a parent process to control the execution of a child process arch/i386/kernel/ptrace.c
27 alarm set an alarm clock for delivery of a signal kernel/sched.c
28 fstat get file status fs/stat.c
29 pause suspend process until signal arch/i386/kernel/sys_i386.c
30 utime set file access and modification times fs/open.c
33 access check user's permissions for a file fs/open.c
34 nice change process priority kernel/sched.c
36 sync update the super block fs/buffer.c
37 kill send signal to a process kernel/signal.c
38 rename change the name or location of a file fs/namei.c
39 mkdir create a directory fs/namei.c
40 rmdir remove a directory fs/namei.c
41 dup duplicate an open file descriptor fs/fcntl.c
42 pipe create an interprocess channel arch/i386/kernel/sys_i386.c
43 times get process times kernel/sys.c
45 brk change the amount of space allocated for the calling process's data segment mm/mmap.c
46 setgid set real group ID kernel/sys.c
47 getgid get real group ID kernel/sched.c
48 sys_signal ANSI C signal handling kernel/signal.c
49 geteuid get effective user ID kernel/sched.c
50 getegid get effective group ID kernel/sched.c
51 acct enable or disable process accounting kernel/acct.c
52 umount2 unmount a file system fs/super.c
54 ioctl control device fs/ioctl.c
55 fcntl file control fs/fcntl.c
56 mpx (unimplemented)
57 setpgid set process group ID kernel/sys.c
58 ulimit (unimplemented)
59 olduname obsolete uname system call arch/i386/kernel/sys_i386.c
60 umask set file creation mask kernel/sys.c
61 chroot change root directory fs/open.c
62 ustat get file system statistics fs/super.c
63 dup2 duplicate a file descriptor fs/fcntl.c
64 getppid get parent process ID kernel/sched.c
65 getpgrp get the process group ID kernel/sys.c
66 setsid creates a session and sets the process group ID kernel/sys.c
67 sigaction POSIX signal handling functions arch/i386/kernel/signal.c
68 sgetmask ANSI C signal handling kernel/signal.c
69 ssetmask ANSI C signal handling kernel/signal.c
70 setreuid set real and effective user IDs kernel/sys.c
71 setregid set real and effective group IDs kernel/sys.c
72 sigsuspend install a signal mask and suspend caller until signal arch/i386/kernel/signal.c
73 sigpending examine signals that are blocked and pending kernel/signal.c
74 sethostname set hostname kernel/sys.c
75 setrlimit set maximum system resource con sumption kernel/sys.c
76 getrlimit get maximum system resource con sumption kernel/sys.c
77 getrusage get maximum system resource con sumption kernel/sys.c
78 gettimeofday get the date and time kernel/time.c
79 settimeofday set the date and time kernel/time.c
80 getgroups get list of supplementary group IDs kernel/sys.c
81 setgroups set list of supplementary group IDs kernel/sys.c
82 old_select sync. I/O multiplexing arch/i386/kernel/sys_i386.c
83 symlink make a symbolic link to a file fs/namei.c
84 lstat get file status fs/stat.c
85 readlink read the contents of a symbolic link fs/stat.c
86 uselib select shared library fs/exec.c
87 swapon start swapping to file/device mm/swapfile.c
88 reboot reboot or enable/disable Ctrl-Alt -Del kernel/sys.c
89 old_readdir read directory entry fs/readdir.c
90 old_mmap map pages of memory arch/i386/kernel/sys_i386.c
91 munmap unmap pages of memory mm/mmap.c
92 truncate set a file to a specified length fs/open.c
93 ftruncate set a file to a specified length fs/open.c
94 fchmod change access permission mode of file fs/open.c
95 fchown change owner and group of a file fs/open.c
96 getpriority get program scheduling priority kernel/sys.c
97 setpriority set program scheduling priority kernel/sys.c
98 profil execut ion time profile
99 statfs get file system statistics fs/open.c
100 fstatfs get file system statistics fs/open.c
101 ioperm set port input/output permissions arch/i386/kernel/ioport.c
102 socketcall socket system calls net/so cket.c
103 syslog read and/or clear kernel message ring buffer kernel/printk.c
104 setitimer set value of interval timer kernel/itimer.c
105 getitimer get value of interval timer kernel/itimer.c
106 sys_newstat get file status fs/stat.c
107 sys_newlstat get file status fs/stat.c
108 sys_newfstat get file status fs/stat.c
109 olduname get name and information about current kernel arch/i386/kernel/sys_i386.c
110 iopl change I/O privilege level arch/i386/kernel/ioport.c
111 vhangup virtually hangup the current tty fs/open.c
112 idle make process 0 idle arch/i386/kernel/process.c
113 vm86old enter virtual 8086 mode arch/i386/kernel/vm86.c
114 wait4 wait for process termination, BSD style kernel/exit.c
115 swapoff stop swapping to file/device mm/swapfile.c
116 sysinfo returns information on overall system statistics kernel/info.c
117 ipc System V IPC system calls arch/i386/kernel/sys_i386.c
118 fsync synchronize a file's complete in-core state with that on disk fs/buffer.c
119 sigreturn return from signal handler and cleanup stack frame arch/i386/kernel/signal.c
120 clone create a child process arch/i386/kernel/process.c
121 setdomainname set domain name kernel/sys.c
122 uname get name and information about current kernel kernel/sys.c
123 modify_ldt get or set ldt arch/i386/kernel/ldt.c
124 adjtimex tune kernel clock kernel/time.c
125 mprotect set protection of memory mapping mm/mprotect.c
126 sigprocmask POSIX signal handling functions kernel/signal.c
127 create_module create a loadable module entry kernel/module.c
128 init_module initialize a loadable module entry kernel/module.c
129 delete_module delete a loadable module entry kernel/module.c
130 get_kernel_syms retrieve exported kernel and module symbols kernel/module.c
131 quotactl manipulate disk quotas fs/dquot.c
132 getpgid get process group ID kernel/sys.c
133 fchdir change working directory fs/open.c
134 bdflush start, flush, or tune buffer-dirty-flush daemon fs/buffer.c
135 sysfs get file system type information fs/super.c
136 personality set the process execution domain kernel/exec_domain.c
137 afs_syscall (unimplemented)
138 setfsuid set user identity used for file system checks kernel/sys.c
139 setfsgid set group identity used for file system checks kernel/sys.c
140 sys_llseek move extended read/write file pointer fs/read_write.c
141 getdents read directory entries fs/readdir.c
142 select sync. I/O multiplexing fs/select.c
143 flock apply or remove an advisory lock on an open file fs/locks.c
144 msync synchronize a file with a memory map mm/filemap.c
145 readv read data into multiple buffers fs/read_write.c
146 writev write data into multiple buffers fs/read_write.c
147 sys_getsid get process group ID of session leader kernel/sys.c
148 fdatasync synchronize a file's in-core data with that on disk fs/buffer.c
149 sysctl read/write system parameters kernel/sysctl.c
150 mlock lock pages in memory mm/mlock.c
151 munlock unlock pages in memory mm/mlock.c
152 mlockall disable paging for calling process mm/mlock.c
153 munlockall reenable paging for calling process mm/mlock.c
154 sched_setparam set scheduling parameters kernel/sched.c
155 sched_getparam get scheduling parameters kernel/sched.c
156 sched_setscheduler set scheduling algorithm parameters kernel/sched.c
157 sched_getscheduler get scheduling algorithm parameters kernel/sched.c
158 sched_yield yield the processor kernel/sched.c
159 sched_get_priority_max get max static priority range kernel/sched.c
160 sched_get_priority_min get min static priority range kernel/sched.c
161 sched_rr_get_interval get the SCHED_RR interval for the named process kernel/sched.c
162 nanosleep pause execution for a specified time (nano seconds) kernel/sched.c
163 mremap re-map a virtual memory address mm/mremap.c
164 setresuid set real, effective and saved user or group ID kernel/sys.c
165 getresuid get real, effective and saved user or group ID kernel/sys.c
166 vm86 enter virtual 8086 mode arch/i386/kernel/vm86.c
167 query_module query the kernel for various bits pertain ing to modules kernel/module.c
168 poll wait for some event on a file descriptor fs/select.c
169 nfsservctl syscall interface to kernel nfs daemon fs/filesystems.c
170 setresgid set real, effective and saved user or group ID kernel/sys.c
171 getresgid get real, effective and saved user or group ID kernel/sys.c
172 prctl operations on a process kernel/sys.c
173 rt_sigreturn arch/i386/kernel/signal.c
174 rt_sigaction kernel/signal.c
175 rt_sigprocmask kernel/signal.c
176 rt_sigpending kernel/signal.c
177 rt_sigtimedwait kernel/signal.c
178 rt_sigqueueinfo kernel/signal.c
179 rt_sigsuspend arch/i386/kernel/signal.c
180 pread read from a file descriptor at a given offset fs/read_write.c
181 sys_pwrite write to a file descriptor at a given offset fs/read_write.c
182 chown change ownership of a file fs/open.c
183 getcwd Get current working directory fs/dcache.c
184 capget get process capabilities kernel/capability.c
185 capset set process capabilities kernel/capability.c
186 sigaltstack set/get signal stack context arch/i386/kernel/signal.c
187 sendfile transfer data between file descriptors mm/filemap.c
188 getpmsg (unimplemented)
189 putpmsg (unimplemented)
190 vfork create a child process and block parent arch/i386/kernel/process.c
Синопсис
arch/i386/kernel/sys_i386.c
int sys_pipe(unsigned long * fildes)
int sys_ipc (uint call, int first, int second, int third, void *ptr, long fifth)
int sys_uname(struct old_utsname * name)
int sys_olduname(struct oldold_utsname * name)
int sys_pause(void)
int old_mmap(struct mmap_arg_struct *arg)
arch/i386/kernel/ioport.c
int sys_ioperm(unsigned long from, unsigned long num, int turn_on)
int sys_iopl(unsigned long unused)
arch/i386/kernel/process.c
int sys_idle(void)
int sys_fork(struct pt_regs regs)
int sys_clone(struct pt_regs regs)
int sys_vfork(struct pt_regs regs)
int sys_execve(struct pt_regs regs)
arch/i386/kernel/vm86.c
int sys_vm86old(struct vm86_struct * v86)
int sys_vm86(unsigned long subfunction, struct vm86plus_struct * v86)
arch/i386/kernel/ptrace.c
int sys_ptrace(long request, long pid, long addr, long data)
arch/i386/kernel/signal.c
int sys_sigsuspend(int history0, int history1, old_sigset_t mask)
int sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize)
int sys_sigaction(int sig, const struct old_sigaction *act, struct old_sigaction *oact)
int sys_sigaltstack(const stack_t *uss, stack_t *uoss)
int sys_sigreturn(unsigned long __unused)
int sys_rt_sigreturn(unsigned long __unused)
arch/i386/kernel/ldt.c
int sys_modify_ldt(int func, void *ptr, unsigned long bytecount)
fs/
fs/stat.c
int sys_stat(char * filename, struct __old_kernel_stat * statbuf)
int sys_newstat(char * filename, struct stat * statbuf)
int sys_lstat(char * filename, struct __old_kernel_stat * statbuf)
int sys_newlstat(char * filename, struct stat * statbuf)
int sys_fstat(unsigned int fd, struct __old_kernel_stat * statbuf)
int sys_newfstat(unsigned int fd, struct stat * statbuf)
int sys_readlink(const char * path, char * buf, int bufsiz)
fs/read_write.c
off_t sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
int sys_llseek(unsigned int fd, unsigned long offset_high, unsigned long offset_low, loff_t * result, unsigned int origin)
ssize_t sys_read(unsigned int fd, char * buf, size_t count)
ssize_t sys_write(unsigned int fd, const char * buf, size_t count)
ssize_t sys_readv(unsigned long fd, const struct iovec * vector, unsigned long count)
ssize_t sys_writev(unsigned long fd, const struct iovec * vector, unsigned long count)
ssize_t sys_pread(unsigned int fd, char * buf, size_t count, loff_t pos)
ssize_t sys_pwrite(unsigned int fd, const char * buf, size_t count, loff_t pos)
fs/buffer.c
int sys_sync(void)
int sys_fsync(unsigned int fd)
int sys_fdatasync(unsigned int fd)
int sys_bdflush(int func, long data)
fs/open.c
int sys_statfs(const char * path, struct statfs * buf)
int sys_fstatfs(unsigned int fd, struct statfs * buf)
int sys_truncate(const char * path, unsigned long length)
int sys_ftruncate(unsigned int fd, unsigned long length)
int sys_utime(char * filename, struct utimbuf * times)
int sys_utimes(char * filename, struct timeval * utimes)
int sys_access(const char * filename, int mode)
int sys_chdir(const char * filename)
int sys_fchdir(unsigned int fd)
int sys_chroot(const char * filename)
int sys_fchmod(unsigned int fd, mode_t mode)
int sys_chmod(const char * filename, mode_t mode)
int sys_chown(const char * filename, uid_t user, gid_t group)
int sys_lchown(const char * filename, uid_t user, gid_t group)
int sys_fchown(unsigned int fd, uid_t user, gid_t group)
int sys_open(const char * filename, int flags, int mode)
int sys_creat(const char * pathname, int mode)
int sys_close(unsigned int fd)
int sys_vhangup(void)
fs/exec.c
int sys_uselib(const char * library)
fs/super.c
int sys_sysfs(int option, unsigned long arg1, unsigned long arg2)
int sys_ustat(dev_t dev, struct ustat * ubuf)
int sys_umount(char * name, int flags)
int sys_oldumount(char * name