a. Kemudahan : Sistem operasi membuat komputer menjadi lebih mudah dipakai. b. Efisien : Sistem operasi memungkinkan sumber daya sistem komputer untuk digunakan dengan cara yang efisien. c. Kemampuan berkembang : Sistem operasi harus disusun sedemikian rupa sehingga memungkinkan pengembangan yang efektif, pengujian, dan penerapan fungsi-fungsi sistem yang baru tanpa menggagu layanannya yang telah ada. 2. Abstraksi Komponen Sistem Komputer : Perangkat keras merupakan inti dari sebuah sistem, serta penyedia sumber-daya (resources) untuk keperluan komputasi. Diantara pengguna dan perangkat keras terdapat sebuah lapisan abstrak yang disebut dengan perangkat lunak (software) untuk membantu para pengguna memanfaatkan sumber-daya komputasi yang disediakan perangkat keras. Perangkat lunak secara garis besar dibagi lagi menjadi dua yaitu Program Aplikasi dan Sistem Operasi. Program aplikasi merupakan perangkat lunak yang dijalankan oleh para pengguna untuk mencapai tujuan tertentu. Sistem Operasi dapat dikatakan merupakan sebuah perangkat lunak yang "membungkus" perangkat keras agar lebih mudah dimanfaatkan oleh para pengguna melalui program-program aplikasi tersebut. 3. Definisi interrupt dan trap : Interrupt adalah suatu permintaan khusus kepada mikroprosessor untuk melakukan sesuatu, bila terjadi interrupt maka komputer akan menghentikan dulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterrupt. Trap adalah interrupt karena terjadinya kesalahan atau kondisi kekecualian yang dihasilkan proses yang running seperti usaha ilegal dalam mengakses file. Dengan adanya trap, sistem operasi menentukan apakah kesalahan yang dibuat merupakan kesalahan fatal. Jika fatal, proses yang saat itu running disingkirkan dan terjadi alih proses. Jika kesalahan tidak fatal bergantung sifat kesalahan dan rancangan sistem operasi kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan atau memperingatkan pemakai.
Tujuan adanya interrupt :
Secara umum untuk manajemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul modul I/O maupun memori. Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing masing modul berbeda. Dapat sebagai sinkronisasi kerja antar modul
4. Gambar siklus instruksi dengan adanya interrupt :
5. Evolusi Sistem Operasi :
a. Serial Processing Pada generasi ini, programmer berinteraksi langsung dengan perangkat keras, tidak terdapat sistem operasi. Operasional mesin, dikontrol dengan console yang berupa display light, toggle switch, input devices.Input device dapat berupa card reader, sedangkanoutput devices dapat berupa printer.Tidak terdapat mekanisme penjadwalan / scheduling dinamis, karena programmer menentukan alokasi waktu setiap job yang akan dikerjakan. Kelemahan pada generasi ini adalah : Suatu task bisa saja telah selesai sebelum menghabiskan jatah waktu yang telah ditentukan sebelumnya, sehingga terdapat waktu yang dihabiskan untuk menunggu untuk mengerjakan job selanjutnya.
Atau malahan waktu yang telah dialokasikan sebelumnya tidak
cukup untuk menyelesaikan job, sehingga dipaksa untuk dihentikan.
b. Simple Batch System
Sistem Operasi Batch Sederhana menghasilkan mekanisme pengurutan dan pengelompokan instruksi secara otomatis. Masalah timbul jika mekanisme eksekusi instruksi berhubungan dengan I/O. Masalahnya I/O relatif lambat jika dibandingkan dengan processor, sehingga terdapat banyak sekali kondisi idle. Kelemahan pada Sistem Batch Sederhana, yaitu penggunaan utilitas processor yang seringkali dalam keadaan idle, pada saat menunggu mekanisme dari I/O. Idle : pada saat processor menunggu mekanisme dari I/O, processor dapat melakukan eksekusi instruksi yang lain. c. Multiprogramming Batch System Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU. Usaha pertama untuk membuat sistem operasi berbasis multi-program dilakukan pada tahun 1960an. Beberapa program yang berlainan di dalam batch di-load ke memori komputer, dan program yang pertama akan dijalankan. Saat program tersebut mencapai instruksi untuk menunggu akses ke peripheral, konteks dari program ini disimpan, dan program berikutnya di memori mulai dijalankan. Proses ini berulang terus sampai semua program selesai dijalankan. d. Time-Sharing System Time-Sharing System adalah metode yang dipakai dalam sistem operasi yang memungkinkan sejumlah pemakai dapat berinteraksi dengan proses yang dibuatnya secara bergantian dengan jumlah waktu yang sama. Time sharing merupakan pengembangan lebih lanjut dari multiprogramming. Time-Sharing memungkinkan beberapa pemakai komputer menggunakan CPU secara bersamaan dan CPU akan memberikan waktunya bergantian kepada setiap pemakai untuk memproses programnya dalam waktu yang sangat cepat. 6. Gambar Hierarki media penyimpanan (struktur storage) :
7. Tiga Teknik komunikasi I/O :
a. Programmed I/O Pada saat prosesor mengeksekusi sebuah program dan menjumpai instruksi yang berkaitan dengan modul I/O, prosesor akan mengeksekusi instruksi yang berkaitan ke modul I/O yang bersangkutan. Pada programmed I/O, modul I/O yang bersangkutan akan melakukan aksi yang diminta dan menyetel bit yang sesuai di dalam register status I/O. Secara khusus modul I/O tidak menginterupsi prosesor. Jadi pemeriksaan status modul I/O secara periodik sampai operasi selesai adalah tanggung jawab prosesor. Software I/O ditulis sedemikian rupa sehingga prosesor mengeksekusi instruksi-instruksi yang memberinya kontrol langsung terhadap operasi I/O. Set instruksi meliputi instruksi I/O dengan kategori: Control : untuk mengaktivasi Perangkat eksternal yang memberitahu apa yang harus dilakukan, Status : untuk menguji kondisi yang berkaitan dengan modul I/O dan periferalnya, Transfer : untuk memindahkan data antara register prosesor dengan perangkat eksternal. Kelemahan utama programmed I/O adalah memerlukan banyak waktu yang menyebakan prosesor slalu dalam keadaan sibuk. b. Interupt-Driven I/O Alternatif lain adalah prosesor menerbitkan perintah I/O ke modul dan melanjutkan pekerjaan lainnya. Setelah itu, setelah itu modul I/O akan menginterupsi prosesor untuk meminta layanan saat modul itu telah siap saling bertukar data dengan prosesor. Interupt-driven I/O lebih efisien jika dibandingkan dengan programmed I/O karena menghilangkan waktu tunggu yang tak
perlu. Akan tetapi, interrupt-driven I/O masih menghabiskan waktu
prosesor, karena setiap word data yang berangkat dari memori ke modul I/O atau sebaliknya harus melalui prosesor. c. Direct Memory Access (DMA) Walaupun lebih efisien dari programmed I/O, interrupt-driven I/O masih memerlukan intervensi aktif prosesor dalam memindahkan data. Dengan demikian, kedua bentuk I/O tersebut tidak dapat menghindar dari dua kesulitan sebagai berikut: Kecepatan transfer I/O dibatasi oleh kecepatan prosesor dalam memeriksa dan melayani perangkat, Prosesor terikat oleh kegiatan transfer I/O. Sejumlah instruksi harus dieksekusi bagi setiap perpindahanI/O. Apabila terdapat data yang bervolume besar, maka diperlukan sebuah teknik yang lebih efisien: Direct Memory Access (DMA). Fungsi DMA dilakukan oleh sebuah modul yang terdapat pada bus system atau dengan menghubungkannya ke modul I/O. 8. Komponen-komponen penyusun sistem operasi : a. Modul Manajemen Proses. b. Modul Manajemen Memori. c. Modul Manajemen I/O . d. Modul Manajemen Sistem Berkas (File). e. Modul Manajemen Penyimpanan Sekunder. f. Modul Manjemen Sistem Proteksi . g. Modul Jaringan. h. Command interpreter system.
9. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang
berkaitan dengan manajemen proses seperti: a. Membuat dan menghapus proses pengguna dan sistem proses. b. Menunda atau melanjutkan proses.
c. Menyediakan mekanisme untuk proses sinkronisasi.
d. Menyediakan mekanisme untuk proses komunikasi. e. Menyediakan mekanisme untuk penanganan deadlock.
10. Layanan-layanan pada sistem operasi sebagai penghubung antara
user dan hardware : a. Antarmuka Sistem operasi menyediakan berbagai fasilitas yang membantu programmer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi. b. Eksekusi Program Sistem harus bisa me- load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusian baik secara normal maupun tidak (adaerror). c. Operasi Masukan/Keluaran Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur piranti masukan/keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi masukan/keluaran. d. Manipulasi Sistem Berkas Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas. e. Komunikasi Kadang kala sebuah proses memerlukan informasi dari proses lain. Ada dua cara umum dimana komunikasi dapat dilakukan.
Komunikasi dapat terjadi antara proses dalam satu komputer, atau
antara proses yang berada dalam komputer yang berbeda tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau message-passing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi. f. Deteksi Error Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, masukan/keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahankan jalannya proses komputasi, misalnya dengan menghentikan jalannya program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya.