Selasa, 30 Mei 2017

Prinsip Perangkat Lunak

              Pemanfaatan perangkat lunak untuk mengelola I/O ini pada dasarnya adalah mengorganisasikan software dalam beberapa layer dimana level bawah menyembunyikan akses atau kerumitan hardware untuk level diatasnya. Level akan berfungsi sebagai antar muka atau interface ke pengguna. Adapun kriteria, karakteristik atau tujuan perangkat lunak I/O adalah :

a. Konsep dalam desain software I/O, merupakan device independence dan tidak bergantung pada device yang digunakan.

b. Penamaan yang seragam / Uniform Naming. Penamaan file berkas atau perangkat adalah string atau integer dan harus sederhana, tidak bergantung pada device Contoh : seluruh disks dapat dibuat dengan hirarki sistem file (menggunakan NPS).

c. Penanganan kesalahan / Error Handling. Error harus ditangani sedekat mungkin dengan hardware. Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri pesan

d. Synchronous (blocking) dan Asynchronous (Interrupt Driver) transfer Kebanyakan I/O adalah asinkron. Pemroses memulai transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, pemrogram ditunda secara otomatis sampai data tersedia di buffer.

e. Sharable vs Dedicated Device. Beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat. Misal : disk untuk sharable dan printer untuk dedicated







Perangkat Berorientasi Blok

             Menyimpan informasi dan menukarkan (menerima / mengirim) informasi sebagai blok-blok berukuran tetap. Tiap blok mempunyai alamat tersendiri. Ukuran blok dapat beragam antara 128 s/d 1024 byte. 

Ciri utamanya adalah : dimungkinkan membaca / menulis blok-blok secara independent, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. 

Contohnya : disk, tape, CD ROM, Optical disk

B. Perangkat berorientasi karakter (character-oriented devices)
Mengirim atau menerima karakter dan tanpa peduli membentuk suatu struktur blok, not addresable dan tidak mempunyai operasi seek. Contohnya : terminals, line printer, punch card, network interfaces, pita kertas, mouse. Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya : 

1) clock yang tidak teramati secara blok dan juga tidak menghasilkan / menerima aliran karakter. Clock menyebabkan interupsi pada interval-interval yang didefinisikan. 
2) Memory mapped screen dan 3) sensor.


Sedangkan berdasarkan sasaran komunikasi perangkat keras I/O dibedakan menjadi tiga yaitu : :

A. Perangkat yang terbaca oleh manusia (human readable device)
Perangkat yang cocok untuk komunikasi dengan manusia. Contohnya : VDT (Video Display Terminal) terdiri dari monitor, keyboard (+mouse)

B. Perangkat yang terbaca oleh mesin (machine readable device)
Perangkat yang cocok untuk komunikasi dengan perangkat elektronik. Contohnya : disk, tape, sensor, controller, aktuator

C. Perangkat Untuk komunikasi. Perangkat yang cocok untuk komunikasi dengan perangkat jarak jauh, seperti infrared, blutooth, wireless dll.

             Unit I/O meliputi dua komponen yaitu komponen elektronik dan komponen mekanik. Komponen elektronik berfungsi sebagai device controler atau adapter yang digunakan untuk untuk mengaktifkan perangkat eksternal dan memberitahukan kepada CPU yang perlu dilakukan oleh perangkat / driver. Suatu 

cntoh: unit tape megnetik diinstruksikan untuk kembali ke posisi awal atau bergerak ke record berikutnya dan sebagainya. Sementara itu teknik untuk mengoperasikan perangkat I/O meliputi tiga cara yaitu: 
1) Perangkat I/O terprogram atau programmed I/O. 
2) Perangkat berkendalikan interupsi atau Interrupt I/O dan 
3) DMA (Direct Memory Ad- dress). Programmed I/O merupakan teknik mengoperasikan perangkat I/O kom-puter yang dikontrol oleh program. Contohnya, perintah mesin in, out, move.

             Interrupt I/O merupakan teknik untuk mengkoordinasikan pengalihan dan mengoperasikan perangkat I/O. Konsep interupsi berguna di dalam sistem operasi dan beberapa aplikasi kontrol di mana pemrosesan rutin tertentu harus diatur dengan seksama dan secara relatif untuk peristiwa-peristiwa eksternal.

              DMA adalah suatu cara pemindahan data atau informasi dari memori ke perangkat I/O atau sebaliknya yang dilakukan secara langsung tanpa campur tangan dari prosesor. DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan I/O device. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA Controller dengan mengirimkan beberapa informasi yaitu: 
1) perintah penulisan atau pembacaan. 
2) Alamat I/O device. 
3) awal lokasi memori yang ditulis atau dibaca dan 
4) Jumlah word / byte yang ditulis / dibaca


               Setelah mengirimkan informasi itu ke DMA Controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta ke atau dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirimkan sinyal interupsi ke pemroses. Pemroses hanya dilibatkan pada awal dan akhir transfer data. 

               Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA,pemroses hanya melakukan interupsi bila operasi telah selesai. Keuntungan penggunaan DMA ini ialah peningkatan kinerja prosesor atau I/O adan meminimasikan over head. Pada waktu data di tranfer dari controller ke memori, sektor berikut akan melewati dibawah head dan bits sampai ke controller. Controller tidak dapat melakukan akses ke I/O dalam waktu yang bersamaan, maka dilakukan inter-leaving (skip blok). Hal ini memberi waktu untuk tranfer data ke memori. Interleaving ini terjadi pada disk bukan pada memori.







Prinsip Perangkat Keras Input Output

          Ruang lingkup atau batasan dalam manajemen perangkat keras input/output adalah bagaimana perangkat keras input output itu dikelola dan diprogram agar dapat berjalan dengan baik. Manajemen perangkat I/O mempunyai beragam fungsi dan fungsi antara lain adalah sebagai berikut: :

 mengirimkan perintah ke perangkat I/O untuk menyediakan layanan akses.

 menangani interupsi perangkat I/O.

 menangani kesalahan pada perangkat I/O.

 menyediakan interface ke pemakai.







Virtual Memori

           Memori virtual adalah teknik manajemen memor yang dikembangkan untuk kerne multi-tuga. Teknik ini divirtualisasika dalam berbagai bentuk arsitektur kompute dari komputer penyimpanan dat (seperti memori akses aca dan cakram penyimpana), yang memungkinkan sebuah progra harus dirancang seolah-olah hanya ada satu jenis memori dan bertindak secara langsung (RAM). 

           Sebagian besar sistem operasi modern yang mendukung memori virtual menjalankan setiap prose di ruang alama khusus. Setiap program memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS dan OS/VS2 SV) dan bahkan yang modern yang (seperti IBM ) memiliki ruang alamat tungga yang terdiri dari memori virtual untuk menjalankan semua proses.

           Memori virtual membuat pemrograman aplikasi lebih mudah untuk fragmentas persembunyian dari memori fisik. Dengan mendelegasikan ke kernel beban dalam mengelola hierarki memori. Sehingga menghilangkan keharusan program dalam mengatasi permasalahan secara eksplisit. 

           Ssetiap proses berjalan dalam ruang alamat khususnya, dengan menghindarkan kebutuhan untuk merelokas kode program atau untuk mengakses memori dengan pengalamatan relatif. Virtualisasi memor adalah generalisasi dari konsep memori virtual. 

           Melalui virtual memory sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama (RAM) dan sisanya di disk (memory virtual) Virtual memory dapat diimplementasikan dengan tiga cara, yaitu: Paging Segmentasi Kombinasi paging dan segmentasi. 

           Sistem paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, segment register, dll.
Dalam Segmentasi Alamat virtual dibagi menjadi dua bagian: Nomer Page (bit-bit awal) Offset (bit-bit akhir) Secara metematis: tabel page merupakan fungsi dgn nomer page sebagai argumen dan nomer frame sebagai hasil. 

           Dalam Kombinasi paging dan segmentasi komputer dilengkapi dengan komponen hardware kecil untuk pemetaan alamat virtual ke alamat fisik tanpa menelusuri seluruh tabel page. Komponen ini disebut memori asosiatif atau translation lookaside buffer, yang biasanya berada di dalam MMU, dan berisi beberapa entri. 







Ruang Alamat Logika Dan Ruang Alamat Fisik

            Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address) dimana alamat terlihat sebagai unit memory yang disebut alamat fisik (physical address). Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik. 

            Hasil skema waktu kompilasi dan waktu pengikatan alamat pada alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi berbeda. dalam hal ini, alamat logika disebut dengan alamat maya (virtual address).

           Himpunan dari semua alamat logika yang dibangkitkan oleh program disebut dengan ruang alamat logika (logical address space). Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita menggunakan alamat 1, maka kita pun menggunakan alamat 2,3, … dan untuk 1 informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini, maka dinamakan alamat relatif. 

           Dan alamat tersebut adalah logika dari untaian alamat yang menyimpan informasi maka dikenal alamat memori logika.
Himpunan dari semua alamat fisik yang berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical address space). Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka disebut juga alamat mutlak.

          Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.
Contoh : alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya = 14726-0 = 14726.
Tabel 3 Alamat relatif dan alamat mutlak memori 





Istilah Istilah Dalam Manajemen Memori

             Memori manajer adalah bagian dari sistem operasi yang mempunyai pengaruh dalam menentukan proses mana yang diletakkan pada antrian dan mengatur hirarki memori. Memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses
             Swapping merupakan pemindahan proses dari memori utama ke disk dan kembali lagi. Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. 

             Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut.

             Fragmentasi Eksternal terjadi pada situasi dimana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak berurutan. Fragmentasi eksternal dilakukan pada algoritma alokasi dinamis, terutama strategi first-fit dan best-fit. Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih besar dari pada memori yang diminta tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga tidak digunakan.

            Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. 

            paging diimplementasikan dalam suatu tabel page. Setiap sistem operasi mempunyai metode sendiri untuk untuk menyimpan tabel page. Tiga prinsip dasar dalam implementasi pageing yaitu: 
1)Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register. 
2) Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. 
3) Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs).
Multilevel paging digunakan pada sistem yang mempunyai ruang alamat logika yang sangat besar yaitu antara 232 s/d 264. Pada sistem ini, tabel page akan menjadi sangat besar. Misalnya untuk sistem dengan ruang alamat logika 32 bit dan ukuran page 4K byte, maka tabel page berisi 1 juta entry (232 / 212). Solusinya yaitu dengan melakukan partisi tabel ke beberapa beberapa bagian yang lebih kecil.

            Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.







