Senin, 24 Oktober 2011

SISTEM OPERASI

Sistem Operasi
Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital.
Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta para pengguna. Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya. Sistem operasi juga sering disebut resource allocator. Satu lagi fungsi penting sistem operasi ialah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.
Layanan Sistem Operasi
Sebuah sistem operasi harus memiliki layanan sebagai berikut: pembuatan program, eksekusi program, pengaksesan I/O Device, pengaksesan terkendali terhadap berkas pengaksesan sistem, deteksi dan pemberian tanggapan pada kesalahan, serta akunting.
Struktur Komputer
Struktur sebuah sistem komputer dapat dibagi menjadi:
·      Operasi Sistem Komputer
·      Struktur I/O.
·      Struktur Penyimpanan.
·      Storage Hierarchy.
·      Proteksi Perangkat Keras.

Struktur Penyimpanan
Memori Utama
Hanya memori utama dan register merupakan tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan dieksekusi harus disimpan di memori utama atau register.
Magnetic Disk
Magnetic Disk berperan sebagai secondary storage pada sistem komputer modern. Magnetic Disk disusun dari piringan-piringan seperti CD.

Hirarki Storage
Dalam storage hierarchy structure, data yang sama bisa tampil dalam level berbeda dari sistem penyimpanan.









Proteksi Perangkat Keras
Tanpa proteksi jika terjadi kesalahan maka hanya satu saja program yang dapat dijalankan atau seluruh output pasti diragukan. Banyak kesalahan pemprograman dideteksi oleh perangkat keras. Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan kesalahan disampaikan, dan memori dari program akan dibuang. Tapi memori yang terbuang biasanya tersimpan pada disk agar programmer bisa membetulkan kesalahan dan menjalankan program ulang.

Komponen-komponen Sistem
Umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:
·            Managemen Proses.
·            Managemen Memori Utama.
·            Managemen Secondary-Storage.
·            Managemen Sistem I/O.
·            Managemen Berkas.
·            Sistem Proteksi.
·            Jaringan.
·            Command-Interpreter system.

Struktur Sistem Operasi
Sistem komputer modern yang semakin kompleks dan rumit memerlukan sistem operasi yang dirancang dengan sangat hati-hati agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi.
Ø   Struktur Sederhana : Ada sejumlah sistem komersial yang tidak memiliki struktur yang cukup baik. Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak ketebatasan, contohnya DOS.
Ø   Sistem Monolitic : Pada dasarnya, sistem monolitic merupakan struktur sederhana yang dilengkapi dengan operasi dual mode.
Ø   Pendekatan Berlapis (Layered Approach) : Teknik pendekatan berlapis pada dasarnya dibuat dengan cara membentuk sistem operasi menjadi bentuk modular.
Ø   Mesin Virtual :  Sebuah mesin virtual (Virtual Machine) menggunakan misalkan terdapat sistem program => control program yang mengatur pemakaian sumber daya perangkat keras.
Ø   Model Client Server : Pada model ini, semua pekerjaan kernel ditekankan pada pengendalian komunikasi antara client dan server.

System Generation (SYSGEN)
Sistem operasi dirancang untuk dapat dijalankan di berbagai jenis mesin; sistemnya harus di konfigurasi untuk tiap komputer. Program SYSGEN mendapatkan informasi mengenai konfigurasi khusus dari sistem perangkat keras.
·                Booting: memulai komputer dengan me-load kernel.
·                Bootstrap program: kode yang disimpan di code ROM yang dapat menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya.








Proses
Pengguna mampu untuk menjalankan beberapa program pada saat yang sama: sebuah Word Processor, Web Browser, dan paket e-mail. Bahkan jika pengguna dapat melakukan hanya satu program pada satu waktu, sistem operasi perlu untuk mendukung aktivitas program internalnya sendiri, seperti managemen memori. Dalam banyak hal, seluruh aktivitas ini adalah serupa, maka kita menyebut seluruh program itu proses-proses (processes). Proses adalah program dalam eksekusi.
Keadaan Proses
Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:
·      New: Proses sedang dikerjakan/ dibuat.
·      Running: Instruksi sedang dikerjakan.
·      Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
·      Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
·      Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Process Control Block

·      Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
·      Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.
·      CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.
·      Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apa pun.
·      Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi.
·      Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
·      Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar open berkas dan banyak lagi.
·      PCB hanya berfungsi sebagai tempat menyimpan/ gudang untuk informasi apa pun yang dapat bervariasi dari prose ke proses.








Gambar Process Control Block.

Thread
Thread, atau kadang-kadang disebut proses ringan (lightweight), adalah unit dasar dari utilisasi CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama.




Konsep Dasar

Secara informal, proses adalah program yang sedang dieksekusi. Ada dua jenis proses, proses berat (heavyweight) atau biasa dikenal dengan proses tradisional, dan proses ringan atau kadang disebut thread.
Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.

Keuntungan

1.  Tanggap: Multithreading mengizinkan program untuk berjalan terus walau pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
2.  Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi memori yang sama.
3.  Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
4.  Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.









