DEFINISI SISTEM OPERASI

1.Proses dalam sistem operasi
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:
  1. Status New yaitu status dimana proses sedang dibuat.
  2. Status Ready yaitu status dimana proses siap dieksekusi tetapi CPU mengerjakan proses lain.
  3. Status Waiting yaitu status dimana proses sedang menunggu suatu kejadian menunggu operasi I/O selesai, menunggu signal dari proses lain, tersedianya
  4. Status Running yaitu status dimana proses dieksekusi. Pada status ini instruksi – instruksi pada proses.
  5. 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.

2. Stack adalah salah satu bagian yang digunakan untuk menyimpan data-data atau variabel yang   pengalamatan memorinya telah dilakukan saat kompilasi (alamat pastinya sudah ditentukan dari awal).Heap adalah area memori yang digunakan untuk alokasi secara dinamis. Bagian-bagian memori yang dialokasikan dilakukan secara sembarang (no pattern).

Lalu apa yang sebenarnya benar-benar membedakan heap dengan stack?
Dibandingkan dengan heap, stack terlihat lebih banyak digunakan dalam kaitannya untuk mengalokasikan memori bagi variabel-variabel yang digunakan dalam fungsi. Stack digunakan untuk menyimpan data sementara. Sementara heap diperuntukkan bagi informasi yang menetap dan dialokasikan secara khusus oleh pengguna. Heap digunakan untuk menyimpan data tambahan sesuai permintaan (request data).
Karena memori yang dipakai oleh stack bersifat sementara, maka informasi yang terdapat di alamat stack akan langsung didealokasi secara otomatis ketika scope sebuah program berakhir (udah kadaluarsa, lihat contoh). Sedangkan memori yang dialokasikan pada heap akan tetap bertahan sampai program benar-benar mendealokasikannya.

3. PCB memuat informasi tentang proses, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. 




Thread
Program yang dieksekusi :
1.Proses berat (heavyweight) => proses tradisional
2.Proses ringan (lightweight) => THREAD
Thread terdiri dari ID thread, program counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu
pekerjaan pada waktu yang sama (multithreading). Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Keuntungan penggunaan thread :
1.Tanggap
2.Pemberdayaan resorce
3.Ekonomis
4.Pemberdayaan arsitektur multiprocessor



4. Bounded Buffer adalah suatu struktur data untuk menampung (buffer) suatu nilai dimana kapasitasnya tertentu/terbatas (bounded). Masalah bounded buffer merupakan salah satu masalah yang menerangkan sinkronisasi antara proses-proses yang berjalan secara konkuren untuk mengakses data yang sama. Unbounded-buffer adalah suatu struktur data untuk menampung (buffer) suatu nilai dimana kapasitasnya tertentu/terbatas.



5. Definisi RPC :
RPC (Remote Procedure Call) adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). RPC mengasumsi keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan.




6. Batch adalah sebuah file text yang berisi beberapa seri perintah yang secara segaja untuk di eksekusi oleh command interpreter. atau dapat didefinisikan juga batch merupakan kumpulan perintah-perintah command line yang dapat dijalankan pada Microsoft Windows. System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. System call berupa rutin sistem operasi untuk keperluan tertentu yang spesifik.
             System Call untuk manajemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan. Kita dapat melihat penggunaan system calls untuk manajemen proses pada Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk manajemen proses adalah Fork.

7.  shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.
Perbedaan antara shell dan kernel adalah:
·         Shell adalah program (perintah) yang menjembatani user dan sistem operasi dalam hal ini kernel (inti sistem operasi)
·         Kernel adalah program yang selalu berjalan (sepnjang komputer) yang dipakai oleh pengguna (user)

8. Windows tidak mempunyai shell karena shell hanya terdapat pada linux.
20 perintah shell yang digunakan linux untuk mengelola sistem operasi linux
1. cat merupakan perintah yang digunakan untuk melihat isi file
2. uname -a perintah untuk melihat jenis OS serta versi
3. netstat -tnap perintah untuk melihat koneksi keluar/masuk, atau listen
4. rm -rf perintah untuk menghapus file atau direktori
5. cp perintah untuk mengcopy file
6. mv mengganti nama file atau memindah file
7. echo perintah yang digunakan untuk menampilkan kata yang dituliskan setelahnya
8. w perintah yang digunakan untuk menampilkan user yang sedang login
9. whoami perintah yang digunakan untuk menampilkan user kita sendiri
10. id perintah yang digunakan untuk menampilkan user kita sendiri
11. mkdir perintah yang digunakan untuk membuat direktori baru
12. touch perintah untuk membuat file kosong
13. pwd : menampilkan irektori aktif
14. chown : mengganti kepemilikan file
15. last : menampilkan daftar user-user yang pernah login
16. lwp-download : mengambil suatu data dari suatu situs
17. userdel : menghapus user (root)
18. tar -zxvf : mengekstrak file tgz atau tar.gz
19. su : ganti sebagai user lain
20. chmod adalah nama aplikasi yang digunakan untuk merubah hak akses suatu file atau direktori di system operasi Linux.

9. Mach adalah satuan kecepatan yang umum untuk mengekspresikan kecepatan suatu pesawat terbang relatif terhadap kecepatan suara satuan biasanya ditempatkan sebelum angka pengukurannya seperti mach 1,0 untuk (sistem operasi kernel) pada generasi pertama. Debugging sebuah metode yang dilakukan oleh para pemprogram dan pengembang perangkat lunak untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan.

10. Boostrap Program merupakan sebuah program yang terdapat pada  ROM yang dapat menempatkan kernel, memesukkannya ke dalam memori dan melalui eksekusinya.
Boostrap LOADER adalah yang lebih baik dan sebuah program yang cukup sederhana untuk dipanggil secara manual denagn pertolongan sakelar
Boot Block, adalah area-data khusus dalam chip BIOS yang (jika tidak rusak) akan memungkinkan PC untuk booting jika mendeteksi adanya sebuah media "Bootable DOS" terhubung ke PC. Boot Block ini adalah "write protected", dan tidak bisa terhapus saat proses flashing(yang normal). 







Komentar

Postingan populer dari blog ini

Perbedaan Bounded-Buffer, Readers and Writers, and Dining-Philosophers Problem dalam Konsep Sinkronisasi Sistem Operasi