Jenis - Jenis Memori

           Pada prinsipnya memori dalam sistem komputer dibedakan menjadi dua yaiyu memori kerja dan memori dukung atau backing store. Memori Kerja mempunyai tugas utaman untuk menampung pekerjaan pada saat sebelum dan sesudah pekerjaan itu dilaksanakan oleh prosesor dan menampung berbagai hal yang diperlukan prosesor, contohnya system operasi, system bahasa, catatan. Beberapa Contoh memori kerja untuk memori tetap adalah: :

 ROM (Read Only Memory), adalah memori yang hanya dapat baca saja.

 PROM (Programmable ROM), adalah memori yang dapat diprogram tetapi tidak dapat dihapus lagi

 EPROM (Electrically PROM), adalah memori yang dapat diisi melalui listrik, dan dapat dihapus.

 EEPROM (Erasable EPROM), adalah memori yang dapat diisi dan dihapus dengan listrik, maka ciri utamanya adalah isi tetap ada / tidak mudah dihapus meskipun daya listrik computer terputus.

 Registe mikroproseso. Memori yang memiliki ukurannya paling kecil tapi memiliki waktu akses paling cepat, umumnya hanya 1 siklus CPU saja.


Sementara itu Contoh memori kerja untuk memori bebas adalah :

 RAM (Random Access Memory): memori yang dapat diisi dan dapat dibaca. Ciri utamanya adalah mengenal asas pemuktahiran yaitu dapat diisi dengan informasi terbaru dan isi akan hilang jika catu daya padam.

 Cache memory. Memori berkapasitas kecil tetapi berkecepatan tinggi, yang dipasang diantara prosesor dan memori utama. Instruksi dan data yang sering diakses oleh prosesor ditempatkan dalam chace sehingga dapat lebih cepat diakses oleh prosesor. Jika data atau instruksi yang diperlukan tidak tersedia dalam chacce, prosesor akan mencari dalam memori utama. Cach memory disusun berdasarkan kedekatannya dengan prosesor (level-1, level-2, level-3, dan seterusnya). Level cache memori tersebut dibedakan berdasarkan kapasitasnya.
Memori kerja terdiri dari sel memori yang berisi 1 kata sandi, misalnya sistem 8 bit menggunakan 8 bit kata sandi, sistem 1 kbyte menggunakan 1024 byte kata sandi. Sementara itu yang termasuk dalam Memori Dukung / backing store adalah: Floppy, Harddisk, CD, tape magnetik, flash disk dll.







Fungsi Dari Manajemen Memori


Fungsi menejemen memori tersebut adalah :

1. Meningkatkan kinerja atau Utilitas CPU.

2. meningkatkan kecepatan akses CPU terhadap data dan instruksi Data dan instruksi dapat diakses dengan cepat oleh CPU.

3. meningkatkan efisensi pemakaian memori yang terbatas.

4. Meningkatkan efisiensi transfer atau perpindahan data dari atau ke memori utama dan dari atau ke CPU.

5. Mengelola informasi yang dipakai dan tidak dipakai.

6. Mengalokasikan memori ke proses yang memerlukan.

7. Mendealokasikan memori dari proses telah selesai.

8. Mengelola swapping atau paging antara memori utama dan disk.







Definisi Memori Dan Manajemen Memori

            Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. 

            Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses. 

            Pengelolaan memori utama sangat penting untuk sistem komputer, penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer. Fungsi manajemen memori mempunyai peranan sangat penting dalam sistem komputer. 







Penjadwalan Proses atau Tugas Untuk Menggunakan Schedule Task

             Task Scheduler (taskschd.msc) adalah komponen dari Microsoft Windows yang menyediakan kemampuan untuk menjadwalkan menjalankan program atau script pada waktu yang telah ditentukan atau setelah interval waktu tertentu. Kompoenen ini Ini pertama kali diperkenalkan di Windows 95 Plus! Komponen ini merupakan satu paket sebagai Sistem Agent namun kemudian diganti dengan nama Task Scheduler di Windows 98. Layanan Windows Event Log harus berjalan sebelum Task Scheduler dijalankan. Layanan ini berbeda scheduler yang mengalokasikan sumber daya CPU untuk proses sudah di memori.

             Task Scheduler Xversi 1.0 disertakan dengan Windows 2000, Windows XP dan Windows Server 2003. Ini berjalan sebagai Windows Service, dan definisi tugas dan jadwal yang tersimpan dalam file biner pekerjaan.. Tugas dapat dimanipulasi secara langsung dengan memanipulasi file pekerjaan.. 

             Tugas dapat ditambahkan atau dihapus dengan menggunakan alat baris perintah AT atau schtasks. Setiap tugas sesuai dengan tindakan tunggal. Pada Windows 95, Windows 98 dan Windows Me, Task Scheduler berjalan sebagai sebuah aplikasi (mstask.exe). Hal ini juga menampilkan ikon status di area notifikasi pada Windows 95 dan Windows 98 dan berjalan sebagai sebuah layanan tersembunyi pada Windows Me, tetapi dapat dibuat untuk menunjukkan tray icon. 

            [4] Pada keluarga Windows NT sistem operasi, itu adalah diimplementasikan sebagai Windows service.Task Scheduler 1.0 menghadapkan API untuk pemrograman membuat tugas. Hal ini diakses melalui antarmuka ITaskScheduler COM.

            Task Scheduler 2.0 diperkenalkan dengan Windows Vista dan termasuk dalam Windows Server 2008 juga. Selain menjalankan tugas pada waktu yang dijadwalkan atau interval tertentu , Task Scheduler 2.0 juga mendukung kalender dan memicu berdasarkan aktivitas, seperti memulai tugas ketika peristiwa tertentu: login ke log peristiwa atau ketika kombinasi peristiwa telah terjadi . 

            Beberapa tugas yang dipicu oleh peristiwa yang sama dapat dikonfigurasi untuk dijalankan baik secara bersamaan atau dalam urutan yang telah ditentukan. Tugas tersebut dapat dikonfigurasi untuk dijalankan berdasarkan status sistem seperti menjadi siaga untuk jumlah pra-konfigurasi waktu , pada startup , logoff, atau hanya selama atau untuk waktu tertentu. Ekspresi XPath dapat digunakan untuk menyaring peristiwa dari Windows Event Log . Tugas dapat ditunda untuk waktu tertentu setelah peristiwa yang memicu telah terjadi, atau mengulangi sampai beberapa peristiwa lain terjadi . 

            Tindakan yang perlu dilakukan jika gagal, diambil sebagai respon terhadap pemicu , baik berbasis event serta berdasarkan waktu. Task Scheduler mencakup sejumlah tindakan built-in, mencakup sejumlah aplikasi termasuk mengirim e-mail, menunjukkan kotak pesan. Tindakan kustom juga dapat ditentukan dengan menggunakan Task Scheduler API.Task Scheduler menyimpan log aktifitas semua rincian pelaksanaan tugas. 

            Windows Vista menggunakan Task Scheduler 2.0 untuk menjalankan berbagai tugas sistem tingkat. Layanan Task Scheduler tidak bisa lagi dinonaktifkan (kecuali dengan registry tweak sederhana). Microsoft menyediakan DLL agen penjadwalan, sampel VBScript dan file konfigurasi untuk mengotomatisasi Windows 2000/XP Task Scheduler.







Istilah - Istilah Dalam Penjadwalan Proses

             Scheduler adalah bagian sistem operasi yang mengatur penjadwalan eksekusi proses-proses. Algoritma penjadwalan atau scheduling algorithm adalah algoritma yang digunakan. Antrian, karena banyak proses yang muncul secara serentak maka dibuat antrian di depan prosesor, yang berada dalam keadaan siap dan hanya ada 1 proses yang berada dalam status kerja Prioritas, mendahulukan pada antrian proses karena tidak semua proses sama pentingnya, sehingga dibuat suatu prioritas. Dalam prioritas, pekerjaan pada prosesor diselesaikan dahulu baru proses berprioritas akan di proses Preempsi, sama dengan prioritas, tetapi pada preempsi jika ada proses yang mendapatkan preempsi maka preemsi akan menghentikan kerja prosesor dan mengeluarkan pekerjaan di dalam prosesor itu, sehingga proses berpreempsi dapat dilayani prosesor. Dan setelah proses berpreempsi selesai dilaksanakan, prosesor akan melaksanakan sisa proses yang dikeluarkan dari pekerjaannya tadi.

Jangka penjadwalan adalah merupakan interval atau range waktu dimana sistem operasi melalukan penjadwalan proses. Jangka waktu penjadwalan dibedakan menjadi tiga yaitu. 

a. Penjadwalan jangka pendek / short term scheduling / low level scheduling, yaitu mengurus masuknya antrian siap ke prosesor serta antrian siap ke alat peripheral I/O, yang mengurus prioritas dan preempsi.

b. Penjadwalan jangka medium / medium term scheduling / intermediate level scheduling, yaitu mengurus terhadap proses yang dikeluarkan dari prosesor yang belum rampung dikerjakan dan melanjutkan pekerjaan proses tersebut di prosesor.

c. Penjadwalan jangka panjang / long term scheduling / high level scheduling, yaitu mengurus masuknya pekerjaan baru berupa penentuan pekerjaan baru mana yang boleh diterima dan tugas disini diubah menjadi proses.







Penjadwalan Proses

           Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan proses yang harus berjalan dan Kapan dan selama berapa lama proses itu berjalan. Beberapa kriteria yang digunakan untuk mengukur kualitas suatu algoritma penjadwalan prosesor :

 Fairness atau pelayanan yang adil untuk semua pekerjaan. Proses-proses diperlukan sama yaitu mendapatkan jatah waktu dari pemroses yang sama, tak ada proses yang tidak mendapatkan layanan sehingga mengalami startvision. Sasaran pendjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses secara adil.

 Throughput / memaksimumkan throughput. Throughput adalah jumlah pekerjaan yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit dalam interval waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan.

 Efficiency / memaksimumkan pemakaian prosesor. Efesiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efesiensi mencapai maksimum. Sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.

 Respone time / meminimalkan respone time. Waktu tanggap dalam sistem interaktif adalah waktu yang dihabiskan dari karakter terakhir untuk baris perintah yang dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap ini disebut terminal response time. Waktu tanggap sistem real time adalah waktu dari saat kejadian (internal atau eksernal) sampai instruksi pertama program bagian dari layanan yang dimaksud dieksekusi.

 Meminimalkan Turn arround time. Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke system sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan dalam sistem, diekspresikan sebagai jumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu (Turn Arround Time = waktu eksekusi + waktu tunggu)







