Selasa, 31 Maret 2009

tugas pak yoga

Tugas Program Balik Kata :

Syntax Program:


#include

main( )

{

char kata[100];

int i,j,jumlah;

puts("Masukkan kata atau kalimat : ");gets(kata);

jumlah=0;

for(i=0;kata[i];i++)

{

jumlah=jumlah++;

}

printf("\n");

printf("Jika dibalik menjadi\n");

for(j=jumlah-1;j>=0;j--)

{

printf("%c",kata[j]);

}

}



Senin, 23 Maret 2009

Sistem Operasi Linux dan Windows

Tugas Pertemuan 3 (1)
  • Pelajari sistem operasi Linux dan Windows (studi literatur)
  • Deskripsikan proses pada kedua SO tersebut
  • Bagaimana proses pembuatan & penghentian proses? (termasuk switching-nya)

Proses pada windows dan linux

Proses merupakan konsep pokok pada sistem operasi, karena salah satu tugas utama sistem operasi adalah bagaimana mengatur proses – proses yang berjalan di sistem. Sebenarnya apakah Proses itu?

Berikut beberapa definisi proses pada sistem operasi adalah :

1. Program yang sedang dalam keadaan dieksekusi.

2. Unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh system operasi.

Sistem operasi mengolah seluruh proses yang ada di sistem dan bertugas mengalokasikan sumber daya sumber daya ke proses yang membutuhkan sesuai dengan kebijaksanaan tertentu. Sumber daya yang dibutuhkan proses diantaranya CPU, memori, file serta I/O device.

Keadaan Proses

Proses – proses yang dikelola oleh sistem operasi akan melalui serangkaian keadaan yang merupakan bagian dari aktivitasnya. Keadaan proses ini disebut sebagai status proses yang terdiri dari:

Status New yaitu status dimana proses sedang dibuat.

Status Ready yaitu status dimana proses siap dieksekusi tetapi CPU mengerjakan proses lain.

Status Waiting yaitu status dimana proses sedang menunggu suatu kejadian menunggu operasi I/O selesai, menunggu signal dari proses lain, tersedianya

Status Running yaitu status dimana proses dieksekusi. Pada status ini instruksi – instruksi pada proses.

Status Terminated yaitu status dimana proses diakhiri. Kelima status proses tersebut dapat digambarkan pada diagram berikut:


Sebuah proses menjadi Waiting karena proses tersebut menunggu suatu kejadian tertentu seperti selesainya operasi I/O, misalnya perekaman data ke disk karena pada saat perekaman dilakukan proses sedang tidak menggunakan CPU maka scheduler segera mengalokasikan CPU ke proses lain yang telah Ready. Apabila kejadian yang ditunggu telah selesai maka proses dipindahkan kembali ke antrian Ready dan siap dijadwalkan.

- Sebuah proses dari keadaan Running dapat menjadi Ready kembali karena diinterupsi oleh proses lain. Interupsi dapat disebabkan karena jatah waktu yang diberikan CPU ke proses tersebut telah habis sementara proses masih memerlukan sejumlah waktu untuk selesai. Jatah waktu yang diberikan sering disebut sebagai quantum time (time slice) yang dapat berkisar antara 1 hingga 100 milidetik. Interupsi suatu proses terkait erat dengan strategi penjadwalan proses yang digunakan sistem operasi yaitu strategi preemptive dimana suatu proses dapat saja disela oleh proses lain pada saat Running.

- Sebuah proses menjadi Terminated disebabkan oleh beberapa hal diantaranya:

1. Proses memang sudah sele sai mengerjakan tugasnya, sehingga diakhiri secara normal

2. Melewati batas waktu yang telah diberikan.New Ready Running Terminated Waiting

3. Terjadi kesalahan perhitungan misalnya mengerjakan instruksi pembagian dengan nol (division by zero) , atau menyimpan angka yang lebih besar daripada yang dapat diakomodasi oleh perangkat keras.

4. Terjadi kegagalan I/O seperti kegagalan pembacaan dan penulisan file.

5. Proses induknya berakhir, pada kasus ini suatu proses dibuat oleh proses lain, proses pembuat disebut sebagai parent, sedangkan proses yang dibuat disebut sebagai child . Sistem dirancang untuk mengakhiri secara otomatis proses – proses childnya bila proses parent berakhir.

6. Proses child diakhiri atas permintaan proses parentnya. Pada kasus ini parent mengirim signal tertentu untuk mengakhiri childnya misalnya mengirim signal SIGQUIT, SIGKILL atau SIGTERM.

Proses pembuatan & penghentian proses? (termasuk switching-nya) pada so Windows

Pembuatan Proses:

– Memberikan suatu pengenal proses unik

– Mengalokasikan ruang bagi proses tersebut

– Menginisialisasi process control block

– Men-setup linkage yang tepat

– Membuat dan meng-expand struktur data lain

Proses Switching :

process switching muncul terkait adanya Event yang memicu terjadinya process switch yang mebedakan antara swithing modus dan proses sehingga apa saja yang harus dilakukan SO terhadap berbagai struktur data di bawah kontrolnya untuk mencapai suatu process switch.

Suatu process switch dapat terjadi kapapun SO memperoleh kontrol dari proses yang sedang (currently) berjalan. Event yang mungkin memberikan SO kontrol adalah

Langkah-langkah dalam process switch:

1. Simpan context dari processor termasuk program counter (PC) & register lain

2. Update process control block (PCB) dari proses yang saat terkini dalam status Running

3. Pindahkan PCB ke antrian yang tepat ready; blocked; ready/suspend

4. Pilih proses lain untuk dieksekusi

5. Update PCB dari proses terpilih

6. Update struktur data memory management

7. Restore (kembalikan) context dari proses terpilih

