Perkenalan Dengan Operating System

Apakah Sistem Operasi itu? Sistem operasi atau sering disebut OS (Operating System) adalah suatu program yang mengatur pembagian sumber daya. Terdapat beberapa fungsi OS, antara lain : Mengatur eksekusi program lain Sebagai perantara (interface) apikasi dengan hardware

Evolusi Operating System

Seiring dengan perkembangan zaman, OS pun juga harus ikut berkembang atau bervolusi. Mengapa OS harus berevolusi? Inilah alasannya : Munculnya hardware jenis baru Adanya layanan baru yang dibutuhkan pengguna Update atau perbaikan (patches, bug, fixes) Berikut evolusi OS sejak pertama kali para ilmuwan menemukan komputer sampai sekarang. Cekidot!

--

Istilah dalam Operating System

Mau berkenalan lebih dalam dengan operaring system? Pertama-tama,kenalilah apa saja yang dibutuhkan dan istilah apa saja yang biasanya diapakai dalam OS. CEKIDOT!

Multiprocessing Operating System

Seiring dengan berkembangnya zaman, kemajuan teknologi, terutama dalam bidang komputasi, sangatlah pesat. Dari awal di mana prosesor belum mempunyai kemampuan yang optimal , sampai saat ini prosesor sudah bisa melakukan beberapa proses secara bersamaan. CEKIDOT!

Basic Command pada Linux

Apakah Anda sudah pernah memaki Linux pada OS komputer Anda? Kalau belum, pada artikel kali ini, mimin mau ngebahas soal Linux nih. Mulai dari dasar sampai permukaan. CEKIDOT!

Bagaimana cara membuat file archive dalam linux?

Apakah Anda tau apa itu Tar dalam Linux? Tar adalah perintah untuk membuat file archive dalam platform Unix. Dengan kata lain, Tar sama dengan Zip atau Rar dalam Windows. Dalam bash script (terminal linux), terdapat beberapa ketentuan untuk membuat file Tar. Berikut adalah cara-caranya. CEKIDOT!

Senin, 05 Januari 2015

RAID

   RAID adalah Redundant Arra of Independent Disks. RAID  bisa diartikan sebagai cara menyimpan data pada beberapa harddisk. Dengan begini, kinerja PC bisa meningkat. Selain itu, salinan data juga bisa dijadikan back-up.
      Tujuan utama penggunaan RAID adalah untuk meningkatkan keandalan/reliabilitas yang sangat penting untuk melindungi informasi yang sangat kritis untuk beberapa lahan bisnis, seperti halnya basis data, atau bahkan meningkatkan kinerja, yang sangat penting untuk beberapa pekerjaan,


Raid Levels


RAID 0

     Juga dikenal dengan modus stripping. Membutuhkan minimal 2 harddisk. Sistemnya adalah menggabungkan kapasitas dari beberapa harddisk. Sehingga secara logikal hanya “terlihat” sebuah harddisk dengan kapasitas yang besar (jumlah kapasitas keseluruhan harddisk).Pada awalnya, RAID 0, digunakan untuk membentuk sebuah partisi yang sangat besar dari beberapa harddisk dengan biaya yang efisien.
     Ada keuntungan dengan adanya fragmen-fragmen ini,yaitu kecepatan. Data bisa diakses lebih cepat dengan RAID 0, karena saat komputer membaca sebuah fragmen di satu harddisk, komputer juga dapat membaca fragmen lain di harddisk lainnya.


RAID 1

     Biasa disebut dengan modus mirroring. Membutuhkan minimal 2 harddisk. Sistemnya adalah menyalin isi sebuah harddisk ke harddisk lain dengan tujuan: jika salah satu harddisk rusak secara fisik, maka data tetap dapat diakses dari harddisk lainnya.


RAID 2

     RAID 2, juga menggunakan sistem stripping. Namun ditambahkan tiga harddisk lagi untuk parisi hamming, sehingga data menjadi lebih reliable. Karena itu, jumlah harddisk yang dibutuhkan adalah minimal 5 (n+3, n > 1). Ketiga harddisk terakhir digunakan untuk menyimpan hamming code dari hasil perhitungan tiap bit-bit yang ada di harddisk lainnya.


RAID 3

     RAID 3, juga menggunakan sistem stripping. Juga menggunakan harddisk tambahan untuk reliability, namun hanya ditambahkan sebuah harddisk lagi untuk parity.. Karena itu, jumlah harddisk yang dibutuhkan adalah minimal 3 (n+1 ; n > 1). Harddisk terakhir digunakan untuk menyimpan parity dari hasil perhitungan tiap bit-bit yang ada di harddisk lainnya.

RAID 4

     Sama dengan sistem RAID 3, namun menggunakan parity dari tiap block harddisk, bukan bit. Kebutuhan harddisk minimalnya juga sama, 3 (n+1 ; n >1).

RAID 5

RAID 5 pada dasarnya sama dengan RAID 4, namun dengan parisi yang terdistribusi. Yakni, tidak menggunakan harddisk khusus untuk menyimpan paritinya, namun paritinya tersebut disebar ke seluruh harddisk. Kebutuhan harddisk minimalnya juga sama, 3 (n+1 ; n >1).
Hal ini dilakukan untuk mempercepat akses dan menghindari bottleneck yang terjadi karena akses harddisk tidak terfokus kepada kumpulan harddisk yang berisi data saja.


RAID 6


Secara umum adalah peningkatan dari RAID 5, yakni dengan penambahan parity menjadi 2 (p+q). Sehingga jumlah harddisk minimalnya adalah 4 (n+2 ; n > 1). Dengan adanya penambahan pariti sekunder ini, maka kerusakan dua buah harddisk pada saat yang bersamaan masih dapat ditoleransi. Misalnya jika sebuah harddisk mengalami kerusakan, saat proses pertukaran harddisk tersebut terjadi kerusakan lagi di salah satu harddisk yang lain, maka hal ini masih dapat ditoleransi dan tidak mengakibatkan kerusakan data di harddisk bersistem RAID 6.

Disk Scheduling


Disk Transfer Time

     Disk transfer time terdiri dari :
1. Seek Time
    Adalah waktu yang dibutuhkan untuk kontroler hard disk untuk menemukan bagian tertentu dari data yang disimpan.

2. Rotational Delay
    Adalah waktu untuk mencapai blok record yang diinginkan. Atau dengan kata lain adalah interval antara akhir dari sebuah disk mencari dan waktu di mana alamat blok awal ditentukan dalam permintaan I / O melewati kepala disk.

3. Access Time
    Adalah waktu tunda atau latency antara permintaan ke sistem elektronik, dan akses yang diselesaikan atau data yang diminta dikembalikan.Dalam telekomunikasi sistem, waktu akses adalah delay antara awal dari sebuah upaya akses dan akses sukses.

Disk Scheduling

     Disk Scheduling Policy digunakan untuk menentukan track mana yang akan diakses berikutnya. Terdapat beberapa metode, yaitu :

1. Random Scheduling
    Disk scheduling dilakukan secara random, jadi track yang akan diakses akan terpilih secara acak.

2. First In Firs Out (FIFO)
    Track yang pertama masuk akan diakses terlebih dahulu, begitu selanjutnya.

3. Shortest Service Time First
    Request yang membutuhkan pergerakan disk arm paling sedikit didahulukan

4. SCAN
    Head bergerak ke silinder paling ujung dari disk. Setelah sampai disana maka head akan berbalik arah menuju silinder di ujung yang lainnya.

5. Circular Scan (C-SCAN)
     Head bergerak ke silinder paling ujung dari disk. Setelah sampai disana maka head akan berjalan terus menuju silinder di ujung yang lainnya, tidak berbalik arah.

Teknik Menangani I/O

   Dalam menangani I/O, terdapat 3 cara, yaitu :

1. Programmed I/O



      Pada Programmed I/O, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.
     Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan.

2. Interrupt Driven I/O

     Interrupt driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/Odijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya.Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.

3. Direct Memory Access (DMA)


      Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan Akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.

Virtual Memory


   Virtual memory adalah memori sementara yang digunakan komputer untuk menjalankan berbagai program aplikasi ataupun menyimpan data yang membutuhkan memory yang lebih besar dari memory yang telah tersedia ( Memory fisik seperti RAM). Program ataupun data yang tidak muat dimasukan pada memory asli ( RAM ), akan disimpan ke dalam sebuah Paging File. Paging File itu sendiri hanyalah data yang disimpan sementara atau bisa disebut dengan swap. Misal pada system operasi linux kita diharuskan untuk membuat dua pertisi utama yaitu untuk system dan untuk swap. Virtual memori yang dimaksud disini berbeda dengan memori fisik seperti RAM, karena RAM merupakan komponen yang termasik kedalam golongan hardware.



Ada bebrapa manfaat dari adanya virtual memori ini, bebrapa diantaranya yaitu :
  • Berkurangnya I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Missal, untuk program butuh membaca dari disk dan memasukkan dalam memori setiap kali diakses.
  • Berkurangnya memori yang dibutuhkan (space menjadi lebih leluasa). Contoh, untuk program 10 MB tidak seluruh bagian dimasukkn dalam memori. Pesan-pesan error hanya dimasukkan jika terjadi error.
  • Meningkatnya respon, sebagai konsekuensi dari menurunyya beban I/O dan memori.
  • Bertambahnya jumlah user yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan computer untuk menerima lebih banyak permintaan dari user.