Konsep Manajemen Proses

             Proses adalah sebuah program yang sedang dieksekusi. Program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. 

             Sumber daya dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat masukan atau keluaran. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses. Ketika proses dihentikan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan oleh proses lainnya. Sistem operasi bertanggung jawab atas aktivitas yang berkaitan dengan manajemen proses.

 Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.

 Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.

 Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar.

 Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.

 Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi harus dapat memulihkan kondisinya.






Arsitektur Dasar Sistem Operasi Windows Vista,7,8

             Sistem operasi Windows memiliki arsitektur yang sangat modular. Setiap fungsi sistem dikelola oleh satu komponen dari sistem operasi. Semua aplikasi mengakses fungsi melalui komponen yang bertanggung jawab menggunakan antar muka data standar (data standar interfaces). 

             Key sistem hanya dapat diakses melalui sesuai fungsi. dalam arsitektur modular ini pada prinsipnya setiap modul dapat dihapus, upgrade, atau diganti tanpa menulis ulang seluruh sistem atau standar aplikasi program antarmuka (API). Berbagai ragam Kernel-mode komponen Windows adalah sebagai berikut:

 Exekutiv : Berisi dasar layanan sistem operasi, seperti manajemen memori, proses dan manajemen thread, keamanan, I / O, dan komunikasi interprocess.

 Kernel : Mengontrol eksekusi prosesor (s). Kernel mengelola benang penjadwalan, proses switching, pengecualian dan penanganan interupsi, dan multiprosesor sinkronisasi. Tidak seperti sisa Eksekutif dan tingkat pengguna, kode sendiri Kernel ini tidak berjalan di thread.

 Hardware Abstraction Layer (HAL) : Maps antara perintah hardware generic dan tanggapan dan mereka yang unik untuk platform tertentu. Ini mengisolasi OS dari platform-spesifik hardware differences.The HAL membuat setiap computer sistem bus, memori akses langsung (DMA) controller, interrupt controller, system timer, dan modul memori terlihat sama dengan Eksekutif dan Kernel komponen. Hal ini juga memberikan dukungan yang diperlukan untuk multiprocessing simetris (SMP), menjelaskan selanjutnya.

 Device Driver : Perpustakaan dinamis yang memperluas fungsionalitas dari Eksekutif. Ini termasuk driver perangkat keras yang menerjemahkan pengguna I / O fungsi panggilan ke perangkat hardware tertentu I / O permintaan dan komponen perangkat lunak untuk menerapkan sistem file, protokol jaringan, dan setiap ekstensi sistem lainnya yang perlu dijalankan dalam mode kernel.

 Windowing and Graphics System : Mengimplementasikan pengguna grafis antarmuka (GUI) fungsi, seperti berurusan dengan windows, antarmuka pengguna kontrol, dan menggambar. Executive Windows termasuk komponen untuk fungsi sistem tertentu dan menyediakan API bagi pengguna-mode software.
Berikut ini adalah deskripsi singkat dari masing-masing dari modul Eksekutif:

 I/O Manager. Menyediakan kerangka kerja di mana perangkat I / O dapat diakses untuk aplikasi, dan bertanggung jawab untuk pengiriman ke driver perangkat yang sesuai untuk diproses lebih lanjut. Manajer I / O menerapkan semua Windows I / O API dan keamanan menegakkan dan penamaan untuk perangkat, protokol jaringan, dan file system.

 Cache Manager. Meningkatkan kinerja berbasis file I / O dengan menyebabkan baru Data file yang direferensikan untuk berada di memori utama untuk akses cepat, dan dengan menunda disk menulis dengan memegang pembaruan dalam memori untuk waktu yang singkat sebelum mengirim mereka ke disk.

 Object Manager. Membuat, mengelola, dan menghapus objek Executive Windows dan tipe data abstrak yang digunakan untuk mewakili sumber daya seperti proses, benang, dan objek sinkronisasi. Ini memaksa aturan seragam untuk mempertahankan, penamaan, dan pengaturan keamanan objek. Manajer objek juga menciptakan objek menangani, yang terdiri dari informasi kontrol akses dan pointer ke benda object.Windows dibahas kemudian dalam bagian ini.

 Plug and Play Manager. Menentukan driver yang diperlukan untuk mendukung khususnya perangkat dan beban tersebut driver.

 Power Manager. Koordinat manajemen daya antara berbagai perangkat dan dapat dikonfigurasi untuk mengurangi konsumsi daya dengan mematikan perangkat menganggur, menempatkan prosesor untuk tidur, dan bahkan menulis semua memori ke disk dan menutup aliran listrik ke seluruh sistem.

 Security Reference Monitor. Memberlakukan akses-validasi dan audit generasi rules.The Windows model berorientasi objek memungkinkan untuk konsisten dan seragam melihat keamanan, sampai ke entitas mendasar yang membentuk Eksekutif. Dengan demikian, Windows menggunakan rutinitas yang sama untuk validasi akses dan untuk Audit memeriksa semua benda yang dilindungi, termasuk file, proses, ruang alamat, dan I / O device.

 Virtual Memory Manager. Mengelola alamat virtual, memori fisik, dan paging file pada disk. Kontrol hardware memori manajemen dan data struktur yang memetakan alamat virtual dalam ruang alamat proses untuk halaman fisik dalam memori komputer. 

 Process/thread Manager. Membuat, mengelola, dan proses menghapus dan thread object.

 Configuration Manager. Bertanggung jawab untuk melaksanakan dan mengelola system registry, yang merupakan repositori untuk kedua sistem yang luas dan berbagai parameter setiap pengaturan user.

 Local Procedure Call (LPC) Facility. Mengimplementasikan efisien lintas proses Prosedur panggilan mekanisme komunikasi antara proses lokal mengimplementasikan layanan dan subsistem. Serupa dengan panggilan prosedur remote (RPC) fasilitas yang digunakan untuk pengolahan terdistribusi.





