Pengantar Sistem Operasi
Pada laman ini, saya akan menjelaskan mengenai beberapa hal yang berhubungan dengan Sistem Operasi. Sebelumnya, saya taukah kamu apa itu Sistem Operasi? Sistem Operasi Komputer adalah perangkat lunak komputer atau software yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah data yang bisa digunakan untuk mempermudah kegiatan manusia.
Bagaimanakah proses pada Sistem Operasi itu sendiri?
Sebelumnya, definisi proses merupakan keadaan ketika sebuah program dieksekusi. 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 dapat membuat proses baru sehingga semua proses tersebut 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 setiapa proses turunannya atau proses turunan dan proses induk berbagi sumber daya yang diberikan oleh sistem operasi.
Adapula istilah Stack dan Heap. Stack dan Heap adalah bagian memori komputer tempat data program disimpan
Stack berati tumpukan yang merupakan suatu urutan dimana elementnya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Stack bersifat LIFO (Last In First Out) dimana yang terakhir masuk, maka akan menjadi yang pertama dikeluarkan.
Heap adalah area memori yang digunakan untuk alakosai secara dinamis. Bagian-bagian memori dialokasikan secara sembarang (no pattern) yang maksudnya adalah kode-kode yang akan diekasekusi akan diletakkan dalam lokasi penyimpanan memori, namun lokasi ini tidak memiliki pattern atau tidak berpola (acak).
Jadi, perbedaan antara Stack dan Heap adalah
- Stack merupakan bagian memori yang dialokasikan pada saat thread dijalankan. Sedangkan Heap merupakan bagian memori yang dialokasikan pada saat OS pertama kali dijalankan.
- Alokasi memori Stack bersifat fixed size atau berukuran tetap, sedangkan heap bersifat dinamis.
- Stack menyimpan data yang bersifat sementara, misalnya variabel lokal yang ada dalam suatu fungsi atau method. Sedngkan Heap menyimpan data berupa variabel-variabel atau objek yang bersifat yang bersifat global pada sebuah aplikasi tertentu..
Yang dimaksud dengan Process Control Block adalah sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses, dan informasi lokasi proses dalam memori.
Sedangkan Thread adalah unit dasar dari utilitas CPU. Didalamnya terdapat ID thread, program counter, register, dan stack. Dan juga saling terbagi dengan thread lain dalam proses yang sama.
Bounded-Buffer adalah suatu struktur data yang mampu untuk menyimpan beberapa nilai dan mengeluarkannya kembali ketika diperlukan. Penyimpanan bounded-buffer memiliki batas penyimpanannya atau berukuran tetap. Sedangkan untuk Unbounded-Buffer adalah penyimpanan yang tidak ada batasnya (unlimited).
Remote Procedure Call (RPC) adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa adanya suatu kode pada sistem yang jauh.
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. Derivatif nya adalah dasar dari kernel sistem operasi modern di Mac OS X dan GNU Hurd.
Batch System adalahdimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian estelah kelompok dijalankan tadi diajalankan selesai, maka secara otomatis kelompok lain dijalankan
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 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.
Perbedaan Shell dengan Kernel
Shell adalah tempat interaksi antara pengguna dan sistem Linux yangsedang digunakan. Shell juga bertugas menerjemahkan atau mengeksekusi program.Shell menyediakan suatu antarmuka teks (command line). Shell dapat diguakan untukmengelola (administering) sistem Linux seperti menambah pengguna, mengatur file dandirektori dan memantau kerja dari sistem operasi. Shell Linux ditandai oleh $ (userreguler) atau # (root). Dan disebut juga program yang menjembatani user dengan system operasi dalam hal ini kernel.
Windows tidak memiliki Shell karena shell hanya terdapat pada 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.
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.
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. Derivatif nya adalah dasar dari kernel sistem operasi modern di Mac OS X dan GNU Hurd.
Debugging merupakan 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.
Perbedaan bootstrap program, bootstrap loader, dan boot block
-Bootstrap Loader merupakan sebuah program yang terdapat pada ROM yang dapat menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya. Program ini diperlukan pada saat pertama kali sistem komputer diaktifkan.
-Bootstrap Program adalah kode yang diletakkan dalam ROM yang mampu untuk menemukan kernel, memuatkan dalam memory dan memulai eksekusinya.
-Boot Block adalah sebuah region dalam EEPROM/Flash memory yang tidak dapat di upgrade. Boot Block selalu dieksekusi pertama kali pada saat komputer dinyalakan.
Perbedaannya adalah cara kerjanya yang berbeda.
Perbedaan bootstrap program, bootstrap loader, dan boot block
-Bootstrap Loader merupakan sebuah program yang terdapat pada ROM yang dapat menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya. Program ini diperlukan pada saat pertama kali sistem komputer diaktifkan.
-Bootstrap Program adalah kode yang diletakkan dalam ROM yang mampu untuk menemukan kernel, memuatkan dalam memory dan memulai eksekusinya.
-Boot Block adalah sebuah region dalam EEPROM/Flash memory yang tidak dapat di upgrade. Boot Block selalu dieksekusi pertama kali pada saat komputer dinyalakan.
Perbedaannya adalah cara kerjanya yang berbeda.
Komentar
Posting Komentar