Minggu, 13 Mei 2012


Komponen Pendukung Sebuah Sistem Informasi
1.  Managemen proses
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
1.      Membuat dan menghapus proses pengguna dan sistem proses.
2.      Menunda atau melanjutkan proses.
3.      Menyediakan mekanisme untuk proses sinkronisasi.
4.      Menyediakan mekanisme untuk proses komunikasi.
5.      Menyediakan mekanisme untuk penanganan deadlock.
2. Masukan/Keluaran
Komponen Sistem Operasi untuk sistem Masukan/Keluaran:
1.       Penyangga: menampung sementara data dari/ke perangkat Masukan/Keluaran.
2.      Spooling: melakukan penjadualan pemakaian Masukan/Keluaran sistem supaya lebih efisien (antrian dsb.).
3.      Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras masukan/keluaran tertentu.
3. Managemen Memori
Sistem operasi bertanggungjawab atas aktivitas-aktivitas yang berkaitan dengan managemen memori seperti:
1.      Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
2.      Memilih program yang akan di-load ke memori.
4. Sistem Berkas
Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan managemen berkas:
1.      Pembuatan dan penghapusan berkas.
2.      Pembuatan dan penghapusan direktori.
3.      Mendukung manipulasi berkas dan direktori.
4.      Memetakan berkas ke secondary-storage.
5.      Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
5. Penyimpanan Sekunder
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen disk seperti:
1.      Free-space management.
2.      Alokasi penyimpanan.
3.      Penjadualan disk.
6.  Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
1.      Membedakan antara penggunaan yang sudah diberi izin dan yang belum.
2.      Menspesifikasi kontrol untuk dibebankan/diberi tugas.
3.      Menyediakan alat untuk pemberlakuan sistem.
7.  Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi. Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data.
8. Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter dan terkadang dikenal sebagai shell.

Tingkatan layer pada sebuah sistem komputer

a.Physical Device Layer Merupakan komponen elektrik dan elektronik yang sangat penting

b.Digital Logic Layer Elemen pada tingkatan ini dapat menyimpan,memanipulasi, dan mentransmisi data dalam bentuk represeotasi biner sederhana.

c.Micro programmed Laye Menginterprestasikan instruksi bahasa mesin dari layer mesin dan secaa langsung menyebabkan elemen logika digital menjalankan operasi yang dikehendaki. Maka sebenarnya ia adalah prosesor inner yang sangat mendasar dan dikendalikan oleh instruksi program kontrol primitifnya sendiri yang disangga dalam ROM innernya sendiri. Instruksi program ini disebut mikrokode dan program kontrolnya disebut mikroprogram.

d.Machine  Layer Tingkatan yang paling bawah dimana program dapat dituliskan dan memang hanya instruksi bahasa mesin yang dapat diinterprestasikan secara langsung oleh hardware.

e.Operating System Layer Mengontrol cara yang dilakukan oleh semua software dalam menggunakan hardwareyang mendasari (underlying) dan juga menyembunyikan kompleksitas hardware darisoftware lain dengan cara memberikan fasilitasnya sendiri yang memungkinkan software menggunakan hardware tersebut secara lebih mudah.

f. Higher Order Software Layer Mencakup semua program dalam bahasa selain bahasa mesin yang memerlukan penerjemahan ke dalam kode mesin sebelum mereka dapat dijalankan. Ketika diterjemahkan program seperti itu akan mengandalkan pada fasilitas sistem operasi yang mendasari maupun instruksi-instruksi mesin mereka sendiri.

g. Applications LayerBahasa komputer seperti yang dilihat oleh end-user.

Layanan Sistem Operasi
Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah.
1. Pembuatan Program
Sistim operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat program seperti editor. Walaupun bukan bagian dari sistim operasi, tapi layanan ini diakses melalui sistim operasi.

