1. Seperti apa proses dalam Sistem Operasi?
adalah keadaan ketika sebua program sedang dieksekusi. Sebuah proses dibuat melalui system call create-prosess yang membentuk proses turunan atau child process yang dilakukan oleh proses induk atau parent process. Proses turunan tersebut mampu membuat proses baru sehingga semua proses ini akhirnya membentuk pohon prosess.Saat suatu prosess dibuat maka proses tersebut dapat memperoleh sumber daya seperti waktu CPU, berkas, perangkat input/output, dan memory. Sumber daya ini dapat langsung diperoleh dari sistem operasi, dari proses induk yang membagikan sumber daya ke setiap proses turunannya. atau proses turunan dan proses induk berbagi sumber daya yang diberikan oleh sistem operasi.
2. Apa perbedaan antara stack dan heap?
- STACK : 1.merupakan bagian memori yang dialokasikan pada saat thread dijalankan
2.alokasi stack bersifat fixed-size atau berukuran tetap
3.stack menyimpan data yang bersifat sementara
- Heap :1.merupakan bagian memori yang dialokasikan pada saat OS pertama dijalankan
2.alokasi memori bersifat dinamis
3.heap menyimpan data berupa variabel-variabel atau objek yang bersifat global pada sebuah aplikasi tertentu
3. Apa yang dimaksud Process Control Block (PCB), dan apa perbedaannya dengan Thread?
• Process Control Block (PBC) 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.
• Perbedaan antara proses dengan thread tunggal dan proses dengan thread yang banyak adalah proses dengan thread banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.
4. Jelaskan apa perbedaan unbounded-buffer dan bounded-buffer?
a. Unbounded-buffer – tidak menggunakan batasan ukuran di buffer.
• Consumer selalu dapat meminta item baru dan Producer selalu dapat menghasilkan item-item baru.
b. Bounded-buffer – menggunakan buffer dengan ukuran tertentu
Consumer harus menunggu jika buffer kosong dan Producer harus menunggu jika buffer penuh
• Unbounded buffer: tidak menggunakan ukuran buffer. Consumer selalu dapat meminta item baru, produser selalu dapat memproduksi
• Bounded buffer: buffer ukuran tertentu. Consumer harus menunggu jika buffer kosong, produser harus menunggu jika buffer penuh
5. Definisikan apa itu 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
6. Apa itu Batch dan seperti apakah proses System Calls?
• Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. But, dalan beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.
• Proses System Calls
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.
7. Apa yang dimaksud shell pada sistem operasi Linux, dan jelaskan perbedaan antara Shell dan Kernel?
• Shell pada sistem operasi linux adalah banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah.
• Shell merupakan lapisan luar dari satu sistem operasi. Sedangakan kernel sistem operasi merupakan lapisan sebelah dalam atau inti sistem operasi.
8. Apakah Windows juga mempunyai shell? 2. Sebutkan 20 perintah shell yang banyak digunakan untuk mengelola sistem operasi Linux!
• Windows tidak mempunyai shell karena shell hanya terdapat pada linux.
• 20 perintah shell yang banyak digunakan 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. Apa yang anda ketahui tentang Mach dan Debugging?
port Mach adalah kernel yang disediakan antar-proses komunikasi (IPC) mekanisme yang digunakan berat di seluruh sistem operasi. Sebuah port Mach adalah searah kernel dilindungi channel, yang dapat memiliki beberapa endpoint mengirim dan menerima hanya satu titik akhir. Karena mereka adalah searah, cara yang umum untuk menggunakan port Mach adalah untuk mengirim pesan ke penerima, dan untuk memasukkan pelabuhan Mach lain yang penerima dapat membalas ke pengirim. Karena port-passing, pelacakan penggunaan dan kebocoran dapat sedikit sulit, karena saya akan menjelaskan dalam esai ini.
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. Debugging cenderung lebih rumit ketika beberapa subsistem lainnya terikat dengan ketat dengannya, mengingat sebuah perubahan di satu sisi, mungkin dapat menyebabkan munculnya bug lain di dalam subsistem lainnya.
10. Apa perbedaan bootstrap program, bootstrap loader, dan boot block?
• Bootstrap Loader : Sebuah program yang cukup sederhana untuk dipanggil secara manual dengan pertolongan sakelar. Program ini mampu memanggil program pemanggil lain yang lebih kompleks sehingga dapat menjalankan program buatan sendiri.
• kebanyakan BIOS memiliki sebuah region dalam EEPROM/Flash memory yang tidak dapat di-upgrade, yang disebut sebagai "Boot Block". Boot block selalu dieksekusi pertama kali pada saat komputer dinyalakan.