Anda di halaman 1dari 7

STRUKTUR SISTEM OPERASI

Afdhal Akrom Jurusan Sistem Komputer Fakultas Ilmu Komputer Universitas Sriwijaya Email: dhal_messenger@yahoo.com

Abstrak Sistem Operasi berfungsi sebagai penghubung antara user dan hardware, yang mana Sistem Operasi merupakan sebuah aplikasi yang memberikan kemudahan-kemudahan agar user tidak harus mengakses hardware secara langsung dalam bahasa mesin, tetapi dalam bentuk layanan-layanan yang diberikan oleh sistem operasi. Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. Sistem operasi melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran Sistem operasi sebagai jembatan komunikasi antara user dan hardware itu terjadi. Kita dapat melihat sistem operasi dari beberapa titik pandang. salah satu pandangan berfokus pada layanan yang disediakan sistem; pada antarmuka yang membuat tersedia untuk pengguna dan programmer; dan pada komponen-komponen dan interkoneksi antara mereka.

Kata Kunci : Sistem Operasi, Kernel, System Call, Virtual Machine, command interpreter, Java virtual machine, shared-memory model Pendahuluan Layanan dan fungsi yang disediakan oleh sistem operasi dapat dibagi menjadi dua kategori utama. Salah satu kelas layanan yang disediakan oleh sistem operasi adalah untuk menyediakan fungsionalitas baru yang tidak didukung langsung oleh yang mendasari perangkat keras. Kelas kedua layanan yang diberikan oleh sistem operasi adalah untuk menegakkan perlindungan antara proses yang berbeda berjalan secara bersamaan dalam sistem. Proses yang diijinkan untuk mengakses hanya lokasi memory yang berkaitan dengan

ruang alamat mereka. Juga, proses tidak diperbolehkan untuk file korup terkait dengan pengguna lain. Sebuah proses juga tidak diizinkan untuk mengakses perangkat secara

langsung tanpa intervensi sistem operasi. Virtual memory dan file sistem adalah dua contoh seperti layanan baru yang diberikan oleh sebuah sistem operasi. Pembahasan Pada sistem operasi juga terdapat tiga metode umum untuk melewati parameter untuk operasi system, yaitu : Pass parameter dalam register; Register lewat alamat awal blok parameter; dan Parameter dapat ditempatkan, atau ditekan, ke stack oleh program, dan muncul dari tumpukan oleh sistem operasi. [2] Pada Sistem Operasi terdapat lima kegiatan utama dalam hal untuk mengajukan manajemen, yaitu Penciptaan dan penghapusan file, Penciptaan dan penghapusan direktori , Dukungan dari primitif untuk memanipulasi file dan direktori, Pemetaan file ke penyimpanan sekunder, dan Cadangan file pada media penyimpanan stabil (nonvolatile).[2,3] Kategori lima layanan yang disediakan oleh sistem operasi yang dirancang untuk membuatnya lebih nyaman bagi pengguna untuk menggunakan sistem computer adalah Program eksekusi. Sistem operasi beban isi (atau bagian) dari file ke memori dan mulai pelaksanaannya. Sebuah user-level program tidak bisa dipercaya untuk benar mengalokasikan waktu CPU. I / O operasi. Disk, kaset, saluran serial, dan perangkat lain harus berkomunikasi dengan pada tingkat yang sangat rendah. Pengguna hanya perlu menentukan perangkat dan operasi untuk melakukan di atasnya, sedangkan sistem mengubah permintaan itu ke dalam perangkat-atau controller khusus perintah. User-level program tidak dapat dipercaya untuk hanya mengakses perangkat mereka harus memiliki akses ke dan untuk mengaksesnya hanya ketika mereka jika tidak terpakai. File-sistem manipulasi. Ada banyak rincian dalam pembuatan berkas, penghapusan, alokasi, dan penamaan bahwa pengguna tidak perlu melakukan. Blok ruang disk yang digunakan oleh file dan harus dilacak. Program-program tidak bisa memastikan kepatuhan terhadap metode perlindungan atau dipercaya untuk mengalokasikan hanya gratis blok dan deallocate blok pada penghapusan file. Komunikasi. Pesan lewat antara sistem membutuhkan pesan diubah menjadi paket informasi, dikirim ke jaringan controller, ditransmisikan di media komunikasi, dan disusun kembali oleh sistem tujuan. Paket pemesanan dan data koreksi harus terjadi. Sekali lagi, program-program pengguna mungkin tidak mengkoordinasikan akses ke perangkat jaringan, atau mereka mungkin menerima paket yang ditujukan untuk proses lainnya. Kesalahan deteksi. Deteksi kesalahan terjadi di kedua perangkat keras dan perangkat lunak tingkat. Di tingkat perangkat keras, semua transfer data harus diperiksa untuk memastikan bahwa data tidak rusak dalam

