Anda di halaman 1dari 7

KONSEP DASAR SISTEM OPERASI

Prasojo Fitroh Romadhon Program Studi Sistem Komputer Fakultas Ilmu Komputer Universitas Sriwijaya Email : sjoefr@gmail.com

Abstrak
Pada abstaksi tingkat atas, sebuah sistem komputer terdiri atas empat komponen. Keempat komponen bekerja sama dan saling berinteraksi untuk mencapai tujuan sistem komputer, yaitu komputasi. Adapun keempat komponen pokok dari sistem komputer adalah : pemroses (CPU), memori utama, perangkat masukan dan keluaran serta interkoneksi antarkomponen. Dari berbagai macam sistem operasi yang ada, tidak semuanya memiliki komponen-komponen penyusun yang sama. Pada umumnya sebuah sistem operasi modern akan terdiri dari komponen sebagai berikut: manajemen proses, manajemen memori utama, manajemen sistem berkas, manajemen sistem masukan/keluaran, manajemen penyimpanan sekunder serta proteksi dan keamanan Kata Kunci : operating system, multiprocessing, central processing unit, direct memory access, resource, client

Pendahuluan
Sistem operasi adalah program yang bertindak sebagai perantara antara pemakai komputer dan perangkat keras komputer. Maksud sistem operasi adalah menyediakan satu lingkungan tempat pemakasi dapat mengeksekusi program-program. Sistem operasi harus menjamin kebenaran operasi sitem komputer. Perangkat keras berupa pemroses (CPU - central processing unit), memory, dan perangkat masukan/keluaran menyediakan sumber daya komputasi dasar. Program aplikasi mendefinisikan cara-cara bagaimana sumber daya digunakan untuk menyelesaikan persoalan. Sistem operasi mengendalikan dan mengkoordinasikan penggunaan perangkat keras komputer di antara beragam program aplikasi untuk beragam pemakai.[2]

Pembahasan
Dalam multiprogramming dan time-sharing, beberapa pengguna membagi sistem secara bersamaan. Situasi ini dapat mengakibatkan berbagai masalah keamanan yaitu penyalinan atau pencurian data atau program seseorang, serta dapat mengakibatkan penggunaan sumber daya sistem (CPU, memori, disk penyimpanan) tanpa izin. Kita tidak dapat memastikan tingkat keamanan yang sama dalam membagi mesin time-sharing seperti dalam sebuah mesin dedicated karena skema perlindungan