Pertanyaan
1.     Sebutkan tiga tujuan utama dari sistem operasi!
2.     Sebutkan keuntungan dari multiprogramming!
3.     Sebutkan perbedaan utama dari sistem operasi antara komputer mainframe dan PC?
4.     Sebutkan kendala-kendala yang harus diatasi oleh programmer dalam menulis sistem operasi untuk lingkungan waktu nyata?
5.     Jelaskan perbedaan antara symmetric dan asymmetric multiprocessing. Sebutkan keuntungan dan kerugian dari sistem multiprosessor!
6.     Apakah perbedaan antara trap dan interrupt? Sebutkan penggunaan dari setiap fungsi tersebut!
Jawaban
1.     Tiga tujuan utama dari sistem operasi :
-   Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya
-   membuat kondisi komputer agar dapat menjalankan program secara benar
-   sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.
2.     -    Untuk meningkatkan keseluruhan kemampuan dari sistem computer
-       menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan tugas-tugas
-       meningkatkan kemampuan, juga mengizinkan time sharing
-       Multiprogramming dan sistem time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi (overlap) CPU dan I/O dalam satu mesin
3.    Sistem operasi untuk komputer-komputer pribadi diuntungkan oleh pengembangan sistem operasi untuk komputer mainframe dalam beberapa hal. Penggunaan komputer untuk keperluan pribadi, maka utilisasi CPU tidak lagi menjadi perhatian utama. Karena itu, beberapa desain untuk komputer mainframe tidak cocok untuk sistem yang lebih kecil. Intinya adalah system operasi yang digunakan oleh PC lebih mudah daripada system operasi yang digunakan oleh mainframe. Personal komputer : merupakan komputer yang murah dan diproduksi secara massal .biasanya menggunakan DOS,Windows atau sistem operasi yang sejenis. Komputer ini digunakan untuk aplikasi-aplikasi standar. Mainframe/Komputer besar merupakan komputer yang sangat besar yang berukuran lebih dari satu ruangan ,contohnya IBM model 390
4.    Terjadinya page faults tambahan selama eksekusi dan sistem yang mengharuskan suatu komputasi selesai dalam jangka waktu tertentu
5.    Dalam SMP, setiap processor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan di suatu waktu tanpa pengurangan kinerja. Sementara itu dalam ASMP setiap prosesor diberikan suatu tugas yang spesifik. Sebuah processor bertindak sebagai master processor yang bertugas menjadwalkan dan mengalokasikan pekerjaan pada processor lain yang disebut slave processors. Umumnya ASMP digunakan pada sistem yang besar.
Keunggulan :
a)  Peningkatan throughput, karena lebih banyak proses  / thread yang berjalan dalam satu waktu sekaligus (jika proses yang antri di ready queue sedikit). Perlu  diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah  prosesornya. Yang meningkat ialah jumlah pekerjaan  yang bisa dilakukannya  dalam waktu tertentu.
b)  Economy of scale (ekonomis), ekonomis dalam devices yang dibagi bersama – sama. Prosesorprosesor terdapat dalam satu komputer dan dapat membagi  peripheral (ekonomis) seperti disk dan catu daya listrik. 
c)  Peningkatan kehandalan (reliabilitas), Jika satu prossor mengalami suatu  gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena  tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini dikenal  dengan istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau failoft system.
Kekurangan utama dari multiprocessor adalah scalabiliti yang rendah, sehingga cukup sulit untuk membangun mesin MPP (Massively Parallel Processing) yang menggunakan model shared memori yang g) yg gg yg tersentralisasi.
6.  Perbedaan antara trap dan interrupt : Trap adalah interupsi 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. Interupsi adalah suatu permintaan khusus kepada mikroprosessor untuk melakukan sesuatu bila terjadi interupsi,maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi




























CONTOH KASUS

“ Komputer dengan dual boot yaitu Microsoft Windows XP SP 2 dan Linux Ubuntu 10.04. Suatu saat pengguna menghapus partisi Ubuntu melalui Disk Management, tapi ketika direstart komputer gagal masuk ke Sistem operasi Windows. Bagaimana cara memperbaikinya ? “

Penyelesaiaan :
Kondisi tersebut terjadi karena MBR telah rusak ketika partisi Ubuntu dihapus, karena ketika dual boot antara Windows dengan Linux, partisi Linux selalu di atas, sehingga pada saat partisi Linux dihapus maka yang akan terjadi adalah missing OS . Untuk menyelesaikannya coba perhatikan langkah-langkah berikut :
  Masukkan cd Windows XP (SP 2 atau SP 3), dan atur boot pertama kali melalui CD/DVD ROM.
  Setelah muncul pilihan ENTER dan Repair, segera tekan tombol R. Maka akan ditampilkan DOS.
  Pada drive C:\  segera ketik fixmbr [ENTER]
  Lalu tekan tombol y (maksudnya yes or no), hanya sayang pilihan y/n tidak ditampilkan.
  Dalam waktu 3 detik perbaikan MBR selesai.
  Ketikkan exit pada C:\  maka kita bisa melakukan install Windows XP tanpa halangan apapun


Tidak ada komentar:

Posting Komentar