Saturday 29 June 2013

Menguasai operasi Input dan Ouput (SO)

PROSES I/O
 
Sebuah proses memerlukan Input dan Output.
proses dengan memberikan nomor PID (Process Identity).
Dalam konteks Linux input/o utput adalah :
  • Keyboard (input)
  •  Layar (output) 
  • Files
  • Struktur data kernel 
  • Peralatan I/O lainnya (misalnya Network) 
FILE DESCRIPTOR
Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan
melalui angka yang dimulai dari 0, 1, 2 dan seterusnya.
Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :

0= keyboard (standar input)
1 = layar (standar output)
 2 = layar (standar error)

PEMBELOKAN (REDIRECTION)
Pembelokan
dilakukan untuk standard input, output dan error, yaitu untuk
mengalihkan file descriptor dari 0, 1 dan 2.
Simbol untuk pembelokan adalah :
0<
atau
<
pengganti standard inp ut
1>
atau
>
pengganti standard output
2>


PIPA (PIPELINE)

Mekanisme pipa digunakan sebagai alat komunikasi antar proses.
Input  Proses1  Output = Input  Proses2  Output
Proses1
|Proses2

FILTER
Filter adalah utilitas Linux yang dapatmemprosesstandardinput(dariProses 1 menghasilkan output yang selanjutnya digunakan sebagai input oleh Proses 2. Hubungan output input ini dinamakan pipa, yang menghubngkan Proses 1 dengan Proses2 dan dinyatakan dengan symbol “|”.
(keyboard) dan menampilkan hasilnya pada standard output (layar). Contoh filter adalah cat, sort, grep, pr, head, tail, paste dan lainnya.

Pada sebuah rangkaian pipa :
P1 | P2 | P3 ……. | Pn-1 | Pn
Maka P2 sampai dengan Pn-1 mutlak harus utilitas Linux yang berfungsi sebagai filter. P1 (awal) dan Pn (terakhir) boleh tidak filter. Utilitas yang bukan filter misalnya who, ls, ps, lp, lpr, mail dan lainnya.
Beberapa perintah Linux yang digunakan untuk proses penyaringan antara lain :Perintah grep
Digunakan untuk menyaring masukannya da n menampilkan baris-baris yang hanya mengandung pola yang ditentukan. Pola ini disebut regular expression.
  •  Perintah wc : Digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanya. Untuk mengetahui berapa baris gunakan option – l, untuk mengetahui berapa kata, gunakan option –w dan untuk mengetahui berapa karakter, gunakan option –c. Jika salah satu option tidak digunakan, maka tampilannya adalah jumlah baris, jumlah kata dan jumlah karakter. 
  • Perintah sort : Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.
  • Perintah cut : Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada option –c. 
  •  Perintah uniq : Digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort.
Perhatikan percobaab berikut ini.
File descriptor
1. Output ke layar (standar output), input dari system (kernel)
$ ps

2. Output ke layar (standar output), input dari keyboard (standard input)

$ cat
hallo, 

apa khabar hallo,
 apa khabar exit dengan ^d exit dengan ^d
[Ctrl-d]


3. Input dari keyboard dan output ke alamat internet
$ mail bejo@gmail.com
contoh surat yang langsung
dibuat pada standard input (keyboard) [Ctrl-d]


4. Input nama direktori, output tidak ada (membuat direktori baru), bila terjadi error maka tampilan error pada layar (standard error)
$ mkdir mydir
$ mkdir mydir (Terdapat pesan error)

Pembelokan (redirection)

1. Pembelokan standar output
$ cat 1> myfile.txt
 

Ini adalah teks yang saya simpan Ke file myfile.txt

2. Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari file
$ cat 0< myfile.txt $ cat myfile.txt
3. Pembelokan standar error untuk disimpan di file
$ mkdir mydir (Terdapat pesan error)
$ mkdir mydir 2> myerror.txt
$ cat myerror.txt


4. Notasi 2>&1 : pembelokan standar error (2>) adalah identik dengan file descriptor 1.
$ ls filebaru
(Terdapat pesan error)
$ ls
filebaru 2> out.txt
$ cat out.txt
$
ls
filebaru 2> out.txt 2>&1
$
cat out.txt


5. Notasi 1>&2 (atau >&2) : pembelokan standar output adalah sama dengan file descriptor 2 yaitu standar error
$ echo “mencoba menulis file” 1> baru $ cat filebaru 2> baru 1>&2
$ cat baru


6. Notasi >> (append)
$ echo “kata pertama” > surat
$ echo “kata kedua” >> surat $ echo “kata ketiga” >> surat
$ cat surat
$ echo “kata keempat” > surat $ cat surat


7. Notasi here document (<<++ …. ++) digunakan sebagai pembatas input dari keyboard. Perhatikan bahwa tanda pembatas dapat digantikan dengan tanda apa saja, namun harus sama dan tanda penutup harus diberikan pada awal baris
$ cat <<++
Hallo, apa kabar ? Baik-baik saja ? Ok!
++
$ cat <<%%% Hallo, apa kabar ? Baik-baik saja ? Ok!
%%%


8. Notasi – (input keyboard) adalah representan input dari keyboard. Artinya menampilkan file 1, kemudian menampilkan input dari keyboard dan
menampilkan file 2. Perhatikan bahwa notasi “-“ berarti menyelipkan input dari
keyboard
$ cat myfile.txt – surat

9. Untuk membelokkan standart output ke file, digunakan operator >
$ echo hello
$ echo hello > output
$ cat output


10. Untuk menambahkan output ke file digunakan operator >>
$ echo bye >> output
$ cat output


11. Untuk membelokkan standart input digunakan operator <
$ cat < output

12. Pembelokan standart input dan standart output dapat dikombinasikan tetapi tidak
boleh menggunakan nama file yang sama sebagai standart input dan output.

$ cat < output > out
$ cat out
$ cat < output >> out
$ cat out
$ cat < output > output
$ cat output
(Proses tidak berhenti)
$ cat < out >> out
[Ctrl-c]
$ cat out


Pipa (pipeline)
1.
Operator pipa (|) digunakan untuk membuat eksekusi proses dengan melewati
data langsung ke data lainnya.
$ who
$ who | sort
$ who | sort -r
$ who > tmp
$ sort tmp $ rm tmp
$ ls –l /etc | more
$ ls –l /etc | sort | more


Filter

2. Pipa juga digunakan untuk mengkombinasikan utilitas sistem untuk membentuk fungsi yang lebih kompleks

$ w –h | grep <user>
$ grep <user> /etc/passwd
$ ls /etc | wc
$ ls /etc | wc –l
$ cat > kelas1.txt Badu
Zulkifli
Yulizir

No comments:

Post a Comment