Virtual Memory Policies

  1. Fetch Policy 
     Menentukan kapan sebuah page seharusnya dibawa ke main memory Ada 2 jenis fetch policy, yaitu : 
  • Demand Paging 
          Page hanya dibawa ke main memory jika dibutuhkan 

  • Prepaging 
          Page selain yang dibutuhkan juga ikut dibawa ke main memory. Prepaging mempunyai kelebihan yaitu bisa menghemat waktu karena pembacaan disk tidak sering. Tetapi juga memiliki kelemahan yaitu apabila page lain yang dibawa jarang atau bahkan tidak digunakan.

Placement Policy
     
Menentukan di bagian mana sebuah page akan diletakkan pada main memory. Untuk paging, page langsung diletakkan di frame yang kosong. Sedangkan untuk segmentatin, terdapat beberapa algoritma,yaitu :
  • Best Fit 
  • First Fit 
  • Next Fit

Replacement Policy      Menentukan page mana di memori yang seharusnya digantikan. Terdapat beberapa algoritma replacement dalam virtual memory,yaitu :

  • Optimal
  • Page yang dibutuhkan kembali masih lama akan diganti
  • Least Recently Used
  • Page tidak digunakan dalam waktu lama akan diganti
  • First in First Out
  • Page yang akan diganti adalah page yang pertama berada di main memory
  • Clock Policy
  • - Setiap page yang masuk ke main memory akan memiliki nilai untuk bit used = 1
    - Ada pointer yang bertugas 'mengelilingi' clock
    - Setiap kali pointer bergerak :
    - Bila bit used pada page berikutnya sama dengan 1
    - Reset jadi 0, dan lanjut ke page berikutnya
    - Bila bit used pada page berikutnya sama dengan 0
    - Ganti page tersebut dengan yang ada di secondary.

Resident Set Management      Menentukan berapa banyak page yang dibawa ke main memory. Berdasarkan ukuran Page yang harus ada di main memory, terdapat 2 jenis, yaitu :
  • Fixed Allocation
  • Setiap proses memiliki jatah frame di memory , dan jatah frame ditentukan di awal.
  • Variable Allocation
  • Jumlah frame untuk setiap proses bebas ditentukan kapanpun dan dapat berubah.

Cleaning Policy
     Menentukan kapan sebuah page harus dikeluarkan dari main memory menuju secondary memory. Ada 2 jenis cleaning policy, yaitu :
  • Demand cleaning 
  • Page hanya berpindah ke secondary memory ketika dia digantikan oleh page yang lain.
  • Precleaning 
  • Memindah page-page pada suatu proses secara bersama-sama .Metode ini bisa menghemat waktu penulisan ke harddisk.

Paging dan Segmentation


A. Paging

     Paging adalah suatu sistem manajemen pada sistem operasi yang mengatur program yang sedang berjalan. Metode dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang berukuran tertentu yang disebut dengan frame dan memecah memori logika menjadi bok-blok yang berukuran sama dengan frame yang disebut page.

B. Segmentation

     Segmentasi merupakan skema manajemen memori yang mendukung cara pandang seorang programmer terhadap memori. Ruang alamat logika merupakan sekumpulan dari segmen-segmen.Masing-masing segment mempunyai panjang dan nama. Alamat diartikan sebagai nama segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin menunjuk sebuah alamat dapat dilakukan dengan menunjuk nama segmen dan offsetnya. Untuk lebih menyederhanakan implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti nama segment.

Memory Partition


   Partisi memori adalah pembagian harddisk menjadi beberapa bagian yang digunakan untuk mempermudah manajemen file.
      Terdapat 2 jenis partisi memori, yaitu :

1. Fixed Partitioning

Ciri-ciri :
  • Pembagian memori ditentukan di awal dan tidak dapat dirubah 
  • Ukuran partisi bisa sama (equal-size) atau berbeda (unequal-size)
Kesulitan yang dihadapi :
  • Ukuran program > ukuran partisi 
  • Penggunaan memori yang tidak efisien 
  • Internal Fragmentation
Contoh OS yang menggunakan :
  • IBM OS/MFT (Multiprogramming with a Fixed Number of Tasks)

2. Dynamic Partitioning

     Dalam dynamic memory partitioning,,memori dipartisi menjadi bagian-bagian dengan jumlah dan besar yang tidak tentu.

Ciri-ciri :
  • Alokasi memori ditentukan saat runtime Setiap proses diberikan alokasi sesuai yang dibutuhkan
Kesulitan yang dihadapi :
  • External Fragmentation 
  • Ruang kosong di memori banyak, tetapi terbagi-bagi