yang dirancang oleh manusia tidak dapat dielakkan akan dirusak oleh orang lain, dan semakin sulit kompleks skemanya, semakin sulit ini dirasa untuk dirusak. [2] Pemanfaatan sumber daya muncul dalam bentuk yang berbeda di berbagai jenis sistem operasi. Berikut ini adalah daftar sumber daya apa yang harus dikelola secara hati-hati dalam pengaturan-pengaturan di bawah. Pada mainframe atau sistem computer kecil adalah memori dan sumber daya CPU, tempat penyimpanan, bandwidth jaringan. Pada workstation yang terhubung ke server adalah memori dan sumber daya CPU, serta pada handheld komputer yaitu penggunaan daya, sumber daya memori. [2] Pengguna (user) akan lebih baik menggunakan sebuah sistem time-sharing dari pada PC atau workstation single-user ketika hanya ada sedikit pengguna, proses yang dilakukan sedikit, taks menjadi besar dan hardware bekerja cepat, serta waktu yang digunakan lebih efektif. Daya penuh dari system dapat menghasilkan masalah untuk pengguna. Masalahnya dapat di atasi dengan cepat oleh sistem time-sharing dibandingkan pada PC ataupun workstation single-user. Masalah lain terjadi ketika banyak pengguna lain membutuhkan sumber daya yang sama pada waktu yang bersamaan. PC paling baik digunakan ketika pekerjaan cukup kecil untuk dilaksanakan untuk alasan ini dan ketika peformanya cukup untuk menjalankan program untuk kepuasan pengguna. [2] Dalam sistem distribusi antara client-server dan peer-to-peer memiliki perbedaan masing-masing. Model client-server membedakan peran-peran dari client dan server. Di bawah tipe ini, klient meminta pelayanan-pelayanan yang disediakan oleh server. Model peer-to-peer tidak mempunyai peran yang pasti. Faktanya, gangguan di sistem itu disebabkan oleh peers dan demikian mungkin bisa bertindak sebagai klient-server atau keduanya. Node boleh meminta service dari peer yang lain, atau pada faktanya node juga bisa menyediakan pelayan pada peer yang lain di sistem. Sebagai contoh, anggap sebuah sistem node yang berbagi resep masakan. Dibawah model client-server, seluruh resep disimpan di server. Jika client ingin mengakses sebuah resep, dia harus meminta resep tersebut ke server khusus. Menggunakan peer-to-peer model, sebuah peer node dapat meminta kesesama peer node untuk resep khusus. Node-node dengan resep yang diminta dapat menyediakannya(resep) kepada node yang meminta. Perhatikan masing-masing peer mungkin kedua-duanya dapat bertindak sebagai client(dapat meminta resep) dan sebagai server(dapat menyediakan resep).[2] Fungsi dari batch programming, virtual memory, time-sharing perlu didukung oleh sistem operasi untuk dua pengaturan berikut: (a) Handheld devices dan (b) Real-time systems.Untuk real-time systems, Sistem Operasi membutuhkan dukungan virtual memory dan time-sharing. Sedangkan untuk sistem headheld, Sistem operasinya butuh untuk menyediakan virtual memori, tetapi tidak harus menyediakan time-sharing. Batch programming tidak dibutuhkan untuk kedua setingan di atas (handheld device dan real-time system). [2] Terdapat perbedaan antara multiprocessing simetris dan asimetris. Multiprosesing simetris melakukan semua proses, dan I/O dapat diproses di semua jenis CPU. Multiprosesing asimetris mempunyai satu master CPU dan CPU sisanya sebagai pendukung. Master CPU tersebut membagikan tugas kepada CPUCPU pendukung dan I/O biasanya hanyak dilakukan oleh master CPU. Multiprosesor dapat menghemat uang karena tidak menggandakan tenaga yang digunakan, proses yang dilakukan dan peripherals.

Multiprosesor dapat menjalankan program-program lebih cepat dan dapat diandalkan. Multiprosesor juga lebih kompleks di hardware dan softwarenya dibandingan sistem uniprosesor. [4] Sebuah clustered systems berbeda dari multiprocessor systems karena clustered system biasanya dibangun/dirancang dengan menggabungkan banyak computer menjadi satu sistem untuk menghasilkan sebuah tugas komputasi yang dibagi kebeberapa kelompok. Dilain pihak multiprocessor system dapat menjadi satu kesatuan dari banyak CPU. Sebuah clustered system kurang ketat hubungannya dibandingkan multiprocessor system. Clustered system berkomunikasi melalui pesan-pesan sedangkan prosesor-prosesor di sebuah multiprocessor system dapat berkomunikasi melalui memori yang dibagi(share). Agar dapat menyediakan pelayanan(service) yang memuaskan, tingkatan dari kedua mesin tersebut harus digandakan dan secara konsisten harus di perbaharui. Ketika salah satu dari mesin itu gagal yang satunya dapat menggantikan fungsi dari mesin yang gagal. [4] Sebuah komputasi Cluster yang terdiri dari dua node yg menjalankan database dapat terdiri dari asymetrik clustering dan parallel clustering. Dengan dua node ini terdapat dua cara di mana perangkat lunak cluster dapat mengelola akses ke data pada disk. Dengan asymetrik clustering, satu host dapat menjalankan aplikasi database dan host yang lain mengawasinya. Jika servernya gagal, host yang mengawasi tadi menjadi server yang aktif. Ini cocok untuk menghindari ketidakefektifan penggunaan. Tetapi ini tidak menggunakan daya prosesing yang memungkinkan di kedua hostnya. Dengan pengelompokan yang sejajar/setara, aplikasi databasenya dapat berjalan secara setara di kedua hostnya. Kesulitan dari menjalan parallel cluster itu adalah menyediakan beberapa bentuk dari pembagian mekanisme penguncian data-data yang ada di share disk.[3] Terdapat perbedaan yang jelas antara network computers dengan traditional personal computers. Sebuah network computer tergantung pada komputer pusat dalam kebanyakan penggunaanya. Network computer dapat memiliki sebuah sistem operasi minimal untuk mengatur sumber dayanya. Kebalikannya Sebuah PC harus bisa menyediakan semua fungsi sendiri secara mandiri tanpa bergantung pada komputer pusat. Pada pelaksanaannya biaya yang digunakan besar dan penggunaan sumber daya yang tepat lebih efisien dimana setingan jaringan komputernya lebih di sukai.[3] Interrupts(interupsi) adalah sebuah perangkat keras yang sengaja merubah aliran di dalam sistem. Sebuah Interupsi handler dipanggil untuk menangani penyebab dari interupsi, kontrol kemudian dikembalikan ke konteks ganguan dan intruksi. Trap adalah software yang dihasilkan interupsi. Interupsi dapat digunakan untuk sinyal yang penuh dari I / O untuk meniadakan kebutuhan untuk perangkat polling (perangkat pemberi suara). Trap bisa digunakan untuk memanggil sistem operasi rutin atau untuk menangkap kesalahan aritmatika.[2] Direct memory access digunakan untuk perangkat I/O berkecepatan tinggi selain untuk menghindari meningkatnya CPUs execution load(penggunaan CPU) . Untuk itu CPU bekerja sama dengan perangkat untuk mengkoordinasikan pengiriman. CPU bisa melakukan operasi DMA dengan menulis nilai-nilai ke dalam register khusus yang dapat diakses langsung dengan perangkat. Perangkat memulai operasi yang sesuai setelah menerima perintah dari CPU. Ketika perangkat telah selesai dengan operasinya, hal ini menginterupsi CPU itu untuk menunjukkan selesainya operasi. Perangkat dan CPU dapat mengakses