Senin, 29 Mei 2017

Arsitektur MS-DOS

           Arsitektur sistem operasi MS-DOS menggunakan model struktur monolitik yang konstruksinya tidak terstruktur. Dalam arsitektur ini semua komponen sistem operasi tergabung atau bercampur menjadi satu, semua program bagian (fungsi, prosedure atau sub rutin) dapat mengakses program-program lainnya. 

           Pada sistem operasi MS-DOS, antara aplikasi dan sistem operasi tidak ada pemisahan yang jelas, yang menyebabkan mudahnya program-program virus memodifikasi dan merusak sistem operasi MS-DOS.

           Program aplikasi memiliki aksea untuk memodifikasi bagian sistem operasi (program resident, device driver MS-DOS maupun device driver BIOS).






Sistem Berorientasi Objek

           Layanan Sistem operasi sebagai kumpulan proses untuk menyelesaikan pekerjaannya, yang sering disebut dengan system operasi bermodel proses, sedangkan layanan system operasi sebagai objek disebut dengan system operasi berorentasi objek. Pendekatan objek dimaksudkan untuk mengadopsi keunggulan dari teknolgi berorientasi objek.

           Pada system operasi berorientasi objek, layanan diimplementasikan sebagai kumpulan objek, masing-masing objek diberi tipe yang menandai property objek seperti proses, dirktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang berada dalam objek tersebut dapat diakses dan dimodifikasi

Contoh dari system operasi berorentasi objek antara lain adalah: 
1) Eden 
2) Choices 
3) X-kernel. 
4) Medusa. 
5) Clunds.
6) Amoeba. 
7) Muse. 
8) Sistem operasi MS-Windows NT mengadopsi beberapa teknologi berorientasi objek tapi tidak secara keseluruhannya.






Sistem Operasi Client Server

               Sistem operasi modem memiliki kecendrungan untuk memindahkan kode ke lapisan yang lebih tinggi dan menghapus sebanyak mungkin, kode-kode tersebut dari sistem operasi sehingga akan meninggalkan keruel yang minimal. Konsep ini biasa diimplementasikan dengan dengan cara menjadikan fungsi-fungsi yang ada pada sistem operasi menjadi user proses. 

               Jika satu proses minta untuk dilayani, misalnya satu blok file, maka user proses {disini dinamakan: Client proses} mengirim permintaan tersebut ke user proses. Server proses akan melayani permintaan tersebutkemudian mengirimkan jawabannya kembali. Semua pekerjaan keruel dilakukan pada pengendalian komunikasi antara client dan server. 

               Dengan membagi sistem operasi menjadi beberapa lapisan, dimana tiap-tipa bagian mengendalikan satu segi sistem, seperti pelayanan file, pelayanan proses, pelayanan terminal, atau pelayanan memori, maka tiap-tiap bagian menjadi lebih sederhana dan dapat diatur selain itu, oleh karena semua server berjalan pada user mode proses, dan bukan merupakan monitor mode, maka server tidak dapat mengakses hardware secara lansung. 

               Akibatnya, jika terjadi kerusakan pada file server, maka pelayanan file akan terganggu. Namun hal ini tidak akan sampai menganggu sistem lainnya. Masalah yang sering terjadi pada system client –server adalah tidak semua tugas dapat dijalankan di tingkat pemakai, tapi kesulitan ini dapat di atas dengan:

 Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan dengan hardware.
 Mekanisme ke kernel seminimal mungkin sehingga pengaksesan ruang pemakai dapat dilakukan secepat mungkin


Keuntungan dari model client server ini antara lain adalah sebagai berikut:

 Dapat diadaptasikan pada sistem terdistribusi.
 Jika suatu client berkomunikasi dengan server dengan cara mengirimkan pesan, maka server tidak perlu tahu apakah pesan itu dikirim oleh dan dari mesin itu sendiri {local} atau dikirim oleh mesin yang lain melalui jaringan.
 Pengembangan dapat dilakukan secara modular
 Kesalahan pada suatu subsistem tidak menganggu subsistem lain sehingga tidak mengakibatkan system mati secara keseluruhan
Sedangkan kelemahan dari system client-server adalah : Pertukaran pesan dapat menjadi bottleneck dan Layanan dilakukan secara “lambat” karena harus melalui pertukaran pesan antar client-server