perjalanan. Di tingkat perangkat lunak, media harus diperiksa untuk konsistensi data, misalnya, apakah nomor blok dialokasikan dan tidak terisi penyimpanan sesuai total nomor pada perangkat. Di sana, kesalahan yang sering proses-independen (misalnya, korupsi data pada disk), sehingga harus ada program global (sistem operasi) yang menangani semua jenis kesalahan. Selain itu, dengan kesalahan harus diproses oleh sistem operasi, proses tidak perlu berisi kode untuk menangkap dan memperbaiki semua kesalahan yang mungkin pada sebuah sistem. [2,3] Layanan langsung sistem operasi ke pemrograman, disebut dengan system call atau API (application programming interface). 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. Definisi Fork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix. Fork membuat duplikasi yang mirip dengan proses aslinya, termasuk file descriptor, register, dan lainnya. Setelah perintah Fork, child akan mengeksekusi kode yang berbeda dengan parentnya. Bayangkan yang terjadi pada shell. Shell akan membaca command dari terminal, melakukan fork pada child, menunggu child untuk mengeksekusi command tersebut, dan membaca command lainnya ketika child terminate. Untuk menunggu child selesai, parent akan mengeksekusi system call waitpid, yang hanya akan menunggu sampai child selesai. Proses child harus mengeksekusi command yang dimasukkan oleh user (pada kasus shell). Proses child melakukannya dengan menggunakan system call exec.Dari ilustrasi tersebut kita dapat mengetahui bagaimana system call dipakai untuk manajemen proses. Keuntungan dan kerugian menggunakan system call sama antarmuka untuk memanipulasi baik file dan perangkat adalah Setiap perangkat dapat diakses seolah-olah itu adalah file dalam file sistem. Karena sebagian besar penawaran kernel dengan perangkat melalui antarmuka file, relatif mudah untuk menambahkan device driver baru dengan menerapkan kode perangkat keras khusus untuk mendukung antarmuka file abstrak. Oleh karena itu, ini manfaat pengembangan baik kode program pengguna, yang dapat bewritten untuk mengakses perangkat dan file dalam samemanner, dan perangkat sopir kode, yang dapat ditulis untuk mendukung API yang didefinisikan dengan baik. Kerugian itu dengan menggunakan antarmuka yang sama adalah bahwa mungkin akan sulit untuk menangkap

