Tugas Sistem Operasi
Nama: Kunto jalu Jimad
Nim:A11.2011.06206
Kelompok: A11.4405
Bacth 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.
Multiprogamming :
Multiprogramming 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.
Times sharing :
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.
Personal computing :
Apabila Programming Toolkits (Alat Bantu Pemrograman) dirancang untuk menghasilkan suatu sistem atau program yang nantinya akan digunakan oleh user, maka Komputer Pribadi (Personal Computing) diperuntukkan bagi mereka yang hanya menikmati fasilitas yang ada dalam komputer (user). Namun, Komputer Pribadi (Personal Computing) tetap dilengkapi dengan kemampuan yang tidak dapat diragukan (powerful).
Embeded system :
Embedded System (System Tertanam) adalah suatu sistem komputer yang didesain untuk menangani pekerjaan/ tujuan spesifik. Secara garis besar mirip dengan Operating System yang ada pada PC, Embedded System yang terdapat dalam suatu perangkat juga mengatur perilaku/fungsi dari Hardware tersebut. Namun, embedded system tidak bisa melakukan hal-hal yang umum seperti main game, mengedit data, memutar file multimedia hingga simulasi. Embedded System hanya mampu melakukan suatu mekanisme untuk tujuan tertentu sesuai dengan kemampuan perangkat diman Embedded System itu terinstall.
Embedded system umunya tidak memiliki interface. Kalaupun ada, sangat terbatas. Hal ini berbeda dengan general purpose computer yang memiliki banyak interface. Hal ini desebabkan oleh tugas yang dijalankan oleh embedded system tidak terlalu rumit dan kebanyakan tugasnya tidak memerlukan interrupt berlebihann dari user. Kita ambil contoh untuk embedded system dalam lift. Tugas – tugas lift yang bisa kita “ikut campur” di dalamnya hanya membuka dan menutup pintu serta nomor lantai. Tentu saja interface yang disediakan hanyalah beberapa tombol input dan terkadang LCD sebagai indikator lantai. Kita tidak bisa mengatur kecepatan lift, gerakan, menambah musik dll dengan input yang lebih kompleks seperti keyboard dan mouse.
Embedded system dapat kita temui dalam banyak bentuk. Dalam general purpose computer misalnya, dalam menjalankan fungsi system operasi seperti UNIX misalnya, kadang kita menjumpai aplikasi spesial purpose. Dalam perangkat hardware tertentu seperti ponsel, kita bisa menemukan OS yang hanya mampu menjalankan tugas-tugas tertentu sesuai dengan perangkatnya. Atau terkadang juga tertanam dalam hardware dengan Aplication-specific Integrated Circuit (ASIC) yang tidak membutuhkan OS dalam menjalankan fungsinya.
Sebagai real time system, Embedded System memiliki 4 karakteristik yaitu single purpose, ukuran kecil, diproduksi dalam jumlah masal serta specific timing requirement.
Seperti yang telah disinggung sebelumnya, Embedded System tidak seperti PC yang bisa digunakan untuk berbagai keperluan melainkan hanya untuk tujuan tertentu. Sistem lift mampu mengatur operasi lift sedangkan sistem dalam vcd mampu meload dan memainkan file musik. tidak umum jika ada mesin controller lift untuk memutar VCD. Hal ini menegaskan behwa Embedded System identik dengan single purpose.
Embedded system tidak memiliki CPU dengankemampuan process seperti PC. Demikian juga dengan memory. Untuk CPU komputer antara 32 dan 64 bit, sedangkan pada kebanyakan embedded system hanya berkisar 8 – 16 bit. Sedangkan untuk memory, komputer dapat mencapai gigabyte, sedangkan embedded system tak lebih dari 1 megabyte. Untuk memory yang dibutuhkan untuk menjalankan aplikasi kita sebut footprint. Dengan demikian real time system memiliki footprint yang kecil atau dengan kata lain ukuran yang kecil.
Jika dilihat dari sisi perangkatnya, kebanyakan perangkat yang menerapkan real time system adalah perangkat yang diproduksi secara masal. Mulai dari ponsel, alarm mobil, mp3 player kesemuanya adalah benda2 yang tidak begitu memerlukan biaya tinggi untuk produksi mahal. Hal ini tentu menunjukan processornya / mikrokontrollernya dapat diproduksi dalam jumlah masal dan biaya tak terlalu tinggi juga.
Secara garis besar cara kerja real-time system mirip dengan sistem yang ada dalam PC kita (CPU, RAM, IO) kecuali dalam implementasinya. Pada general purpose komputer sistem buslah yang mengatur pembagian dan koneksi antar masing-masing komponen. Namun dalam embedded system dilakukan dengan pendekatan yang disebut SOP (System on chip). Dalam sistem SOP ini, CPU, memory, perangkat IO dan pheripheral ports berada dalam satu chip yang biasa disebut sebagai mikrokontroller. Inilah salah satu alasan rendahnya biaya contoller dari embedded system.
Karakteristik yang terakhir adalah specific timing requirement. Hard dan soft yang mendukung real time system didesain untuk lebih memprioritaskan kecepatan. Yaitu dengan memprioritaskan real time event sebagai prioritas utama maupun dengan mempercepat respon terhadap interrupt yang terjadi.
Dalam real time system, beberapa fitur tidak dimiliki karena memang tidak dibutuhkan. Beberapa alasannya adalah embedded system hanya untuk single purpose sehingga tidak memerlukan pheripheral device yang terlalu banyak. Seperti jam tangan misalnya, tentu saja tidak memerlukan perangkat tambahan seperti disk drive. Beberapa fitur yang ada dalam general purpose OS juga memerluka processor yang cepat dan memory yang besar, padahal hal ini menjadi salah satu batasan yang sangat diperhatikan dalam pengembangan embedded system. Fitur – fitur dari general purpose system juga bisa membuat biaya pembuatan semakin membengkak sehingga tidak ekonomis untuk produksi masal. Beberapa hal krusial pada sistem operasi general purpose yang tidak diperlukan adalah beragam pheripheral device, mekanisme proteksi dan security, dan multiple user.
Di berbagai bidang dalam kehidupan modern, embedded system semakin menjadi primadona. Bisa dikatakan Operating system hanya bisa kita temukan dalam PC, sedangkan embedded system di berbagai perangkat seperti mobile, alarm HP dan masih banyak lagi. Hal ini disebabkan keunggulan embedded system dibandingkan dengan OS yang terdapat dalam komputer. keunggulannya adalah karena kernel dari embedded system lebih kecil, tidak memerlukan pheripheral yang terlalu banyak sehingga mampu menekan biaya produksi.
Dalam kehidupan sehari-hari kita bisa menemukan banyak perangkat/device yang mengaplikasikan Embedded System. Sesuai sifatnya, kebanyakan yang perangkat yang memiliki embedded system adalah alat dengan kemempuan spesifik, seperti peralatan rumah tangga (microwave, penyedot debu dan mesin cuci) dan dalam perangkat kecil seperti beberapa digital device (Mp3 Player, jam tangan) serta communication device (ponsel, blackberry devisce). dalam penggunaan yang lebih advance, embedded sytem juga terdapat dalam alat-alat yang tergolong besar (lif, mobil, pesawat) dan produk-produk AI seperti robot.
Handle device :
Handle Device adalah nama sistem operasi digunakan untukmengidentifikasi sumber daya storage (dikenal sebagai addressable unit atau LUN),dan sarana yang benar (driver, system call) untuk mengaksesnya. Handle devicekadang-kadang dikenal sebagai OS-handles.
Macam-macam penjadwalan :
Penjadwalan CPU dapat bersifat preemptive atau nonpreemptive. Pada penjadwalan preemptive, CPU yang dialokasikan ke suatu proses dapat ditarik kembali oleh sistem operasi dan dialihkan ke proses lainnya dengan kata lain sistem operasi memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Sedangkan pada penjadwalan nonpreemptive bersifat sebaliknya, sekali CPU dialokasikan ke sebuah proses, maka proses akan menggunakan CPU tersebut sampai proses melepaskannya karena proses telah terminate atau proses beralih ke waiting state.
Penjadwalan CPU berhubungan dengan penetuan proses di ready queue yang akan dialokasikan CPU. Ada beberapa macam algoritma penjadwalan CPU, antara lain:
1. First-Come, First-Served (FCFS) Scheduling
Pada penjadwalan ini, proses yang datang pertama kali akan dieksekusi terlebih dahulu. Implementasi algoritma penjadwalan ini serti FIFO (First-In First-Out) queue. Pada algortima penjadwalan ini dapat menghasilkan convoy effect yaitu waktu dari proses kecil yang dapat berjalan cepat tapi karena datangnya belakangan maka proses tersebut akan menunggu lama
2. Shorthest-Job-First (SJF) Scheduling
Algoritma penjadwalan ini akan mengeksekusi proses yang CPU burst selanjutnya paling pendek. Algoritma ini memberikan waiting time paling minimum diantara algoritma lainnya. Namun, penjadwalan ini cukup sulit untuk direalisasikan karena sistem operasi tidak dapat mengetahui dengan pasti CPU burst selanjutnya untuk suatu proses, sistem operasi hanya mampu memprediksinya dengan menggunakanexponential averaging.
3. Priority Scheduling
Pada penjadwalan ini, setiap proses akan diberikan prioritas, dan CPU akan dialokasikan ke proses yang memiliki prioritas tertinggi. Nomor terkecil menjadi proses yang memiliki prioritas paling tinggi. Pada penjadwalan ini dapat terjadistarvation yaitu proses tidak akan pernah dijalankan karena memiliki nilai prioritas yang rendah. Untuk mengatasi masalah ini maka dibuat dibuat solusi yang disebutaging yaitu semakin lama proses menunggu maka makin tinggi nilai prioritasnya.
4. Round-Robin (RR) Scheduling
Penjadwalan ini mengalokasikan CPU ke proses pertama di ready queue sebesar Q time unit (quantum). Setelah q time unit, jika proses belum selesai, proses akan disela dan akan mengantri kembali di ready queue.
5. Multilevel Queue Scheduling
Penjadwalan ini membagi ready queue ke dalam sejumlah queue, dan masing-masing queue tersebut dapat mengimplementasikan algoritma penjadwalan yang berbeda.
6. Multilevel Feedback Queue Scheduling
Penjadwalan ini hampir sama dengan Multilevel Queue Scheduling, hanya saja proses dapat berpindah dari satu queue ke queue yang lainnya.
Masing-masing algoritma penjadwalan CPU tersebut mempunyai kelebihan dan kelemahan masing-masing. Berbagai sistem operasi menerapkan salah satu atau kombinasi dari berbagai algoritma penjadwalan tersebut.
Referensi: http://yanuirawan.blogspot.com/