Sistem Mesin Virtual

             Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan sistem terlapis dengan tambahan berupa antarmuka yang menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses. Mesin virtual menyediakan antar muka yang identik untuk perangkat keras yang ada. 

             Sistem operasi ini membuat ilusi atau virtual untuk beberapa proses, masing-masing virtual proses mengeksekusi prosessornya dan memorinya (virtual) masing masing. Meskipun konsep ini cukup baik, namun cukup komplek untuk diimple-mentasikan, karena system menggunakan metode dual-mode. 

            Mesin virtual hanya dapat berjalan pada monitor-mode jika berupa sistem operasi, se-dangkan mesin virtual itu sendiri berjalan dalam bentuk user-mode. Konsek-uensinya, baik virtual monitor-mode maupun virtual user-mode harus dijalankan melalaui physical user mode. 

            Hal ini menyebabkan adanya transfer dari user-mode ke monitor-mode pada mesin nyata, yang juga akan menyebabkan adan-ya transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual. Sumber daya (resource) dari computer fisik dibagi untuk membuat mesin virtual. Penjadwalan CPU dapat membuat penampilan bahwa user mempunyai proses-sor sendiri. 

            Spooling dan system file dapat menyediakan card reader virtual dan line printer virtual. Terminal time sharing pada user melayani sebagai console operator mesin virtual. Contoh sistem operasi yang memakai mesin virtual ada-lah IBM S/370 dan IBM VM/370.

            Teknik ini berkembang menjadi sistem operasi emulator, shingga system operasi dapat menjalankan aplikasi-aplikasi untuk system operasi lain. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. aplikasi tersebut dijalankan sebagai input bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang di-panggil aplikasi dengan Win32 API ( Sistem Call di MS-Windows NT).


Keuntungan dan kerugian konsep mesin virtual adalah sebagai berikut:

 Mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung.
 Sistem mesin virtual adalah mesin yang cocok untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.
 Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.





Sistem Berlapis

             Teknik pendekatan struktur sistem berlapis sistem operasi pada dasarnya dibuat menggunakan pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponen komponen. Modularisasi sistem dilakukan dengan cara memecah sistem operasi menajdi beberapa lapis (tingkat). 

             Lapisan terendah (layer 0) adalah perangkat keras dan lapisan teratas (layer N) adalah user interface. Dengan system modularisasi, setiap lapisan mempunyai fungsi (operasi) tertentu dan melayani lapisan yang lebih rendah.

             System operasi pertama kali yang memakai system berlapis adalah THE. System operasi THE yang dibuat oleh Dijkstra dan mahasiswa-mahasiswanya. Pada dasarnya system operasi berlapis dimaksudkan untuk mengurangi kompleknya rancangan dan implementasi dari suatu system operasi. 

             Contoh sistem operasi yang menggunakan sistem ini adalah: UNIX termodifikasi, THE, Venus dan OS/2 Keuntungan dari model struktur sistem operasi berlapis adalah memiliki semua keunggulan rancangan modular. Sistem terbagi dalam beberapa modul, setiap modul dan lapisan bisa dirancang, di uji, secara independen sehingga jika terjadi suatu kesalahan mudah untuk menanganinya. 

             Sementara kelema-han dari sistem ini adalah semua fungsi-fungsi dari sistem operasi harus ter-dapat di masing-masing lapisan, jika terjadi suatu kesalahan bisa jadi semua lapisan harus diprogram ulang.





Sistem Monotolik

             Sistem monolitik Merupakan struktur sistem operasi sederhana yang dilengkapi dengan operasi “dual” pelayanan {sistem call} yang diberikan oleh sistem operasi. Model sistem call dilakukan dengan cara mengambil sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti register atau stack dan kemudian mengeksekusi suatu intruksi trap tertentu pada monitor mode. 

             Pada model ini, tiap-tiap sistem call memiliki satu service procedure. Ulitity pro-cedure mengerjakan segala sesuatu yang dibutuhkan oleh beberapa service procedure, seperti mengambil data dari user program. Mekanisme dan prinsip kerja model struktur monolitik sistem operasi ini adalah sebagai berikut:

 User program melakukan “trap” pada karnel 
 Intruksi berpindah dari user mode ke monitor modedan mentransfer control ke sistem operasi.
 Sistem operasi mengecek parameter-parameter dari pemanggilan tersebut, untuk menentukan sistem call mana yang memanggil.
 Sistem operasi menunjuk ke suatu table yang berisi slot ke-k yang menunjuk sistem call K (Kontrol).
 Kontrol akan dikembalikan kepada user program, jika sistem call telah selesai 
mengerjakan tugasnya. 


Tatanan ini memberikan suatu struktur dasar dari sistem operasi sebagai berikut :

- Program utama meminta service procedure.
- Kumpulan service procedure yang dibaca oleh sistem call.
- Kumpulan utility procedure yang membantu service procedure.


Keunggulan dari system Monolitik ini adalah: 
layanan terhadap job-job yang ada bisa dilakukan dengan cepat karena berada pada satu ruang alamat memory. Sementara itu kelemahan dari system Monolitik adalah:

 Pengujian dan penghilangan kesalahan sulit dilakukan karena tidak dapat dipisahkan dan dilokasikan,
 Sulit dalam menyediakan fasilitas pengamanan.
 Kurang efisien dalam penggunaan memori dimana setiap computer harus menjalankan kernel yang besar sementara tidak memerlukan seluruh layanan yang disediakan kernel.
 Kesalahan pemrograman di satu bagian kernel menyebakan matinya seluruh sistem





