Showing posts with label Sistem Operasi. Show all posts
Showing posts with label Sistem Operasi. Show all posts

06 October 2009

Kill Process (Penghentian Proses)

Sistem kill memanggil user dan user memproses sinyal pengiriman. Jika sebuah proses disiapkan untuk menangkap sinyal yang dimaksud, maka ketika sinyal itu datang, penangkap sinyal meulai berjalan. Jika proses tidak disiapkan untuk menangkap sebuah sinyal, maka ketika sinyal itu datang, sinyal itu membunuh proses.

Windows :
Pembentukan proses dimulai dengan adanya permintaan untuk sebuah proses baru dari sebuah aplikasi. Aplikasi memberikan perintah untuk membuat proses ke corresponding protected sub system, yang melampaui permintaan untuk eksekusi Windows. Eksekusi membuat sebuah objek proses dan mengembalikan handle ke object itu sendiri ke subsistem. Ketika Windows menciptakan sebuah proses, tidak secara otomatis membuat thread. Dalam kasus Win32, proses baru selalu dibuat dengan thread. Walau begitu, untuk sistem operasi ini, subsistem memanggil manajer proses Windows lagi untuk menciptakan thread untuk proses yang baru, menerima thread kembali dari Windows.Thread yang sesuai dan proses informasi kemudian kembali ke aplikasi. Dalam kasus 16-bit Windows dan POSIX, thread tidak mensuport. Meski begitu,untuk sistem operasi ini, subsistem memperoleh thread untuk proses baru dari Windows sehingga proses dapat diaktifkan kembali tetapi hanya untuk memproses informasi ke aplikasi. Kenyataannya adalah bahwa proses aplikasi yang diimplementasikan dengan menggunakan thread tidak visible / terlihat ke aplikasi.

Linux :
Sistem UNIX tradisional mendukung eksekusi thread tunggal per proses, sedangkan sistem UNIX modern biasanya menyediakan dukungan untuk beberapa kernel-level thread per process. Dengan sistem UNIX tradisional, versi lama dari kernel Linux tidak menawarkan dukungan untuk multithreading. Sebaliknya, aplikasi akan harus ditulis dengan satu set user-level fungsi library, yang paling populer yang isWhen kernel Linux melakukan sebuah proses beralih dari satu ke yang lain, itu memeriksa apakah alamat direktori halaman proses saat ini adalah sama dengan yang dari proses yang seharusnya telah dijadwalkan. Jika iya, maka mereka berbagi ruang alamat yang sama, sehingga konteks beralih pada dasarnya hanya melompat dari satu lokasi kode ke lokasi kode lainnya.
Meskipun proses kloning yang merupakan bagian dari kelompok proses yang sama dapat berbagi ruang memori yang sama, mereka tidak dapat berbagi tumpukan pengguna yang sama. Jadi clone() call menciptakan ruang stack terpisah untuk setiap proses.

05 October 2009

Pemrograman Shell

1. Apa itu Shell?

Shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi).

2. Jelaskan fungsi dari shell?

a. Menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah ekskusi suatu file program (eksternal command)

b. Memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.

3. Sebutkan dan jelaskan empat shell yang terkenal di sistem UNIX!

a. Bourne shell (sh)

adalah jenis shell yang tertua pada system UNIX. Nama shell ini berdasarkan nama penciptanya Stephen R. Bourne, dari Laboratorium Bell, AT&T. Shell ini diperkenalkan pertama kali pada akhir 70-an dan dipakai sebagai shell utama pada UNIX yang berpatokan pada AT&T.

b. C shell (csh)
adalah shell yang menjadi standar pada system UNIX versi Barkeley. Format perintah menyerupai bahasa C. Kini muncul versi pengembangannya yang disebut tesh.

c. Korn shell (ksh)
adalah shell yang diciptakan oleh David Korn di Laboratorium Bell, AT & T pada tahun 1983. Namun shell ini baru dipublikasikan pada tahun 1986. Shell ini bersifat kompatible dengan Bourne shell, artinya perintah-perintah yang didukung Bourne shell juga dapat dijalankan pada Korn shell. Di lingkungan LINUX terdapat versi Korn shell yang disebut Public Domain Korn Shell (pdksh).

d. Bourne again shell (bash)
adalah Shell yang digunakan dalam Unix dan klonenya seperti Linux. Bash merupakan shell yang digunakan sebagai default shell oleh RedHat Linux. Hal ini ditandai dengan simbolik link dalam directory sh yang digunakan untuk menjalankan bash shell. Shell ini dibuat dengan menyertakan fitur yang terdapat pada Korn Shell dan C Shell dan tentu saja bersifat kompatible dengan Bourne shell.


4. Apa yang dimaksud dengan Shell Programming?
Shell Programming adalah menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya.

5. Sebutkan macam-macam perintah di Linux, jelaskan dan beri contoh penggunaannya (minimal 20)!

a. cd
adalah Change directory. Menggunakan "cd" tanpa nama direktori akan menghantarkan anda ke home direktor. Dan "cd -" akan menghantarkan anda ke direktori sebelumnya.
contoh penggunaan :
cd

b. pwd
adalah Melihat direktori kerja saat ini (print working directory).
contoh penggunaan :
pwd

