Komponen Utama Sistem Operasi Komputer dan Fungsinya
Komponen Utama Sistem Operasi Komputer dan Fungsinya - Komponen-komponen sistem operasi merupakan modul-modul yang akan membuat komponen-komponen yang berbeda-beda dari sebuah komputer agar dapat bekerja bersama-sama. Semua pengguna dan perangkat lunak perlu melalui sistem operasi untuk dapat menggunakan perangkat keras komputer, baik untuk perangkat sederhana seperti mouse atau keyboard atau yang serumit komponen internet.
Kernel
Dengan bantuan firmware dan driver perangkat, kernel menyediakan tingkat kontrol yang paling dasar atas semua perangkat keras komputer. Ia mengatur akses memori RAM untuk program-program, menentukan program mana yang mendapatkan akses ke sumber daya perangkat keras yang mana, setiap saat men-set up atau me-reset status operasi di CPU untuk optimalisasi proses, dan mengatur data untuk penyimpanan di media non-volatile dengan sistem file pada media seperti disk, kaset, memori flash, dll
Dalam komputasi, kernel adalah program komputer yang mengelola permintaan input / output dari perangkat lunak, dan menerjemahkannya ke dalam instruksi pemrosesan data untuk central processing unit dan komponen elektronik lainnya dari komputer. Kernel adalah bagian mendasar dari sistem operasi komputer modern.
Ketika sebuah program komputer (dalam konteks ini disebut proses) membuat permintaan ke kernel, permintaan disebut system call. Berbagai desain kernel berbeda dalam bagaimana mereka mengatur panggilan sistem dan sumber daya. Sebagai contoh, sebuah kernel monolitik mengeksekusi semua instruksi sistem operasi di ruang alamat yang sama untuk meningkatkan kinerja sistem. Sebuah kernel bertipe mikrokernel, menjalankan sebagian proses, yang pada monolitik dijalankan di latar belakang sistem operasi, di ruang pengguna. Hal ini untuk membuat sistem operasi yang lebih modular dan, oleh karena itu, lebih mudah dalam proses maintenance.
Karena sifat kritis, kode kernel biasanya dimuat ke memori area yang terlindungi (protected), untuk mencegah agar tidak tertimpa oleh sistem operasi atau program aplikasi lain. Kernel melakukan tugasnya, seperti melaksanakan proses dan penanganan interrupt, dalam ruang lingkungan kernel, sedangkan semua pengguna melakukan kegiatannya, dalam ruang pengguna, seperti menulis teks dalam editor teks atau menjalankan program dalam GUI (antarmuka pengguna grafis). Pemisahan ini dilakukan untuk mencegah data pengguna mengganggu data kernel dan dari mengganggu satu sama lain. Dengan demikian mengurangi kemungkinan yang dapat menyebabkan sistem menjadi tidak stabil (dan kemungkinan Crash).
Program Execution
Sistem operasi menyediakan sebuah antarmuka antara program aplikasi dan perangkat keras komputer, sehingga program aplikasi dapat berinteraksi dengan perangkat keras hanya dengan mematuhi peraturan dan prosedur diprogram ke dalam sistem operasi. Sistem operasi juga merupakan satu set layanan yang menyederhanakan pengembangan dan pelaksanaan program-program aplikasi. Pelaksana program aplikasi melibatkan pembuatan proses oleh kernel sistem operasi yang memberikan ruang memori dan sumber daya lainnya, menetapkan pada prioritas untuk proses dalam sistem multi-tasking, banyak program kode biner ke dalam memori, dan memulai pelaksanaan program aplikasi yang kemudian berinteraksi dengan pengguna dan dengan perangkat keras.
Dalam komputasi, proses adalah turunan dari program komputer yang sedang dijalankan. Proses berisi kode program dan kegiatan saat ini. Tergantung pada sistem operasi (OS) yang dipakai, proses dapat terdiri dari beberapa thread eksekusi yang mengeksekusi instruksi secara bersamaan.
Sebuah program komputer adalah kumpulan instruksi pasif; proses adalah pelaksanaan sebenarnya instruksi tersebut. Beberapa proses dapat dikaitkan dengan program yang sama; misalnya, membuka beberapa contoh program yang sama sering berarti lebih dari satu proses sedang dijalankan.
Sinyal Interupsi
Sinyal Interupsi adalah pusat untuk sistem operasi, karena mereka menyediakan cara yang efisien untuk sistem operasi untuk berinteraksi dengan dan bereaksi terhadap lingkungannya. Pemrograman berbasis Interupsi didukung oleh sebagian besar CPU modern. Sinyal Interupsi memberikan komputer kemampuan mempergunakan register CPU dan memberikan respon tertentu terhadap sinyal yng diberikan. Bahkan komputer yang sangat dasar mendukung interupsi hardware, dan memungkinkan programmer untuk menentukan kode yang dapat dijalankan ketika sebuah respon diberikan.
Ketika sinyal interupsi diterima, hardware komputer secara otomatis menunda apa pun program yang sedang berjalan, menyimpan statusnya, dan menjalankan kode komputer yang diterima dari sinyal interupsi. Hal ini dapat dianalogikan dengan menempatkan penunjuk/pembatas di buku sebagai tanggapan terhadap panggilan telepon. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi. Interupsi dapat berasal dari hardware baik komputer atau dari program berjalan.
Ketika sebuah perangkat keras memicu interupsi, kernel sistem operasi memutuskan bagaimana menangani hal ini, umumnya dengan menjalankan beberapa kode proses. Jumlah kode yang dijalankan tergantung pada prioritas interupsi (misalnya: seseorang biasanya merespon alarm detektor asap sebelum menjawab telepon). Pengolahan interupsi hardware adalah tugas yang biasanya didelegasikan kepada perangkat lunak yang disebut driver perangkat, yang dapat berupa bagian dari kernel sistem operasi, bagian dari program lain, atau keduanya. Device driver kemudian dapat menyampaikan informasi ke program berjalan dengan berbagai cara.
Suatu program juga dapat memicu interupsi ke sistem operasi. Jika sebuah program ingin mengakses hardware misalnya, dapat memberikan interupsi/gangganggu pada kernel sistem operasi, yang menyebabkan kontrol untuk dilewati kembali ke kernel. Kernel kemudian akan memproses permintaan tersebut. Jika sebuah program ingin sumber daya tambahan (atau ingin menumpahkan sumber daya) seperti memori, ia akan memicu interupsi untuk mendapatkan perhatian kernel.
Manajemen Memory
Pada sebuah sistem operasi multiprogramming, kernel harus bertanggung jawab untuk mengelola semua sistem memori yang sedang digunakan oleh program. Hal ini memastikan bahwa program tidak mengganggu memori sudah digunakan oleh program lain. Karena program berbagi waktu CPU, setiap program harus memiliki akses independen ke memori.
Cooperative Memory Management, yang digunakan oleh banyak sistem operasi awal, mengasumsikan bahwa sebuah program dapat secara sukarela menggunakan manajer memori kernel selama tidak melebihi memori yang dialokasikan. Sistem manajemen memori seperti ini hampir tidak pernah terlihat lagi, karena program sering mengandung bug yang dapat menyebabkan mereka untuk melebihi memori yang dialokasikan. Jika program gagal, dapat menyebabkan memori yang digunakan oleh satu atau lebih program lain akan terpengaruh atau ditimpa. Program jahat atau virus sengaja dapat mengubah memori program lain, atau dapat mempengaruhi pengoperasian sistem operasi itu sendiri. Pada Cooperative memory management, hanya dibutuhkan satu program yang bertingkah aneh untuk membuat sistem crash.
Perlindungan memori memungkinkan kernel untuk membatasi proses akses ke memori komputer. Saat ini ada berbagai metode perlindungan memori, termasuk segmentasi memori dan paging. Semua metode memerlukan beberapa tingkat dukungan hardware yang tidak ada di semua komputer
Dalam segmentasi dan paging, beberapa register dengan modus terproteksi tertentu akan menentukan CPU alamat memori yang mana yang memungkinkan untuk diakses oleh system yang berjalan. Upaya untuk mengakses alamat lainnya akan memicu interrupt yang akan menyebabkan CPU untuk masuk kembali ke modus supervisor dan memberikan tanggung jawab pembagian memory kembali ke kernel. Ini disebut pelanggaran segmentasi dan kernel akan berusaha untuk menghentikan program ‘nakal’.
Memori Virtual
Dalam ilmu komputer, memori virtual adalah teknik manajemen memori yang dikembangkan untuk kernel multitugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer dari komputer penyimpanan data (seperti memori akses acak dan cakram penyimpanan), yang memungkinkan sebuah program harus dirancang seolah-olah hanya ada satu jenis memori, memori "virtual", yang bertindak secara langsung beralamat memori baca/tulis (RAM).
Sebagian besar sistem operasi modern yang mendukung memori virtual juga menjalankan setiap proses di ruang alamat khususnya sendiri. Setiap program dengan demikian tampaknya memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS1 dan OS/VS2 SVS) dan bahkan yang modern yang (seperti IBM i) adalah sistem operasi ruang alamat tunggal yang menjalankan semua proses dalam ruang alamat tunggal yang terdiri dari memori virtual.
Modul Makalah - Memori virtual membuat pemrograman aplikasi lebih mudah oleh fragmentasi persembunyian dari memori fisik; dengan mendelegasikan ke kernel beban dari mengelola hierarki memori (sehingga menghilangkan keharusan untuk program dalam mengatasi hamparan secara eksplisit); dan, bila setiap proses berjalan dalam ruang alamat khususnya sendiri, dengan menghindarkan kebutuhan untuk merelokasi kode program atau untuk mengakses memori dengan pengalamatan relatif.
Virtualisasi memori adalah generalisasi dari konsep memori virtual.
Sistem Masukkan dan Keluaran
Pengelolaan perangkat masukkan dan keluaran merupakan aspek perancangan system operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat itu
Manajemen perangkat masukkan dan keluaran mempunyai beragam fungsi, diantaranya:
Klasifikasi perangkat masukan dan keluaran
Perangkat masukan dan keluaran merupakan komponen yang paling banyak jenis dan dapat dikelompikkan dengan beragam kriteria, antara lain:
A. Berdasakan sifat aliran data
Perangkat berdasarkan sifat aliran data terbagi menjadi dua, yaitu:
1. Perangkat berorientasi Block.
Perangkat ini menyimpan informasi dan menukarkan (menerima/mengirim) informasi sebagai blok-blok berukuran tetap.
Setiap blok memiliki alamat tersendiri. Ukuran blok dapat beragam tergantung perangkat, dari 128 byte hingga 1024 byte. Ciri utama dari perangkat ini adalah dimungkinkannya membaca atau menulis blok-blok secara independen, yaitu membaca dan menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh dari perangkat ini adalah: disk, tape, CD ROM, optical disk, dll.
2. Perangkat berorientasi aliran karakter.
Perangkat ini mengantarkan atau menerima aliran karakter tanpa peduli membentuk suatu struktur blok. Contoh perangkat ini adalah terminal, printer, dll.
Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kedua kategori tersebut, seperti: clock, sensor, mouse, dll.
B. Berdasarkan sasaran komunikasi
Klasifikasi perangkat masukan dan keluaran berdasarkan sasaran komunikasi dapat dibagi menjadi:
1. Perangkat yang terbaca oleh Manusia
Contoh perangkat ini adalah: monitor, keyboard,
2. Perangkat yang terbaca oleh mesin
Contoh perangkat ini adalah: disk, tape, sensor, controller, card reader, dll.
3. Untuk komunikasi
Perangkat ini adalah perangkat untuk berkomunikasi jarak jauh. Contoh dari perangkat ini adalah: Modem, LAN Card, dll.
Sistem Berkas
Akses ke data yang tersimpan pada disk adalah fitur utama dari semua sistem operasi. Komputer menyimpan data pada disk menggunakan file, yang disusun dalam cara-cara khusus untuk memungkinkan untuk akses lebih cepat, keandalan yang tinggi, dan untuk penggunaan ruang drive yang lebih baik. Cara khusus di mana file tersebut disimpan pada disk disebut sistem file, dan memungkinkan file untuk memiliki nama dan atribut. Hal ini juga memungkinkan mereka untuk disimpan dalam hirarki direktori atau folder yang diatur dalam pohon direktori.
Sistem operasi Awal umumnya didukung satu jenis disk drive dan hanya satu jenis sistem file. Sistem file awal dibatasi oleh kapasitas, kecepatan, dan struktur penamaan file dan direktori yang bisa diggunakan. Keterbatasan ini merupakan cerminan dari keterbatasan sistem operasi yang ada, sehingga sangat sulit untuk sistem operasi untuk mendukung lebih dari satu sistem file.
Sementara banyak sistem operasi sederhana yang memikliki berbagai pilihan untuk mengakses sistem penyimpanan. Sistem operasi seperti UNIX dan Linux mendukung teknologi yang dikenal sebagai Virtual File System atau VFS. Sebuah sistem operasi seperti UNIX mendukung beragam perangkat penyimpanan, terlepas dari desain atau bentuk berkas dari sistem tersebut, yang memungkinkan mereka untuk dapat diakses melalui antarmuka pemrograman aplikasi umum (common API). Hal ini membuat tidak perlu untuk program untuk memiliki pengetahuan tentang perangkat mereka mengakses. Sebuah VFS memungkinkan sistem operasi untuk mengakses perangkat yang terinstal pada jumlah yang tak terbatas file, melalui penggunaan driver perangkat tertentu dan driver sistem file.
Sebuah perangkat penyimpanan yang terhubung, seperti hard drive, diakses melalui device driver. Device driver lah yang memahami bahasa spesifik drive dan mampu menterjemahkan bahasa tersebut enjadi bahasa standar yang digunakan oleh sistem operasi untuk mengakses semua disk drive. Pada UNIX, ini adalah bahasa block device.
Ketika kernel memiliki driver yang sesuai, maka system akan dapat mengakses isi disk drive dalam format yang ada, yang mungkin berisi satu atau lebih file sistem. Sebuah driver sistem file digunakan untuk menerjemahkan perintah yang digunakan untuk mengakses setiap sistem file tertentu ke dalam satu set standar perintah yang sistem operasi dapat gunakan untuk berbicara dengan semua sistem file. Program kemudian dapat menangani sistem berkas ini berdasarkan nama file, dan direktori / folder, yang ada di struktur hirarki. Program dapat membuat, menghapus, terbuka, dan menutup file, serta mengumpulkan berbagai informasi tentang mereka, termasuk hak akses, ukuran, ruang bebas, dan penciptaan dan tanggal modifikasi.
Berbagai perbedaan antara file sistem membuat dukungan untuk dapat mengakses semua sistem file menjadi sulit. Diizinkannya karakter-karakter khusus dalam nama file, perbedaan sensitivitas karakter, dan adanya berbagai jenis atribut berkas membuat implementasi antarmuka tunggal untuk setiap sistem file menjadi tugas yang menakutkan. Sistem operasi cenderung untuk merekomendasikan untuk menggunakan file sistem yang khusus dirancang untuk mereka; misalnya, NTFS di Windows dan, ext3 dan ReiserFS di Linux. Namun, dalam praktiknya, antarmuka dari pihak ketiga biasanya tersedia untuk memberikan dukungan akses terhadap sistem file yang secara luas diapakai (misalnya, NTFS tersedia di Linux melalui NTFS-3g, dan ext2 / 3 dan ReiserFS tersedia pada Windows melalui perangkat lunak pihak ketiga).
Dukungan untuk sistem file sangat bervariasi diantara sistem operasi modern, meskipun ada beberapa sistem file yang umum yang hampir semua sistem operasi pakai. Sistem operasi bervariasi pada dukungan file sistem dan pada format disk yang mereka gunakan. Pada Windows, setiap sistem berkas biasanya terbatas dalam aplikasi untuk media tertentu; misalnya, CD harus menggunakan ISO 9660 atau UDF, dan NTFS adalah satu-satunya sistem file yang digunakan sistem operasi Windows Vista ketika didiinstal. Untuk Linux, dimungkinkan untuk menginstal Linux ke berbagai jenis file sistem. Tidak seperti sistem operasi lain. Linux dan UNIX membolehkan bebagai sistem berkas untuk digunakan terlepas dari media yang digunakan, apakah itu hard drive, disk (CD, DVD ...), USB flash drive, atau bahkan terkandung dalam file yang terletak pada sistem file lain.
Sistem Proteksi
Keamanan system computer adalah untuk menjamin sumber daya tidak dipergunakan atau dimodifikasi oleh orang yang tidak diotorisasi. Pengamanan termasuk masalah teknis, manajerial, legalitas dan politis. Kemanan system terbagi menjadi tiga, yaitu:
a. Keamanan Eksternal
Keamanan eksternal berkaitan dengan pengamanan fasilitas computer dari penyusup dan bencana seperti kebakaran atau kebanjiran
b. Keamanan Interface Pengguna
Kemananan internface pemakai berkaitan dengan identifikasi pemakai sebelum pemakai diizinkan mengakses program dan data yang disimpan.
c. Kemanan Internal
Kemanan internal berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan system operasi yang menjamin operasi yang andal dan tak terkorupsi untuk menjaga integritas program dan data.
Istilah kemanan (security) dan proteksi (protection) sering digunakan secara bergantian. Untuk menghindari kesalahpahaman, istilah keamanan mengacu ke seluruh masalah dan istilah mekanisme proteksi mengacu pada mekanisme system yang digunakan untuk memproteksi/melindungi informasi pada system computer.
Masalah-masalah keamanan
Pada keamanan, terdapat dua masalah penting, yaitu:
1. Kehilangan data
Kehilangan data dapat disebabkan oleh beberapa sebab, diantaranya:
Kehilangan data dapat diatasi dengan mengelola beberapa backup dan backup ditempatkan jauh dari data orisinil
2. Penyusup
Penyusup terdiri dari penyusup pasif dan penyusup aktif:
Sekian artikel Modul Makalah tentang Komponen Utama Sistem Operasi Komputer dan Fungsinya.
Kernel
Dengan bantuan firmware dan driver perangkat, kernel menyediakan tingkat kontrol yang paling dasar atas semua perangkat keras komputer. Ia mengatur akses memori RAM untuk program-program, menentukan program mana yang mendapatkan akses ke sumber daya perangkat keras yang mana, setiap saat men-set up atau me-reset status operasi di CPU untuk optimalisasi proses, dan mengatur data untuk penyimpanan di media non-volatile dengan sistem file pada media seperti disk, kaset, memori flash, dll
Dalam komputasi, kernel adalah program komputer yang mengelola permintaan input / output dari perangkat lunak, dan menerjemahkannya ke dalam instruksi pemrosesan data untuk central processing unit dan komponen elektronik lainnya dari komputer. Kernel adalah bagian mendasar dari sistem operasi komputer modern.
image source: |
baca juga: Model-Model pada Sistem Operasi Komputer
Ketika sebuah program komputer (dalam konteks ini disebut proses) membuat permintaan ke kernel, permintaan disebut system call. Berbagai desain kernel berbeda dalam bagaimana mereka mengatur panggilan sistem dan sumber daya. Sebagai contoh, sebuah kernel monolitik mengeksekusi semua instruksi sistem operasi di ruang alamat yang sama untuk meningkatkan kinerja sistem. Sebuah kernel bertipe mikrokernel, menjalankan sebagian proses, yang pada monolitik dijalankan di latar belakang sistem operasi, di ruang pengguna. Hal ini untuk membuat sistem operasi yang lebih modular dan, oleh karena itu, lebih mudah dalam proses maintenance.
Karena sifat kritis, kode kernel biasanya dimuat ke memori area yang terlindungi (protected), untuk mencegah agar tidak tertimpa oleh sistem operasi atau program aplikasi lain. Kernel melakukan tugasnya, seperti melaksanakan proses dan penanganan interrupt, dalam ruang lingkungan kernel, sedangkan semua pengguna melakukan kegiatannya, dalam ruang pengguna, seperti menulis teks dalam editor teks atau menjalankan program dalam GUI (antarmuka pengguna grafis). Pemisahan ini dilakukan untuk mencegah data pengguna mengganggu data kernel dan dari mengganggu satu sama lain. Dengan demikian mengurangi kemungkinan yang dapat menyebabkan sistem menjadi tidak stabil (dan kemungkinan Crash).
Gambar 1. Kernel, Software dan Hardware |
Sistem operasi menyediakan sebuah antarmuka antara program aplikasi dan perangkat keras komputer, sehingga program aplikasi dapat berinteraksi dengan perangkat keras hanya dengan mematuhi peraturan dan prosedur diprogram ke dalam sistem operasi. Sistem operasi juga merupakan satu set layanan yang menyederhanakan pengembangan dan pelaksanaan program-program aplikasi. Pelaksana program aplikasi melibatkan pembuatan proses oleh kernel sistem operasi yang memberikan ruang memori dan sumber daya lainnya, menetapkan pada prioritas untuk proses dalam sistem multi-tasking, banyak program kode biner ke dalam memori, dan memulai pelaksanaan program aplikasi yang kemudian berinteraksi dengan pengguna dan dengan perangkat keras.
Dalam komputasi, proses adalah turunan dari program komputer yang sedang dijalankan. Proses berisi kode program dan kegiatan saat ini. Tergantung pada sistem operasi (OS) yang dipakai, proses dapat terdiri dari beberapa thread eksekusi yang mengeksekusi instruksi secara bersamaan.
Sebuah program komputer adalah kumpulan instruksi pasif; proses adalah pelaksanaan sebenarnya instruksi tersebut. Beberapa proses dapat dikaitkan dengan program yang sama; misalnya, membuka beberapa contoh program yang sama sering berarti lebih dari satu proses sedang dijalankan.
Sinyal Interupsi
Sinyal Interupsi adalah pusat untuk sistem operasi, karena mereka menyediakan cara yang efisien untuk sistem operasi untuk berinteraksi dengan dan bereaksi terhadap lingkungannya. Pemrograman berbasis Interupsi didukung oleh sebagian besar CPU modern. Sinyal Interupsi memberikan komputer kemampuan mempergunakan register CPU dan memberikan respon tertentu terhadap sinyal yng diberikan. Bahkan komputer yang sangat dasar mendukung interupsi hardware, dan memungkinkan programmer untuk menentukan kode yang dapat dijalankan ketika sebuah respon diberikan.
Ketika sinyal interupsi diterima, hardware komputer secara otomatis menunda apa pun program yang sedang berjalan, menyimpan statusnya, dan menjalankan kode komputer yang diterima dari sinyal interupsi. Hal ini dapat dianalogikan dengan menempatkan penunjuk/pembatas di buku sebagai tanggapan terhadap panggilan telepon. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi. Interupsi dapat berasal dari hardware baik komputer atau dari program berjalan.
Ketika sebuah perangkat keras memicu interupsi, kernel sistem operasi memutuskan bagaimana menangani hal ini, umumnya dengan menjalankan beberapa kode proses. Jumlah kode yang dijalankan tergantung pada prioritas interupsi (misalnya: seseorang biasanya merespon alarm detektor asap sebelum menjawab telepon). Pengolahan interupsi hardware adalah tugas yang biasanya didelegasikan kepada perangkat lunak yang disebut driver perangkat, yang dapat berupa bagian dari kernel sistem operasi, bagian dari program lain, atau keduanya. Device driver kemudian dapat menyampaikan informasi ke program berjalan dengan berbagai cara.
Suatu program juga dapat memicu interupsi ke sistem operasi. Jika sebuah program ingin mengakses hardware misalnya, dapat memberikan interupsi/gangganggu pada kernel sistem operasi, yang menyebabkan kontrol untuk dilewati kembali ke kernel. Kernel kemudian akan memproses permintaan tersebut. Jika sebuah program ingin sumber daya tambahan (atau ingin menumpahkan sumber daya) seperti memori, ia akan memicu interupsi untuk mendapatkan perhatian kernel.
Gambar 2. Sinyal Interupsi dan penanganannnya |
Manajemen Memory
Pada sebuah sistem operasi multiprogramming, kernel harus bertanggung jawab untuk mengelola semua sistem memori yang sedang digunakan oleh program. Hal ini memastikan bahwa program tidak mengganggu memori sudah digunakan oleh program lain. Karena program berbagi waktu CPU, setiap program harus memiliki akses independen ke memori.
Cooperative Memory Management, yang digunakan oleh banyak sistem operasi awal, mengasumsikan bahwa sebuah program dapat secara sukarela menggunakan manajer memori kernel selama tidak melebihi memori yang dialokasikan. Sistem manajemen memori seperti ini hampir tidak pernah terlihat lagi, karena program sering mengandung bug yang dapat menyebabkan mereka untuk melebihi memori yang dialokasikan. Jika program gagal, dapat menyebabkan memori yang digunakan oleh satu atau lebih program lain akan terpengaruh atau ditimpa. Program jahat atau virus sengaja dapat mengubah memori program lain, atau dapat mempengaruhi pengoperasian sistem operasi itu sendiri. Pada Cooperative memory management, hanya dibutuhkan satu program yang bertingkah aneh untuk membuat sistem crash.
Perlindungan memori memungkinkan kernel untuk membatasi proses akses ke memori komputer. Saat ini ada berbagai metode perlindungan memori, termasuk segmentasi memori dan paging. Semua metode memerlukan beberapa tingkat dukungan hardware yang tidak ada di semua komputer
Dalam segmentasi dan paging, beberapa register dengan modus terproteksi tertentu akan menentukan CPU alamat memori yang mana yang memungkinkan untuk diakses oleh system yang berjalan. Upaya untuk mengakses alamat lainnya akan memicu interrupt yang akan menyebabkan CPU untuk masuk kembali ke modus supervisor dan memberikan tanggung jawab pembagian memory kembali ke kernel. Ini disebut pelanggaran segmentasi dan kernel akan berusaha untuk menghentikan program ‘nakal’.
Memori Virtual
Dalam ilmu komputer, memori virtual adalah teknik manajemen memori yang dikembangkan untuk kernel multitugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer dari komputer penyimpanan data (seperti memori akses acak dan cakram penyimpanan), yang memungkinkan sebuah program harus dirancang seolah-olah hanya ada satu jenis memori, memori "virtual", yang bertindak secara langsung beralamat memori baca/tulis (RAM).
Sebagian besar sistem operasi modern yang mendukung memori virtual juga menjalankan setiap proses di ruang alamat khususnya sendiri. Setiap program dengan demikian tampaknya memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS1 dan OS/VS2 SVS) dan bahkan yang modern yang (seperti IBM i) adalah sistem operasi ruang alamat tunggal yang menjalankan semua proses dalam ruang alamat tunggal yang terdiri dari memori virtual.
Modul Makalah - Memori virtual membuat pemrograman aplikasi lebih mudah oleh fragmentasi persembunyian dari memori fisik; dengan mendelegasikan ke kernel beban dari mengelola hierarki memori (sehingga menghilangkan keharusan untuk program dalam mengatasi hamparan secara eksplisit); dan, bila setiap proses berjalan dalam ruang alamat khususnya sendiri, dengan menghindarkan kebutuhan untuk merelokasi kode program atau untuk mengakses memori dengan pengalamatan relatif.
Virtualisasi memori adalah generalisasi dari konsep memori virtual.
Gambar 3. Memori Virtual |
Pengelolaan perangkat masukkan dan keluaran merupakan aspek perancangan system operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat itu
Manajemen perangkat masukkan dan keluaran mempunyai beragam fungsi, diantaranya:
- Mengirimkan perintah ke perangkat masukan dan keluaran agar menyediakan layanan.
- Menangani interupsi perangkat masukan dankeluaran
- Menangani kesalahan pada perangkat masukan dan keluaran
- Menyediakan interface ke pamakai
Klasifikasi perangkat masukan dan keluaran
Perangkat masukan dan keluaran merupakan komponen yang paling banyak jenis dan dapat dikelompikkan dengan beragam kriteria, antara lain:
A. Berdasakan sifat aliran data
Perangkat berdasarkan sifat aliran data terbagi menjadi dua, yaitu:
1. Perangkat berorientasi Block.
Perangkat ini menyimpan informasi dan menukarkan (menerima/mengirim) informasi sebagai blok-blok berukuran tetap.
Setiap blok memiliki alamat tersendiri. Ukuran blok dapat beragam tergantung perangkat, dari 128 byte hingga 1024 byte. Ciri utama dari perangkat ini adalah dimungkinkannya membaca atau menulis blok-blok secara independen, yaitu membaca dan menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh dari perangkat ini adalah: disk, tape, CD ROM, optical disk, dll.
2. Perangkat berorientasi aliran karakter.
Perangkat ini mengantarkan atau menerima aliran karakter tanpa peduli membentuk suatu struktur blok. Contoh perangkat ini adalah terminal, printer, dll.
Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kedua kategori tersebut, seperti: clock, sensor, mouse, dll.
B. Berdasarkan sasaran komunikasi
Klasifikasi perangkat masukan dan keluaran berdasarkan sasaran komunikasi dapat dibagi menjadi:
1. Perangkat yang terbaca oleh Manusia
Contoh perangkat ini adalah: monitor, keyboard,
2. Perangkat yang terbaca oleh mesin
Contoh perangkat ini adalah: disk, tape, sensor, controller, card reader, dll.
3. Untuk komunikasi
Perangkat ini adalah perangkat untuk berkomunikasi jarak jauh. Contoh dari perangkat ini adalah: Modem, LAN Card, dll.
Sistem Berkas
Akses ke data yang tersimpan pada disk adalah fitur utama dari semua sistem operasi. Komputer menyimpan data pada disk menggunakan file, yang disusun dalam cara-cara khusus untuk memungkinkan untuk akses lebih cepat, keandalan yang tinggi, dan untuk penggunaan ruang drive yang lebih baik. Cara khusus di mana file tersebut disimpan pada disk disebut sistem file, dan memungkinkan file untuk memiliki nama dan atribut. Hal ini juga memungkinkan mereka untuk disimpan dalam hirarki direktori atau folder yang diatur dalam pohon direktori.
Sistem operasi Awal umumnya didukung satu jenis disk drive dan hanya satu jenis sistem file. Sistem file awal dibatasi oleh kapasitas, kecepatan, dan struktur penamaan file dan direktori yang bisa diggunakan. Keterbatasan ini merupakan cerminan dari keterbatasan sistem operasi yang ada, sehingga sangat sulit untuk sistem operasi untuk mendukung lebih dari satu sistem file.
Sementara banyak sistem operasi sederhana yang memikliki berbagai pilihan untuk mengakses sistem penyimpanan. Sistem operasi seperti UNIX dan Linux mendukung teknologi yang dikenal sebagai Virtual File System atau VFS. Sebuah sistem operasi seperti UNIX mendukung beragam perangkat penyimpanan, terlepas dari desain atau bentuk berkas dari sistem tersebut, yang memungkinkan mereka untuk dapat diakses melalui antarmuka pemrograman aplikasi umum (common API). Hal ini membuat tidak perlu untuk program untuk memiliki pengetahuan tentang perangkat mereka mengakses. Sebuah VFS memungkinkan sistem operasi untuk mengakses perangkat yang terinstal pada jumlah yang tak terbatas file, melalui penggunaan driver perangkat tertentu dan driver sistem file.
Sebuah perangkat penyimpanan yang terhubung, seperti hard drive, diakses melalui device driver. Device driver lah yang memahami bahasa spesifik drive dan mampu menterjemahkan bahasa tersebut enjadi bahasa standar yang digunakan oleh sistem operasi untuk mengakses semua disk drive. Pada UNIX, ini adalah bahasa block device.
Ketika kernel memiliki driver yang sesuai, maka system akan dapat mengakses isi disk drive dalam format yang ada, yang mungkin berisi satu atau lebih file sistem. Sebuah driver sistem file digunakan untuk menerjemahkan perintah yang digunakan untuk mengakses setiap sistem file tertentu ke dalam satu set standar perintah yang sistem operasi dapat gunakan untuk berbicara dengan semua sistem file. Program kemudian dapat menangani sistem berkas ini berdasarkan nama file, dan direktori / folder, yang ada di struktur hirarki. Program dapat membuat, menghapus, terbuka, dan menutup file, serta mengumpulkan berbagai informasi tentang mereka, termasuk hak akses, ukuran, ruang bebas, dan penciptaan dan tanggal modifikasi.
Berbagai perbedaan antara file sistem membuat dukungan untuk dapat mengakses semua sistem file menjadi sulit. Diizinkannya karakter-karakter khusus dalam nama file, perbedaan sensitivitas karakter, dan adanya berbagai jenis atribut berkas membuat implementasi antarmuka tunggal untuk setiap sistem file menjadi tugas yang menakutkan. Sistem operasi cenderung untuk merekomendasikan untuk menggunakan file sistem yang khusus dirancang untuk mereka; misalnya, NTFS di Windows dan, ext3 dan ReiserFS di Linux. Namun, dalam praktiknya, antarmuka dari pihak ketiga biasanya tersedia untuk memberikan dukungan akses terhadap sistem file yang secara luas diapakai (misalnya, NTFS tersedia di Linux melalui NTFS-3g, dan ext2 / 3 dan ReiserFS tersedia pada Windows melalui perangkat lunak pihak ketiga).
Dukungan untuk sistem file sangat bervariasi diantara sistem operasi modern, meskipun ada beberapa sistem file yang umum yang hampir semua sistem operasi pakai. Sistem operasi bervariasi pada dukungan file sistem dan pada format disk yang mereka gunakan. Pada Windows, setiap sistem berkas biasanya terbatas dalam aplikasi untuk media tertentu; misalnya, CD harus menggunakan ISO 9660 atau UDF, dan NTFS adalah satu-satunya sistem file yang digunakan sistem operasi Windows Vista ketika didiinstal. Untuk Linux, dimungkinkan untuk menginstal Linux ke berbagai jenis file sistem. Tidak seperti sistem operasi lain. Linux dan UNIX membolehkan bebagai sistem berkas untuk digunakan terlepas dari media yang digunakan, apakah itu hard drive, disk (CD, DVD ...), USB flash drive, atau bahkan terkandung dalam file yang terletak pada sistem file lain.
Sistem Proteksi
Keamanan system computer adalah untuk menjamin sumber daya tidak dipergunakan atau dimodifikasi oleh orang yang tidak diotorisasi. Pengamanan termasuk masalah teknis, manajerial, legalitas dan politis. Kemanan system terbagi menjadi tiga, yaitu:
- Keamanan eksternal
- Keamanan interface pengguna
- Keamanan internal
a. Keamanan Eksternal
Keamanan eksternal berkaitan dengan pengamanan fasilitas computer dari penyusup dan bencana seperti kebakaran atau kebanjiran
b. Keamanan Interface Pengguna
Kemananan internface pemakai berkaitan dengan identifikasi pemakai sebelum pemakai diizinkan mengakses program dan data yang disimpan.
c. Kemanan Internal
Kemanan internal berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan system operasi yang menjamin operasi yang andal dan tak terkorupsi untuk menjaga integritas program dan data.
Istilah kemanan (security) dan proteksi (protection) sering digunakan secara bergantian. Untuk menghindari kesalahpahaman, istilah keamanan mengacu ke seluruh masalah dan istilah mekanisme proteksi mengacu pada mekanisme system yang digunakan untuk memproteksi/melindungi informasi pada system computer.
Masalah-masalah keamanan
Pada keamanan, terdapat dua masalah penting, yaitu:
1. Kehilangan data
Kehilangan data dapat disebabkan oleh beberapa sebab, diantaranya:
- Bencana
- Kesalahan perangkat keras dan perangkat lunak
- Kesalahan/kelalaian manusia
2. Penyusup
Penyusup terdiri dari penyusup pasif dan penyusup aktif:
- Penyusup pasif adalah para pembaca data yang tidak diotorisasi
- Penyusup aktif adalah para pembaca data yang tidak diotorisasi dan kemudia merubah data.
Sekian artikel Modul Makalah tentang Komponen Utama Sistem Operasi Komputer dan Fungsinya.