Apa yang kamu tanya,kamu tahu jawabnyaApa yang kamu cari,ada di depanmuLupakan saja dia, maafkan saja dia Hadapilah hidupmu, terima nasibmu, dia tak cinta kamuJangan diharap lagi, jangan diingat lagiJangan memaksakan dengan dia lagi Coba lihat yang lain, ada cinta yang lainAda yang diam-diam mencintaimu
Sejauhmu berlari hanya satu pilihanBeri kesempatan dirimu rasakan bahagia
Assalamu'alaikum wr.wb Nah disini saya akan berbagi ilmu tentang mata kuliah Pengantar Sistem Operasi, mulai dari definisi proses sampai perbedaan dan macam-macam boostrap. Selamat membaca :) A. Proses dalam Sistem Operasi Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses. Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi. Pengelolaan Proses Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses.
B. Stack dan Heap Stack merupakan sebuah memori yang berukuran tetap yang menyimpan variabel local dalam sebuah fungsi atau method. Jadi, jika sebuah fungsi atau prosedur dipanggil maka variabel-variabel local yang dipakai dalam fungsi/prosedur itu akan disimpan di dalam stack dan akan dihapus pada saat fungsi tersebut selesai melaksanakan tugasnya.
Heap adalah sebuah memori yang berukuran dinamis, memori ini menyimpan data berupa variabel/objek-objek yang bersifat global pada suatu aplikasi. Artinya, memori ini dapat dialokasikan kapan saja saat sebuah aplikasi dijalankan.
1. Perbedaan Stack dan Heap :
a). Stack merupakan bagian memori yang dialokasikan pada thread dijalankan, sedangkan Heap merupakan bagian memori yang dialokasikan pada saat OS pertama kali dijalankan
b)Alokasi memori stack bersifat fixed-size
atau berukuran tetap sedangkan heap bersifat dinamis.
c). Stack menyimpan data yang bersifat
sementara, misalnya variabel local yang ada dalam suatu fungsi atau method,
sedangkan Heap menyimpan data berupa variabel-variabel atau objek yang bersifat
global pada sebuah aplikasi tertentu.
C. Pengertian dan Perbedaan Process Control Block dan Thread PCB ialah proses yang dilakukan oleh sistem
operasi untuk mempresentasikan tiap-tiap proses yang ada, juga disebut sebuah
control block. PCB berisikan banyak bagian dari informasi yang berhubungan
dengan sebuah proses yang spesifik, termasuk : Status process, Program counter,
CPU Register, Informasi manajemen memori, Informasi pencatatan, dan Informasi
status I/O.
Thread adalah unit dasar dari utilitas CPU. Dimana unit-unit dasarnya saling berbagi denganthread lain dalam proses yang sama
Sedangkan Perbedaan Process Control Block dan Thread,Process Control Block (PCB) adalah penggambaran proses
dalam sistem operasi, Sementara Thread adalah sesuatu yang dieksekusi oleh
proses itu sendiri.
D. Unbounded Buffer dengan Bounded Buffer
Buffer adalah penyimpanan, Buffer sendiri ada dua macam. yaitu Unbounded Buffer dan Bounded Buffer. Unbounded buffer adalah buffer yang
berkapasitas tidak terbatas atau unlimited, sedangkan Bounded buffer adalah
buffer yang berkapasitas terbatas atau berukuran tetap.
E. Remote Procedure Calls
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.
F. Batch
Apa itu batch? Batch adalah sejumlah record atau data yang digabungkan
dan diproses sedemikian rupa menjadi suatu kesatuan
G. Proses dalam System Calls
System Calls adalah penyedia antarmuka dari pelayanan-palayanan yang tersedia dengan Sistem
Operasi. Umumnya System Call menggunakan bahasa C dan C++, meskipun tugas-tugas
seperti hardware yang harus diakses langsung, maka menggunakan bahasa assembly.
Bagaimana cara kerja system calls?
Dari gambar diatas, file sumber mempunyai beberapa proses sampai akhirnya sampai di file tujuan.
Pertama, kita dapat menulis suatu program sederhana untuk membaca satu file ke file lainnya. Program akan membutuhkan nama dari 2 file input dan output.
Memasukkan nama file input dan menampilkannya pada layar, menerima masukan seperti inputan data dari keyboard yang diketik, dan nama file output hasil dari ketikkan kita. Setelah dua nama file telah diperoleh program harus membuka file input dan membuat file output. Masing-masing membutuhkan system call. Mungkin ada juga kondisi kesalahan yang dilakukkan operator. Ketika program mencoba untuk membuka file input dan ternyata tidak ada nama file itu atau bahwa file tersebut dilindungi pengaksesannya. Maka, kita harus membuat perintah di command interpreter (baca mengenai command interpreter) yang terdapat di OS kita dan membukakan file tersebut. Jika file input ada, maka kita harus membuat file output baru. Kita mungkin akan menemukan file output dengan nama yang sama. Situasi tersebut dapat membuat program dibatalkan (system call), atau kita dapat menghapus file yang ada dan membuat yang baru.
Setelah dua file input dan output telah ditetapkan, maka program akan melooping membaca file input dan menulis ke file output sampai akhir file. Jika proses sudah selesai, program akan menutup kedua file dan akan terdapat pesan di layar bahwa proses telah selesai dan mengakhiri program dengan normal.
H. Shell dan Kernel
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.
Fungsi Shell : Menyediakan akses ke layanan dari kernel. Fungsinya sebagai suatu jembatan antara user dengan kernel untuk mendapatkan hasil yang inginkan.
Shell pada Linux :
Yang dimaksud
Shell pada sistem operasi Linux adalah bahwa Shell merupakan salah satu jenis program bawaan dari sistem operasi
Linux, yang menyediakan komunikasi langsung antara pengguna dan sistem operasi,
Beberapa shell juga dapat digunakan untuk melakukan manajemen berkas.
Kernel merupakan komponen utama sistem komputer yang paling penting, yang merupakan jembatan antara aplikasi dan pengolahan data yang sebenarnya dilakukan pada bagian hardware. Dengan adanya kernel, aplikasi dalam sistem operasi dapat mengakses hardware secara aman. Kernel juga berperan untuk mengatur kapan dan berapa lama suatu program dapat menggunakan hardware. Tetapi, Kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan suatu komputer. Program dapat langsung dijalankan secara langsung dalam mesin. (contohnya CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction.
Fungsi utama kernel adalah untuk mengelola sumber daya komputer dan memungkinkan program lain untuk menjalankan dan menggunakan sumber daya computer. dan Biasanya, sumber daya komputer terdiri dari :
Perbedaan Shell dan Kernel
Shell merupakan lapisan luar dari satu sistem operasi. Sedangkan kernel
merupakan lapisan dalam atau inti sistem operasi.
I. Perintah shell yang banyak digunakan untukmengelola sistem operasi Linux
Seperti yang kita tahu bahwa, Shell adalah program bawaan yang bisa diakses di Linux, terdapa banyak perintah shell yang dapat digunakan seperti :
1.Chmod : Menambah dan mengurangi ijin user untuk mengakses file atau direktori.
2.Kill : Menghentikan proses
3.Login : Masuk sistem
4.Logout : Keluar sistem
5.Is : Menampilkan isi direktori
6.Mkdir : Membuat sebuah direktori
7.Passwd : Mengganti password
8.Unalias : Membatalkan sebuah alias
9.Who : Menampilan user yang sedang login
10.Rm : Menghapus file
11.Mv : Memindahkan file
12.Halt : Mematikan sistem
13.Grep : Mencari file-file yang mengandung teks dengan kriteria yang telah ditentukan
14.Find : Menemukan lokasi file
15.Cp : Mengcopy file/folder
16.Pwd : Menampilkan nama direktori yang sedang dikunjungi user
17.Chgrp : Merubah kepemilikan file/folder
18.Alias : Membuat/memberi nama lain suatu perintah
19.Adduser : Membuat user baru
20.& : Menjalankan perintah belakang (background)
Lain halnya dengan Linux, Sistem Operasi Windows tidak menggunakan Shell
J. Mac dan Debugging
Mach adalah sebuah sistem operasi kernel yang
dikembangkan di Carnegie Mellon University untuk mendukung penelitian sistem
operasi, terutama komputasi terdistribusi dan paralel. Ini adalah salah satu
contoh awal dari sebuah mikrokernel.
Sedangkan Debugging adalah sebuah metode yang
dilakukan oleh para pemrogram 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.
K. Perbedaan
bootstrap program, bootstrap loader, dan boot block
- Bootstrap program adalah kode yang disimpan di code ROM yang dapat menempatkan kernel,
memasukkan ke dalam memory dan mulai eksekusi.
- - Bootstrap
loader : sebuah program yang cukup
sederhana untuk dipanggil secara manual dengan pertolongan sakelar,
- boot block : adalah suatu partisi untuk menyimpan seluruh program bootstrap.
Sekian dan semoga bermanfaat, Wassalamu'alaikum wr.wb