Proses pembuatan & penghentian proses? (termasuk switching-nya) pada so Linux

Proses dalam Linux merupakan sekumpulan struktur data yang menyediakan SO dengan semua informasi yang diperlukan untuk mengelola & mendispatch proses.Pembuatan proses dilakukan oleh system call kernel bernama fork( ).

Ini menyebabkan SO, dalam modus kernel, untuk:

1. Mengalokasi suatu slot dalam tabel proses untuk proses baru tersebut.

2. Memberikan suatu process-ID unik untuk proses anak.

3. Menyalin process image dari proses induk,dengan pengecualian suatu shared memory.

4. Naikkan counter terhadap file yang dimiliki oleh induk (parent) untuk mencerminkan bahwa suatu proses tambahan sekarang juga memiliki file-file tersebut.

5. Lewatkan proses anak dari status Ready ke Run.

6. Kembalikan nomor ID dari anak ke proses induk, dan nilai 0 ke proses anak.

Setelah membuat proses, Kernel dapat melakukan salah satu berikut, sebagai bagian dari rutin dispatcher:

– Tetap pada proses induk.

– Mentransfer kontrol ke proses anak

Mentransfer kontrol ke proses yang lain

Proses Switching :

process switching muncul terkait adanya Event yang memicu terjadinya process switch yang membedakan antara swithing modus dan proses sehingga apa saja yang harus dilakukan SO terhadap berbagai struktur data di bawah kontrolnya untuk mencapai suatu process switch.


Gunakan Shell Linux, jelaskan fungsi & cara menggunakan perintah (plus contoh):

-Top

Perintah top digunakan untuk menampilkan proses pada CPU.Perintah ini untuk menampilkan proses yang sedang berjalan secara realtime (kontinue) dan bisa digunakan untuk menampilkan proses dan penggunaan resource yang paling aktif. Contohnya :

- Grep

Perintah grep digunakan untuk menyaring masukanya dan menampilkan baris-baris yang hanya mengandung pola yang Anda tentukan. Pola ini disebut reguler expression dan Perintah grep digunakan untuk menampilkan string yang sesuai dengan input yang berasal dari perintah lainnya.Contoh :

- cat

Perintah cat digunakan untuk menampilkan isi berkas.cat juga dapat digunakan untuk menulis isi sebuah file teks Contoh :


Tugas Pertemuan 3 ( 2 )

Alasan pembuatan & penghentian suatu proses

Alasan Pembuatan : tanpa adanya proses sebuah sistem operasi tidak dapat berjalan sebagaimana mestinya,karena tugas dari so adalah mengatur eksekusi,dimana sebuah eksekusi itu berjalan karena adanya manajemen proses.definisi dari proses itu sendiri adalah unit aktifitas yang dicirikan oleh eksekusi serangkaian instruksi, current state (status terkini) & himpunan instruksi sistem terkait (associated).

Alasan penghentian suatu proses : masih banyak aplikasi yang membutuhkan sumber daya sehingga Processor di-switch antar banyak aplikasi sehingga perangkat I/O dapat digunakan secara efisien dan juga menghindari komputer mengambang ( hang ).

Ø Jelaskan tentang model proses lima status beserta kemungkinan transisinya!

Model proses lima status adalah model alur proses kerja dengan menggunakan lima pos atau lima pengaturan jalan proses sehingga alur dan penjadwalan proses dapat terkontrol.

  • proses baru akan masuk lewat pos New
  • kemudian masuk pada pos Ready untuk antri giliran panggilan proses oleh Dispatch
  • setelah dipanggil Dispatch akan diproses pasa pos Running
  • bila waktu giliran habis namun proses belum selesai maka proses akan menuju pos Blocked untuk menunggu giliran masuk pos Ready untuk menyelesaikan sisa proses
  • bila proses selesai sebelum waktu giliran habis maka proses akan keluar melalui pos exit dan akan diganti proses berikutnya

Jelaskan tentang model proses dua status suspended beserta kemungkinan transisinya!

Model proses pada status dua suspended merupakan model proses yang mengakibatkan processor lebih cepat daripada I/O sehingga semua proses dapat menunggu I/O.Swap proses sedemikian ke disk untuk membebaskan lebih banyak memory & menugaskan processor pada lebih banyak proses.Dimana Status Blocked berubah menjadi Suspend ketika proses dialihkan ke disk.

kemungkinan transisinya:

· Swapping : SO harus membebaskan cukup main memory agar suatu proses siap eksekusi.

· Request User Interaktif: Misalnya, debugging atau berhubungan dengan

pemanfaatan sumber daya.

· Timing :Proses dapat dieksekusi secara periodik (misal, sistem monitoring sistem atau accounting) & boleh di-suspend selama menunggu waktu berikutnya.

· Request Proses Induk Proses induk berkeinginan men-suspend eksekusi dari suatu turunan untuk menguji atau mengubah proses turunan tersebut atau mengkoordinasikan aktifitas dari berbagai keturunannya.



Jelaskan elemen-elemen dari Process Control Block (PCB)!

Proses Suatu unit aktifitas yang dicirikan oleh eksekusi serangkaian instruksi, current state (status terkini) & himpunan instruksi sistem terkait (associated).

Suatu proses tersusun dari:

– Kode program (mungkin di-share)

– Sekumpulan data

– Sejumlah atribut yang mendeskripsikan status dari proses tersebut.

Selama proses berjalan, Process Control Block (PCB) mempunyai sejumlah elemen, mencakup

– Identifier

– State

– Priority

– Program counter

– Memory pointers

– Context data

– I/O status information

Accounting information

Gambar-element pada PCB

Process Control Block (PCB) Berisi elemen-elemen proses yang dibuat dan dikelola oleh sistem operasi yang memberikan dukungan bagi banyak proses.