memori secara bersamaan. Memory controller menyediakan akses ke bus memori secara merata ke keduanya. Kekuatan CPU mungkin tidak mampu untuk mengeluarkan operasi memori pada kecepatan tinggi karena harus bersaing dengan perangkat untuk mendapatkan akses ke bus memori.[2] Direct memory access adalah sebuah proses khusus yang berguna untuk menghindari pembebanan CPU(prosesor) utama oleh program masukan/keluaran. DMA dapat juga di artikan sebagai metode transfer data dari perangkat ke memori, dari memori ke perangkat, atau dari memori ke memori, tanpa bantuan dari CPU(prosesor). Ketika sebagian data masukan/keluaran dari komputer di proses oleh CPU, sebagian data tidak membutuhkan pemprosesan, atau dapat di proses oleh perangkat yang lain. Di situasi ini, DMA dapat menghemat waktu proses dan merupakan cara yang lebih efisien untuk memindahkan data dari memori komputer ke perangkat yang lain. DMA berfungsi membebaskan CPU dari menunggui proses transfer data yang dilakukan oleh perangkat masukan/keluaran. Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang meruju ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte(word) yang di transfer ke memori. CPU kemudian menuliskan alamat command block ini ke DMA controller, sehingga DMA controller dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamat-alamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU. Adapun tiga langkah dalam transfer DMA yaitu : Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari device, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang di transfer. DMA controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer. DMA controller meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.

Setelah mengirim informasti itu(command block) ke DMA controller, CPU dapat melanjukan kerja lain. DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung tanpa melewati CPU. Ketika transfer selesai, DMA mengirim sinyal interupsi ke CPU. CPU hanya dilibatkan pada awal dan akhir transfer data. Operasi transfer antara perangkat dan memori untama dilakukan sepenuhnya oleh DMA, bebas dari CPU dan hanya melakukan interupsi bila operasi telah selesai. Adapun keunggulan dari penggunaan DMA adalah Penghematan penggunaan CPU Meningkatkan kinerja masukan/keluaran.[2] Beberapa sistem komputer tidak memberikan operasi mode privileged pada perangkat keras . Sebuah sistem operasi untuk mesin dari jenis ini perlu untuk tetap dikendalikan setiap saat. Untuk membangun sebuah sistem operasi yang aman untuk sistem komputer dapat dicapai dengan dua metode: Perangkat lunak interpretasi dari semua program-program pengguna (seperti beberapa, BASIC, Java, dan sistem LISP, dll). Perangkat lunak interpreter akan memberikan apa yang tidak perangkat keras sediakan. Membutuhkan berarti semua program yang ditulis dalam bahasa tingkat tinggi sehingga semua kode