Arsitektur Sistem Operasi

          Arsitektur perangkat lunak adalah merupakan struktur-struktur yang menjadikan landasan untuk menentukan keberadaan komponen-komponen perangkat lunak, metode atau cara untuk mengelola (organisasi) komponen-komponen tersebut untuk saling berinteraksi. Komponen tersebut merupakan program-program bagian (prosedur, fungsi) yang akan dieksekusi oleh program utama.

          Arsitektur system operasi adalah merupakan arsitektur perangkat lunak yang digunakan untuk membangun suatu perangkat lunak sistem operasi yang akan digunakan dalam sistem komputer. Perkembangan arsitktur system operasi modern ini semakin komplek dan rumit sehingga memerlukan sistem operasi yang dirancang dengan sangat hati-hati, cermat dan tepat agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi.

         Sistem operasi merupakan kumpulan dari program-program (prosedur,fungsi, library) dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan”. Sistem pemanggilan program untuk mendapatkan layanan dari sistem operasi tersebut dikenal dengan nama System Call atau API (aplication programming interface). Berbagai ragam Arsitektur system operasi moderen diantaranya adalah : 
1) System Monolitik. 
2) System Berlapis. 
3) System Client/server. 
4) System Virtual mesin dan 
5) System Berorientasi objek. 





Peranan Sistem Operasi Dalam Struktur Sistem Komputer

          Dalam struktur sistem komputer, Sistem Operasi merupakan perangkat lunak lapisan pertama yang diletakkan pada media penyimpan (hard disk) di komputer. Sementara itu perangkat lunak lainnya berada padai lapisan ke dua. 
          
          sistem operasi dalam struktur sistem komputer Computer hardware adalah semua bagian fisik dari komputer, dan dibedakan dengan data yang berada di dalamnya atau yang beroperasi di dalamnya, dan perangkat lunak yang menyediakan instruksi untuk perangkat keras dalam menyelesaikan tugasnya. 

          Batasan antara perangkat keras dan perangkat lunak akan sedikit buram jika berbicara mengenai firmware, karena firmware ini adalah perangkat lunak yang "dibuat" atau di tanam ke dalam perangkat keras. Utilities merupakan perangkat lunak komputer yang didisain untuk membantu proses analisis, konfigurasi, optimasi, dan membantu pengelolaan sebuah komputer ataupun sistem. 

          Utilitas memfokuskan penggunaannya pada optimalisasi fungsi dari infrastruktur yang terdapat dalam sebuah komputer. Fungsi tersebut antara lain backup data, pemulihan sistem atau data, kompresi data, penanganan virus dll.

          aplication programs adalah perangkat lunak aplikasi yang memanfaatkan kemampuan komputer langsung untuk melakukan tugas-tugas yang diinginkan pengguna. Pengguna dapat melakukan berbagai hal dengan komputer seperti mengetik, melakukan permainan, merancang gambar dll. Beberapa program aplikasi digabung bersama menjadi suatu paket yang disebut paket atau suite aplikasi (application suite). Contohnya adalah Microsoft Office dan OpenOffice.org,

Sistem Operasi mempunyai fungsi dan peranan yang sangat penting dalam sistem komputer. Peranan dan fungsi sistem operasi tersebut antara lain ialah :

1. Sebagai kernel, yaitu program yang secara terus-menerus berjalan (running) selama komputer dijalankan.

2. Sebagai Guardian: yaitu menyediakan kontrol akses yang melindungi file dan memberikan pengawasan kepada proses pembacaan, penulisan atau eksekusi data dan program..

3. Sebagai Gatekeeper: mengendalikan siapa saja yang berhak masuk (log) kedalam sistem dan mengawasi tindakan apa saja yang dapat mereka kerjakan ketika telah log dalam sistem.

4. Sebagai Optimizer: Mengefisienkan perangkat keras komputer sehingga nyaman untuk dioperasikan oleh pengguna, menjadwal input oleh pengguna, pengaksesan basis data, proses komunikasi, dan pengeluaran (output) untuk meningkatkan kegunaan.

5. Sebagai Coordinator : menyediakan fasilitas sehingga aktivitas yang kompleks dapat diatur untuk dikerjakan dalam urutan yang telah disusun sebelumnya.

6. Sebagai Programm Controller program pengontrol yaitu program yang digunakan untuk mengontrol program aplikasi lainnya.

7. Sebagai Server: untuk menyediakan layanan yang sering dibutuhkan pengguna, baik secara eksplisit maupun implisit, seperti mekanisme akses file, fasilitas interupt. 

8. Sebagai Accountant: mengatur waktu CPU (CPU time), penggunaan memori, pemanggilan perangkat I/O (masukan/keluaran), disk storage dan waktu koneksi terminal.

9. Sebagai interface (antar muka) yang menjembatani pengguna dengan perangkat keras, menyediakan lingkungan yang bersahabat dan mudah digunakan (User Friendly). Sehingga pengguna tidak dirumitkan oleh bahasa mesin atau perangkat level bawah

10. Sistem resources manager : yaitu sebagai pengelola seluruh sumber daya sistem komputer.

11. Sebagai Virtual Machine, yang menyediakan layanan seperti menyembunyikan kompleksitas pemrograman dan menyajikan fasilitas yang lebih mudah untuk menggunakan hardware.