fungsi peralatan tertentu dalam konteks akses file API, sehingga baik mengakibatkan hilangnya fungsi atau kerugian kinerja. Beberapa ini dapat diatasi dengan penggunaan operasi ioctl yang menyediakan antarmuka tujuan umum untuk proses untuk memanggil operasi pada perangkat.[1,2] Terdapat dua model interprocess komunikasi, yang pertama adalah Shared-memory model, yang mempunyai kekuatan untuk komunikasi memori bersama lebih cepat lewat pesan ketika proses berada di mesin yang sama. Sedangkan kelemahannya adalah Proses yang berbeda perlu memastikan bahwa mereka tidak menulis ke lokasi yang sama secara bersamaan dan Proses yang berkomunikasi menggunakan memori bersama harus mengatasi masalah perlindungan memori dan sinkronisasi. Yang kedua adalah Message-passing model, kekuatannya adalah Lebih mudah diterapkan daripada model memori bersama sedangkan kelemahan adalah Komunikasi menggunakan pesan lewat lebih lambat dari memori bersama karena waktu terlibat dalam setup koneksi. [4] Tujuan dari command interpreter adalah bunyinya perintah dari pengguna atau dari file perintah dan mengeksekusi mereka, biasanya dengan mengubahnya menjadi satu atau lebih sistem panggilan. Hal ini biasanya bukan bagian dari kernel karena interpreter perintah adalah tunduk pada perubahan. Seorang pengguna harus dapat mengembangkan perintah baru penerjemah menggunakan antarmuka sistem panggilan yang disediakan oleh operasi sistem. Command interpreter memungkinkan pengguna untuk membuat dan mengelola proses dan juga menentukan cara dengan mana mereka berkomunikasi (seperti seperti melalui pipa dan file). Karena semua fungsi ini dapat diakses oleh program pada tingkat user menggunakan panggilan sistem, seharusnya mungkin bagi pengguna untuk mengembangkan interpreter command-line baru. [2] Mengapa perlu dilakukan pemisahan mekanisme dan kebijakan yang diinginkan ? Mekanisme dan policymust dipisahkan untuk memastikan bahwa sistem mudah untuk memodifikasi. Tidak ada dua instalasi sistem adalah sama, sehingga setiap instalasi mungkin ingin untuk menyempurnakan sistem operasi yang sesuai dengan kebutuhannya. Dengan mekanisme dan kebijakan yang terpisah, kebijakan tersebut dapat diubah sesuka sementara mekanisme tetap tidak berubah. Susunan ini memberikan lebih fleksibel sistem. Keuntungan utama dari pendekatan mikrokernel untuk desain system adalah biasanya meliputi (a) menambahkan layanan baru tidak memerlukan memodifikasi kernel, (b) lebih aman sebagai operasi lebih banyak dilakukan di user mode dari dalam modus kernel, dan (c) kernel desain sederhana dan fungsi biasanya hasil yang lebih dapat diandalkan sistem operasi. [1,2]

Pendekatan kernel modular memerlukan subsistem untuk berinteraksi satu sama lain melalui antarmuka dibangun hati-hati yang biasanya sempit (dalam hal fungsi yang terkena eksternal modul). Pendekatan kernel berlapis mirip dalam hal itu. Namun, kernel berlapis membebankan pemesanan ketat seperti subsistem subsistem yang di lapisan bawah tidak diizinkan untuk memanggil operasi sesuai dengan lapisan atas subsistem. Tidak ada seperti pembatasan dalam pendekatan modular kernel, modul dimana bebas untuk memanggil satu sama lain tanpa batasan. Dasar logika dari konsep mesin virtual atau virtual machine adalah dengan menggunakan pendekatan lapisan-lapisan (layers) dari sistem komputer. Sistem komputer dibangun atas lapisan-lapisan. Urutan lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah Perangkat keras, Kernel, dan Sistem program. Kernel, yang berada pada lapisan kedua, menggunakan instruksi perangkat keras untuk menciptakan seperangkat system call yang dapat digunakan oleh komponenkomponen pada level sistem program. Sistem program kemudian dapat menggunakan system call dan perangkat keras seolah-olah pada level yang sama. Meski sistem program berada di level tertinggi, namun program aplikasi bisa melihat segala sesuatu di bawahnya (pada tingkatan) seakan-akan mereka adalah bagian dari mesin. Mesin virtual menyediakan antar muka yang identik untuk perangkat keras yang ada. Sistem operasi membuat ilusi untuk beberapa proses, masing-masing mengeksekusi prosessor masing-masing untuk memori (virtual) masingmasing. Aplikasi yang terdapat dalam virtual mesin adalah virtualBox, parallels, VMware, QEMU, dan Windows Virtual PC. Keuntungan utama untuk seorang desainer sistem operasi menggunakan arsitektur virtual-mesin adalah Sistem ini mudah untuk debug, dan masalah keamanan mudah untuk memecahkan. Mesin virtual juga menyediakan platform yang baik untuk sistem operasi penelitian sistem mungkin karena banyak operasi yang berbeda berjalan pada satu fisik sistem. Pada bahasa Java, Java memberikan kemampuan untuk panggilan dari metode asli program Java yang ditulis dalam, katakanlah, C atau C + + Karena Program java ini ditujukan untuk menjadi platform I / O independen. Oleh karena itu, bahasa tidak menyediakan akses ke sistem yang paling spesifik sumber seperti membaca from I / O atau port. Untuk melakukan sistem I / O operasi tertentu, Anda harus menulis dalam bahasa yang mendukung fitur tersebut (seperti C atau C + +.) Perlu diingat bahwa sebuah program Java yang memanggil metode asli ditulis dalam bahasa lain tidak lagi arsitektur netral. [4]

