PROSES I/O


Sebuah proses memerlukan Input dan Output.

Instruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang selanjutnya disebut proses. Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity). Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output.
Dalam konteks Linux input/output 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)

Linux tidak membedakan antara peralatan hardware dan file. Linux memanipulasi peralatan hardware sama dengan file (everything is file).
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 input
1> atau > pengganti standard output
2> pengganti standar error
PIPA (PIPELINE)
Mekanisme pipa digunakan sebagai alat komunikasi antar proses.
Input ⇒ Proses1 ⇒ Output = Input ⇒ Proses2 ⇒ Output
Proses 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 “|”.
Proses1 | Proses2
FILTER
Filter adalah utilitas Linux yang dapat memproses standard input (dari 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 dan 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.

contoh

File descriptor:
1. Output ke layar (standar output), input dari system (kernel)
$ ps
PID TTY          TIME CMD
3335 pts/1    00:00:00 bash
3409 pts/1    00:00:00 ps
2. Output ke layar (standar output), input dari keyboard (standard input)
$ cat
halo
halo
berbagiubuntu
berbagiubuntu
[Ctrl-d]
3. Input dari keyboard dan output ke alamat internet
$ mail alamat@email
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 myfile.txt
4. Notasi 2>&1 : pembelokan standar error (2>) adalah identik dengan file descriptor 1.
$ find /var/spool/cron –print (Terdapat pesan error)
$ find /var/spool/cron –print 2> out.txt
$ cat out.txt
5. Notasi 1>&2 (atau >&2) : pembelokan standar output adalah sama dengan file descriptor 2 yaitu standar error
$ find /var/spool/cron –print 2> outx.txt 1>&2

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 dair keyboard dan menampilkan file2. Perhatikan bahwa notasi “-“ berarti menyelipkan input dari keyboard
$ cat myfile.txt – surat
Pipa (pipeline)
who
who | sort
who | sort –r
who > tmp
sort tmp
rm tmp
ls –l /etc | more
ls –l /etc | sort | more

Filter
$ w –h | grep PM
$ grep st /etc/passwd
$ ls /etc | wc –l
$ cat > kelas1.txt

Iklan
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: