Jumat, 25 Februari 2011

Apa Itu Operation System ( OS ) ?

OPERATING SYSTEM 

Dalam Ilmu komputer, Sistem operasi atau dalam Bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.

Sistem Operasi secara umum terdiri dari beberapa bagian:

1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel Mekanisme BooKerne, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.

Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu, tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System. Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS

Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, dan sebagainya.
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:

1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Proses
Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 1
source : http://wikipedia.org

Dalam OS itu kan pasti ada CPU Management nya, nah terdiri dari :

Kernel is the supervising software that manages CPU.
Kernel must remain in memory while the computer runs. If another program uses the kernel’s memory when the kernel needs it, the computer will crash


Memory Management
1. OS keeps track of memory locations to prevent programs
and data from overlapping each other
2. Swaps portions of programs and data into the same
memory but at different times.
3. Keeps track of virtual memory


Queues, Buffers, Spooling
Dibawah ini adalah perbedaan dan kesamaan antara Queues, Buffers, dan Spooling :

Buffering

Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan
antara dua perangkat atau antara perangkat dan aplikasi.

3 alasan melakukan buffering:

1. Mengatasi perbedaan kecepatan antara produsen dengan konsumen dari sebuah
stream data.

Contoh, sebuah berkas sedang diterima melalui modem dan akan disimpan di
hard disk. Kecepatan modem tersebut ribuan kali lebih lambat daripada hard
disk, sehingga buffer dibuat di dalam memori utama untuk mengumpulkan
jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer
sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal.

Karena penulisan disk tidak terjadi dengan seketika dan modem masih
memerlukan tempat untuk menyimpan data yang berdatangan, maka 2 buah buffer
digunakan untuk melakukan operasi ini. Setelah modem memenuhi buffer
pertama, akan terjadi permintaan untuk menulis di disk. Modem kemudian
mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk
penulisan ke disk. Seiring modem sudah memenuhi buffer kedua, penulisan ke
disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti
kembali memenuhi buffer pertama sedangkan buffer kedua dipakai untuk
menulis. Metode double buffering ini membuat pasangan ganda antara produsen
dan konsumen sekaligus mengurangi kebutuhan waktu diantara mereka.




2. Untuk menyesuaikan perangkat-perangkat yang mempunyai perbedaan dalam
ukuran transfer data.

Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai
secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang
diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke
dalam paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan
penerima akan meletakkan mereka di dalam buffer untuk disusun kembali.

3.Untuk mendukung copy semantics untuk aplikasi I/O. Sebuah contoh akan
menjelaskan apa arti dari copy semantics. Jika ada sebuah aplikasi yang
mempunyai buffer data yang ingin dituliskan ke disk, aplikasi tersebut akan
memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah
integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah
pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut
merubah isi dari buffer?

Dengan copy semantics, versi data yang ingin ditulis sama dengan versi data
waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan
perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem
operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan
untuk menyalin data aplikasi ke dalam buffer kernel sebelum mengembalikan
kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer
kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan
membawa dampak apa-apa. Menyalin data antara buffer kernel data aplikasi
merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang
terjadi karena operasi clean semantics. Kita dapat memperoleh efek yang
sama yang lebih efisien dengan memanfaatkan pemetaan virtual-memori dan
proteksi copy-on-wire dengan lebih pintar.

Kalo Spooling
adalah proses yang sangat berguna saat berurusan dengan perangkat I/O.dalam sistem multiprogram. Sebuah spool adalah sebuah buffer yang menyimpan
keluaran untuk sebuah perangkat yang tidak dapat menerima interleaved data
streams. Salah satu perangkat spool yang paling umum adalah printer.

Printer hanya dapat melayani satu pekerjaan pada waktu tertentu, namun beberapa
aplikasi dapat meminta printer untuk mencetak. Spooling memungkinkan keluaran
mereka tercetak satu per satu, tidak tercampur. Untuk mencetak sebuah berkas,
pertama-tama sebuah proses mengeneralisasi berkas secara keseluruhan untuk di
cetak dan ditempatkan pada spooling directory. Sistem operasi akan
menyelesaikan masalah ini dengan meng-intercept semua keluaran kepada printer.
Tiap keluaran aplikasi sudah di-spooled ke disk berkas yang berbeda. Ketika
sebuah aplikasi selesai mencetak, sistem spooling akan melanjutkan ke antrian
berikutnya.

Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses
daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread.
Pada kedua penanganan tersebut, sistem operasi menyediakan antarmuka
kontrol yang membuat users and sistem administrator dapat menampilkan antrian
tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum
mulai dicetak.

Beberapa perangkat, seperti drive tape dan printer, tidak dapat me-multiplex
permintaan I/O dari beberapa aplikasi. Selain dengan spooling, dapat juga
diatasi dengan cara lain, yaitu dengan membagi koordinasi untuk multiple
concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses
perangkat secara eksklusif, dengan mengalokasikan proses ke device idle dan
membuang perangkat yang sudah tidak diperlukan lagi. Sistem operasi lainnya
memaksakan limit suatu berkas untuk menangani perangkat ini. Banyak sistem
operasi menyediakan fungsi yang membuat proses untuk menangani koordinat
exclusive akses diantara mereka sendiri.

Tidak ada komentar:

Posting Komentar