Java adalah bahasa ditafsirkan. Ini berarti bahwa JVM menafsirkan instruksi bytecode satu per satu. Biasanya, sebagian besar ditafsirkan lingkungan lebih lambat daripada menjalankan binari asli, untuk penafsiran proses membutuhkan mengkonversi setiap instruksi ke mesin asli kode. Sebuah just-in-time (JIT) compiler mengkompilasi bytecode untuk metode ke dalam kode mesin asli pertama kalinya metode ini dihadapi. Ini Artinya, program Java pada dasarnya berjalan sebagai aplikasi asli (Tentu saja, proses konversi dari JIT membutuhkan waktu serta tapi tidak sebanyak interpretasi bytecode) Selanjutnya., JIT cache dikompilasi kode sehingga dapat digunakan kembali pada saat metode ini dihadapi. Sebuah program Java yang dijalankan oleh JIT bukan tradisional penerjemah umumnya berjalan lebih cepat. [5] Sebuah sistem operasi tamu memberikan layanannya dengan memetakan mereka ke fungsi yang disediakan oleh sistem operasi host. Sebuah kunci masalah yang perlu dipertimbangkan dalam memilih operasi host sistem adalah apakah itu cukup umum dalam hal sistem panggilan-nya antarmuka agar dapat mendukung fungsi yang terkait dengan sistem operasi tamu. Sistem Sintesis eksperimental operasi memiliki incorporatedwithin assembler kernel. Untuk mengoptimalkan sistem kinerja-call, kernel merakit ruang routineswithin kernel untuk meminimalkan jalan bahwa sistem panggilan harus melalui kernel. Pendekatan ini merupakan kebalikan dari pendekatan berlapis, di mana jalan melalui kernel diperpanjang untuk membuat membangun sistem operasi lebih mudah. Pro dan kontra dari pendekatan Sintesis untuk merancang kernel dan sistem kinerja optimasi adalah Sintesis sangat mengesankan karena kinerja itu mencapai melalui on-the-fly kompilasi. Sayangnya, sulit untuk masalah debug dalam kernel karena fluiditas kode. Juga, seperti kompilasi adalah spesifik sistem, membuat Sintesis sulit untuk port (baru compiler harus ditulis untuk setiap arsitektur). Kesimpulan Sistem Operasi berfungsi sebagai penghubung antara user dan hardware, yang mana Sistem Operasi merupakan sebuah aplikasi yang memberikan kemudahan-kemudahan agar user tidak harus mengakses hardware secara langsung dalam bahasa mesin, tetapi dalam bentuk layanan-layanan yang diberikan oleh sistem operasi. Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Daftar Pustaka : 1. [Tanenbaum2001] Andrew S Tanenbaum. 2001 . Modern Operating Systems. Second Edition. Prentice-Hall.

2. [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons.

3. [Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997 . Operating Systems Design and Implementation . Second Edition. PrenticeHall. 4. [Lewis1998] John Lewis dan William Loftus. 1998 . Java Software Solutions Foundation Of Program Design. First Edition. Addison Wesley. 5. [Stallings2001] William Stallings. 2001 . Operating Systems: Internal and Design Principles. Fourth Edition. Edisi Keempat. Prentice-Hall

International. New Jersey

Anda mungkin juga menyukai