objek dapat diproduksi oleh compiler. Compiler akan menghasilkan (juga pada garis atau dengan fungsi panggilan) pemeriksaan pelindung pada perangkat keras yang hilang.[3] Cache berguna ketika dua atau lebih komponen perlu menukar data, dan komponen melakukan transfer pada kecepatan yang berbeda. Cache memecahkan masalah transfer dengan menyediakan penahan kecepatan menengah antara komponen. Jika perangkat cepat menemukan data yang dibutuhkan dalam cache, maka tidak perlu menunggu untuk perangkat lambat. Data dalam cache harus tetap konsisten dengan data dalam komponen. Jika komponen memiliki perubahan nilai data, dan datum juga dalam cache, cache juga harus diperbarui. Hal ini terutama masalah pada sistem multiprosesor yang lebih dari satu proses boleh mengakses sebuah datum. Sebuah komponen dapat dihilangkan dengan cache sama besar, tetapi hanya jika: (a) cache dan komponen memiliki setara kesatuan hemat kapasitas (yaitu, jika komponen mempertahankan datanya ketika listrik padam, cache harus menyimpan data juga), dan (b) cache terjangkau, karena penyimpanan yang lebih cepat cenderung lebih mahal.[2] Dalam sistem single-processor, memori perlu diperbarui ketika sebuah hasil prosesor diperbaharui untuk nilai-nilai cache. Pembaruan ini dapat dilakukan segera atau dengan lambat. Pada sistem multiprocessor, prosesor yang berbeda mungkin melakukan caching lokasi memori yang sama pada lokal cachesnya. Ketika pembaharuan dilakukan, lokasi cache harus di lemahakan atau perlu diperbarui. Pada sistem terdistribusi, konsistensi nilai memori cache tidak menjadi masalah. Namun, masalah konsistensi mungkin timbul ketika klien melakukan cache file data.[4] Tedapat mekanisme untuk melaksanakan perlindungan terhadap memori untuk mencegah sebuah program dari memodifikasi memori yang terkait dengan program lainnya. Prosesor bisa melacak lokasi yang terkait dengan setiap proses dan membatasi akses ke lokasi yang berada di luar batas sebuah program. Informasi mengenai perluasan dari memori program dapat dipertahankan dengan menggunakan basis dan register batas dan oleh melakukan cek untuk setiap akses memori.[2] Sebuah jaringan akan baik jika sesuai dengan lingkungannya. Konfigurasi jaringan akan sesuai serta baik dengan lingkungan berikut, sebuah lantai asrama dengan konfigurasi jaringan LAN, sebuah kampus universitas dengan konfigurasi jaringan LAN, WAN memungkinkan untuk kampus yang sangat besar. Sebuah Negara dan Bangsa dengan konfigurasi jaringan WAN.[2] Masing-masing jenis sistem operasi memiliki sifat pentingnya masing-masing. Batch. Pekerjaan dengan kebutuhan yang serupa adalah batch bersama dan dijalankan melalui komputer sebagai sebuah kelompok oleh operator atau rangkaian pekerjaan yang otomatis. Kinerja meningkat dengan mencoba menjaga CPU dan perangkat I / O sibuk setiap saat melalui penahan, operasi off-line, spooling, dan multiprogramming. Batch baik untuk melaksanakan pekerjaan besar yang membutuhkan sedikit interaksi, bisa dikumpulkan dan diambil kemudian. Interaktif. Sistem ini terdiri dari transaksi pendek di mana hasil transaksi berikutnya mungkin tidak terduga. Waktu response harus pendek (detik) karena pengguna menyerahkan dan menunggu hasilnya. Time sharing. Sistem ini menggunakan penjadwalan CPU dan multiprogramming untuk memberikan pengaruh ekonomis terhadap penggunaan sistem. CPU beralih dengan cepat dari