2. Eksekusi Program
Sistem harus bisa me-load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusiannya baik secara normal maupun tidak (ada error).
3. Operasi Masukan/Keluaran
Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur peranti Masukan/Keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi Masukan/Keluaran.
4. Manipulasi Sistem Berkas
Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
5. Komunikasi
Kadang kala sebuah proses memerlukan informasi dari proses yang 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 messagepassing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
6. 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.
Berikut ini adalah Beberapa Tipe Sistem Operasi yang saya ketahui :
-Real-time Operating System
adalah sebuah sistem operasi multitasking yang bertujuan untuk menjalankan aplikasi waktu nyata. sistem operasi real-time sering menggunakan algoritma penjadwalan khusus sehingga mereka dapat mencapai sifat deterministik perilaku. Adapun tujuan utama dari sistem operasi real-time respon yang cepat dan diprediksi ke acara. Mereka juga memiliki-event driven atau desain time-sharing. Sebuah sistem switch-event antara tugas-tugas berdasarkan prioritas mereka sementara sistem operasi time-sharing beralih pekerjaan berdasarkan interupsi jam.
-Multi-user dan Single-user Sistem Operasi
Sistem operasi jenis ini memungkinkan beberapa pengguna untuk mengakses sistem komputer secara bersamaan. Sistem Time-sharing dapat diklasifikasikan sebagai sistem multi-user karena mereka memungkinkan akses beberapa pengguna ke komputer melalui berbagi waktu. sistem operasi Single-user, sebagai lawan dari sistem operasi multi-user, dapat digunakan oleh satu pengguna pada satu waktu. Bisa punya beberapa account pada sistem operasi Windows tidak membuat sistem multi-user. Sebaliknya, hanya administrator jaringan adalah pengguna yang sebenarnya.
Tapi untuk sebuah sistem operasi mirip Unix, adalah mungkin bagi dua pengguna untuk login pada satu waktu dan ini kemampuan OS membuatnya menjadi sistem operasi multi-user.
-Multi-tasking dan tasking Sistem Operasi-Single
Ketika sebuah program  tunggal yang diijinkan untuk dijalankan  pada satu waktu, sistem ini dikelompokkan dalam sebuah sistem tunggal-tasking, sedangkan dalam kasus sistem operasi memungkinkan pelaksanaan tugas pada satu waktu, diklasifikasikan sebagai sistem operasi multi-tasking. Multi-tasking dapat dari dua jenis yaitu, pre-emptive atau koperasi. Dalam pre-emptive multitasking, sistem operasi irisan waktu CPU dan mendedikasikan satu slot untuk masing-masing program. Unix-seperti sistem operasi seperti Solaris dan dukungan Linux pre-emptive multitasking. Koperasi multitasking dicapai dengan mengandalkan setiap proses untuk memberi waktu untuk proses lain dengan cara yang ditetapkan. MS Windows sebelum Windows 95 digunakan untuk mendukung multitasking kooperatif.
-Distributed Sistem Operasi
Sistem operasi yang mengelola sekelompok komputer independen dan membuat mereka tampaknya satu komputer dikenal sebagai sistem operasi terdistribusi. Pengembangan jaringan komputer yang dapat dihubungkan dan saling berkomunikasi, memunculkan komputasi terdistribusi. perhitungan terdistribusi dilakukan pada lebih dari satu mesin. Ketika komputer dalam kerja kelompok dalam kerja sama, mereka membuat sistem terdistribusi.
-Embedded System
sistem operasi ini dirancang untuk digunakan dalam sistem komputer embedded yang dikenal sebagai sistem operasi tertanam. Mereka dirancang untuk beroperasi pada mesin kecil seperti PDA dengan otonomi kurang. Mereka mampu beroperasi dengan jumlah terbatas sumber daya. Mereka sangat kompak dan sangat efisien dengan desain. Windows CE, FreeBSD dan Minix 3 adalah beberapa contoh sistem operasi tertanam.
Pengertian Dari
Pengertian Time Sharing System
adalah suatu teknik penggunaan online system oleh beberapa pemakai secara bergantian menurut waktu yang diperlukan pemakai. Disebabkan waktu perkembangan proses CPU semakin cepat, sedangkan alat Input/Output tidak dapat mengimbangi kecepatan dari CPU, maka kecepatan dari CPU dapat digunakan secara efisien dengan melayani beberapa alat I/O secara bergantian. Proses TSS mulai nampak perpaduan teknologi komputer dan teknologi telekomunikasi yang pada awalnya berkembang sendiri- sendiri. Pada sistem TSS beberapa terminal terhubung secara seri ke sebuah host computer.
Time Sharing System