c. ls
adalah perintah yang berfungsi untuk melihat isi file dari direktori aktif. Pada linux perintah "dir" hanya berupa alias dari perintah "ls". Untuk perintah "ls" sendiri sering dibuatkan alias "ls --color", agar pada waktu di "ls" ditampilkan warna-warna sesuai dengan file-filenya, biasanya hijau untuk execute, dsb.
contoh penggunaan :
ls homefile

d. mkdir directory
adalah Membuat direktori baru.
contoh penggunaan :
mkdir /home/sleepholic/Desktop/folderbaru
Ini berarti anda telah membuat folder baru di desktop dengan nama folderbaru

e. rmdir directory
adalah Menghapus direktori yang telah kosong. Hanya bisa dilakukan untuk folder yang kosong.
contoh penggunaan :
rmdir /home/sleepholic/Desktop/folderbaru .
Ini berarti anda menghapus folderbaru di Desktop

f. mv source destination
adalah untuk memindahkan atau mengganti nama file.
contoh penggunaan :
• Memindahkan file
mv /opt/lampp/htdocs/joomla.zip /home/sleepholic/Desktop
• Mengganti nama file  mv namaLama namaBaru
mv Joomla.zip Project.zip

g. cp source destination
adalah mengcopy suatu file.
contoh penggunaan :
cp /home/sleepholic/Desktop/Joomla.zip /opt/lampp/htdocs/
Ini berarti, mengcopyfile Joomla.zip yang ada di desktop ke folder htdocs di lamp.

h. rm files
adalah Menghapus file.
contoh penggunaan :
rm Joomla.zip

i. rm –r files
adalah Recursive Remove, Menghapus file, direktori dan subdirektorinya. Tidak perduli apakah direktori/folder tersebut ada isnya atau tidak. apapun isinya akan terhapus. Hati-hati menggunakan perintah ini apabila anda login sebagai root, karena root dengan mudah dapat menghapus seluruh file pada sistem dengan perintah di atas, tidak ada perintah untuk undelete di Linux (belum)
contoh penggunaan :
rm –r file4

j. clear
adalah untuk membersihkan layar.
contoh penggunaan :
clear

k. cat files
adalah melihat isi file
contoh penggunaan :
cat file6

l. tail
adalah Perintah ini berlawanan dengan perintah cut, tail mendefinisikan sebuah data pada file menurut barisnya. Sedikit perbedaan adalah pada tail secara default ditampilkan 10 baris terakhir dari isi file.
contoh penggunaan :
tail file9

m. chmod
adalah mengubah eksistensi file
contoh penggunaan :
chmod 557 file2

n. ps
adalah untuk melihat setiap proses yang dijalankan di dalam mesin beserta nomor prosesnya.
contoh penggunaan :
ps [option]

o. kill
adalah untuk mengirimkan signal ke suatu proses. Sehingga bisa memerintahkan apakah suatu proses ditunda, dihentikan atau dilanjutkan. Tetapi paling sering digunakan untuk mematikan proses yang sedang berjalan.
contoh penggunaan :
kill

p. locate
adalah untuk mengetahui dimana letaknya sebuah file atau directori. Fungsinya kurang lebih sama dengan find, bedanya locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb ) yang dapat di update menggunakan perintah updatedb.
contoh penggunaan :
locate file

q. grep
adalah untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu ketimbang harus membaca satu persatu
contoh penggunaan :
grep uji

r. find
adalah mencari file atau directory
contoh penggunaan :
find file1

s. mount
adalah Setiap device dalam linux agar dapat diakses harus terlebih dahulu di-mount atau dikaitkan.
contoh penggunaan :
mount /dev/hda1 /mnt/disk

t. more
adalah untuk menampilkan sesuatu layar per layar. tambahkan perintah more dibelakang.
contoh penggunaan :
cp --help |more
Maka help dari cp akan ditampilkan layar-per-layar

u. ls -al
adalah untuk melihat seluruh isi file pada direktori aktif beserta file hidden + attribute/permission filenya , lalu ditampilkan layar perlayar.
contoh penggunaan :
ls -al

6. Sebutkan, jelaskan dan beri contoh (berupa shell script) penggunaan macam-macam syntax pada Bash Shell yang digunakan dalam membuat suatu Bash shell script yang melingkupi :

- Percabangan menggunakan if dan case

a. Percabangan dengan if

#!/bin/bash

#pr1

echo "Masukkan pilihan : ";

read negara;

if [ $negara == "Indonesia" ]; then

echo "Jakarta";

elif [ $negara == "Malaysia" ]; then

echo "Kuala Lumpur";

fi

echo : menuliskan dalam layar
read : membaca data yang dimasukkan
fi : end dari if

b. Percabangan dengan case
#!/bin/bash

clear
echo -n "Masukkan nama binatang :";
read binatang;

case $binatang in
pinguin | ayam | burung ) echo "$binatang berkaki 2"
break
;;
onta | kuda | anjing ) echo "$binatang berkaki 4"
break
;;
*) echo "$binatang blom didaftarkan"
break
;;
esac

- Perulangan menggunakan for dan while

a. Perulangan for

#!/bin/bash

for angka in 1 2 3 4 5;
do
echo "angka=$angka";
done

b. Perulangan While
#!/bin/bash

i=1;
while [ $i -le 10 ];
do
echo "$i,";
let i=$i+2;
done