satu pengguna lain. Dari pada memiliki pekerjaan yang didefinisikan oleh gambar gambar kartu spooled, masing-masing program membaca kartu kendali berikutnya dari terminal, dan output biasanya dicetak langsung ke layar. Real time. Sering digunakan dalam aplikasi khusus, sistem ini membaca informasi dari sensor dan harus merespon dalam jumlah waktu yang tetap untuk memastikan kinerja yang benar. Jaringan. Menyediakan fitur sistem operasi pada jaringan seperti file sharing. SMP(Symmetric Multiprocessor). Digunakan dalam sistem di mana ada beberapa CPU itu masing-masing menjalankan salinan yang sama dari sistem. Komunikasi itu terjadi diantara sistem bus. Distributed. Sistem ini mendistribusikan komputasi diantara beberapa prosesor fisik. Prosesorprosesor tersebut tidak berbagi memori atau waktu. Sebaliknya, setiap prosesor memiliki memori lokal sendiri. Mereka berkomunikasi satu sama lain melalui berbagai jalur komunikasi, seperti bus kecepatan tinggi atau jaringan area lokal (LAN). Clustered. Sebuah sistem cluster menggabungkan beberapa komputer menjadi satu sistem tunggal untuk menghasilkan tugas komputasi yang tersebar diantara cluster. Handheld.Sebuah sistem komputer kecil yang melakukan tugas-tugas sederhana seperti kalender, email, dan web browsing. Sistem handhels berbeda dari system computer tradisional atau biasa dengan memori yang lebih kecil, tampilannya dan prosessornya lebih lambat. [4]

Terdapat kekurangan dalam komputer hendheld dibandingkan dari PC standar. Komputer hendheld (genggam) jauh lebih kecil dari PC standar. Hal ini mengakibatkan memori yang lebih kecil, layar yang lebih kecil, dan kemampuan pemrosesan lebih lambat dari PC desktop standar. Karena keterbatasan ini, sebagian handheld saat ini hanya dapat melakukan tugas-tugas dasar seperti kalender, email, dan pengolah kata sederhana. Namun, karena ukurannya yang kecil, maka mereka cukup mudah untuk dibawa kemana-mana dan dilengkapi dengan akses wifi, dapat menyediakan akses ke email dan www (world wide web).[2]

Kesimpulan
Sistem operasi memiliki beberapa komponen, seperti manajemen proses, manajemen memori utama, manajemen sistem berkas, manajemen sistem masukan/keluaran, manajemen penyimpanan sekunder, proteksi dan keamanan, dan antarmuka. Semua komponen tersebut saling berkaitan satu sama lain. Sebuah sistem operasi tidak dapat bekerja apabila salah satu saja dari komponen-komponen tersebut hilang. Memahami komponen-komponen sistem operasi dalam bab ini akan memudahkan pemahaman tentang sistem operasi dalam bab-bab selanjutnya dalam buku ini. Dalam bab-bab selanjutnya, hanya beberapa komponen saja yang akan dibahas lebih lanjut, yaitu manajemen proses, manajemen memori utama, manajemen sistem berkas, dan manajemen sistem masukan/keluaran.

Daftar Pustaka
[1] Silberschatz, Avi and Galvin, Peter and Gagne, Greg (2005) Operating Systems Concepts. Seventh Edition. John Wiley & Sons. [2] Hariyanto, Bambang (2009) Sistem Operasi. Bandung: Informatika Bandung

[3] Stallings, William (2012) Operating Systems, Internals and Design Principles. Seven Edition. Pearson: Prentice Hall [4] Dhotre, I.A. 2009. Operating Systems. Technical Publications [5] Tanenbaum, Andrew S (2009) Modern Operating System. Third Edition. Pearson: Prentice Hall [6] Tanenbaum, Andrew S and Woodhull, Albert S (1997) Operating Systems Design and Implementation. Second Edition. Prentice-Hall.

Anda mungkin juga menyukai