Christopher Strachy pada tahun 1959 telah memberikan ide mengenai pembagian waktu yang dilakukan oleh CPU. Baru pada tahun 1961, pertama kali sistem yang benar-benar berbentuk time sharing system dilakukan di MIT (Massachusetts Institute of Technology) dan diberi nama CTSS (Compatible Time Sharing System) yang bisa melayani sebanyak 8 pemakai dengan menggunakan omputer IBM 7090. Pada TSS tiap-tiap User dilayani oleh komputer dengan bergiliran dalam waktu yang sangat cepat. Sehingga tiap pemakai komputer tidak merasa bahwa komputer melayani beberapa pemakai sekaligus secara bergiliran.
Priority Scheduling
Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.
Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain:
Time limit.
Memory requirement.
Akses file.
Perbandingan antara burst M/K dengan CPU burst.
Tingkat kepentingan proses.
Priority scheduling juga dapat dijalankan secara preemptive maupun non-preemptive. Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut. Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan queue.
Kelemahan pada priority scheduling adalah dapat terjadinya indefinite blocking( starvation). Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya.
Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap.
Contoh: Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya semakin tinggi).
Swap
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di memori sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready queue berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan sementara. Jika proses tersebut belum berada di memori maka proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Gambar 2.1. Proses Swapping

 
Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai berikut: Algoritma Round-Robin yang digunakan pada multiprogramming environment menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-prosesnya. Ketika waktu kuantum berakhir, memory manager akan mengeluarkan (swap out) proses yang telah selesai menjalani waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses penukaran yang terjadi antara memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta me-load proses dengan prioritas yang lebih tinggi tersebut. Saat proses dengan prioritas yang lebih tinggi telah selesai dieksekusi maka proses yang memiliki prioritas lebih rendah dapat dimasukkan kembali ke dalam memori dan kembali dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat penyimpanan sementara yang berupa harddisk memiliki kecepatan transfer data sebesar 20 MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar 5 MB tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps = 250 ms
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori, maka total waktu swap menjadi 252 + 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta memori dan kapan membebaskan ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori yang dibebaskan P1 tersebut.
Masalah ini dapat diatasi jika kita tidak melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K hendaknya dilakukan pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya tidak diaktifkan, namun akan dimulai jika banyak proses yang membutuhkan alokasi memori yang banyak. Swapping akan dinonaktifkan kembali jika jumlah proses yang dimasukkan berkurang. Pada sistem operasi Microsoft Windows 3.1, jika sebuah proses baru dimasukkan dan ternyata tidak ada cukup ruang di memori untuk menampungnya, proses yang lebih dulu ada di memori akan dipindahkan ke disk. Sistem operasi ini pada dasarnya tidak menerapkan teknik swapping secara penuh, hal ini disebabkan pengguna lebih berperan dalam menentukan proses mana yang akan ditukar daripada penjadwal CPU. Dengan ketentuan seperti ini proses-proses yang telah dikeluarkan tidak akan kembali lagi ke memori hingga pengguna memilih proses tersebut untuk dijalankan.
Sistem partisi dan partisi boot
Partisi boot adalah partisi disk yang berisi boot sector dan file seperti NTLDR yang dibutuhkan untuk boot Windows XP dan sebelumnya. ( Windows Vista dan Windows Server 2008 menggunakan boot loader lebih baru yang disebut bootmgr yang menggantikan NTLDR dan dikonfigurasi menggunakan Bcdedit.exe).
Partisi sistem adalah partisi disk yang berisi Windows Sistem operasi file dan file dukungan, tetapi tidak semua file bertanggung jawab untuk booting .
Partisi sistem bisa berbeda dari partisi boot, meskipun mereka sering pada partisi yang sama (drive C :). Windows setup menempatkan partisi sistem awal berdasarkan motherboard BIOS setting. BitLocker membutuhkan partisi, sistem terpisah tidak terenkripsi untuk booting .
Para master boot record terletak pada 0 sektor fisik, sebelum tabel partisi , dan karena itu tidak terdapat di dalam partisi yang logis atau jilid.
Meskipun Microsoft terminologi itu istimewa, adalah mungkin untuk menandai partisi boot sebagai aktif dan boot ke dalamnya, apakah partisi adalah partisi primary, dan file yang dibutuhkan seperti NTLDR dan boot.ini untuk Windows XP atau lebih Windows NT platform ada di atasnya. Dalam skenario dual-boot partisi sistem dapat diformat dengan FAT16 file system dan berisi MS DOS sistem operasi dan Recovery Console . Para DOS boot sector dari partisi ini disimpan dalam BOOTSECT.DOS file (atau serupa), dan digunakan sebagai masukan dalam file boot.ini NTLDR. Sektor boot baru partisi ini mencari dan mulai NTLDR, sedangkan gambar dari boot sector DOS mencari dan mulai DOS. Perhatikan bahwa sektor boot DOS mencari file yang berbeda tergantung pada produsen peralatan asli seperti IBM untuk PC DOS atau Microsoft untuk MS DOS .
Secara umum, skema booting yang lebih baru mendukung skema yang lebih tua, ini adalah alasan mengapa Microsoft sistem operasi biasanya dipasang di urutan kronologis (yang terlama pertama OS, OS terbaru terakhir), dan mengapa upaya untuk "memperbaiki" sektor-sektor penting dengan alat yang dirancang untuk sistem operasi yang lebih tua bisa menyebabkan kerusakan untuk sistem operasi yang lebih baru.
Baru Windows Vista proses startup mendukung fitur yang sama dan tambahan; sektor boot mencari boot manager baru, bukan NTLDR. Alat fixmbr Lama menginstal boot sector NTLDR akan menghancurkan sektor boot baru, dan karena itu Windows versi lebih baru biasanya menggunakan sistem partisi terpisah. Tata letak direkomendasikan terdiri dari partisi pemulihan tersembunyi utama diikuti oleh utama NTFS partisi sistem (ditandai sebagai aktif untuk boot), dan sebuah partisi boot terpisah (di Microsoft terminologi), yang kedua bisa berupa partisi primary atau disk logis dalam partisi extended mount sebagai drive C: . Layout lebih rumit dengan partisi OEM, atau layout sederhana dengan sistem = partisi boot, yang mungkin.