Manajemen Memori

Hirarki Memory

  • Cache Memory adalah memory yang bertugas membantu tugas primary memory dalam memecah-mecah data yang akan diproses dan yang belum diproses, dengan tujuan mempermudah kinerja processor (karena data dibagi-bagi / dipotong-potong dulu sebelum diproses).
  1. Biasa ada dalam processor, mother board maupun peralatan mikrokontroller lain (VGA, Hard disk, Sound, dsb).
  2. Berukuran kecil, antara Kilo Bytes (KB) sampai dengan MB (Mega Bytes).
  • Main Memory adalah memory utama dari sebuah komputer, biasa berbentuk RAM (disebut juga sebagai memory dinamis).
  1. Fungsi utamanya adalah menyimpan sementara data yang akan diproses oleh processor dan data yang telah diproses oleh processor untuk selanjutnya diteruskan ke media input/output yang lain VGA (ditampilkan), Sound (mengeluarkan suara), Hard Disk (menyimpan data/save), maupun media input/output lainnya.
  2. Besarannya adalah MB (Mega Byte) hingga GB (Giga Byte)
  • Secondary Memory adalah memory pembantu dari sebuah komputer, biasa berbentuk Harddisk / ROM (Read Only Memory), disebut juga sebagai memory statis (pasif).
  1. Fungsi utamanya adalah menyerupai RAM tapi perbedaannya memory jenis ini bisa menyimpan data dalam waktu yang lama.
  2. Dan juga memory jenis ini (hard disk) biasa dipakai sebagai MEMORY BANTUAN, yaitu memori tambahan untuk membantu tugas RAM.
  3. Misalnya ada data yang harus diproses sebesar 550 MB, sementara RAM kita hanya 512 MB, dan ini pastinya memerlukan bantuan dari Hard disk sebesar 38 MB untuk membantu tugas RAM sebagai Primary memory.
  4. Hal ini biasa dilakukan oleh OS dan menyimpannya dalam sebuah file yang berjenis swap (swap file / .swp).

Manajemen Memori

  • Manajemen memori dilakukan dengan cara membagi-bagi memori untuk mengakomodasi banyak proses
  • Manajemen memori dilakukan untuk menjamin agar setiap proses yang ready dapat segera memanfaatkan processor time.
  • Beberapa fungsi lainnya:
  1. Mengelola informasi memori yang dipakai & tidak dipakai.
  2. Mengalokasikan memori ke proses yang memerlukan.
  3. Men-dealokasikan memori dari proses yang telah selesai.
  4. Mengelola swapping antara memori utama & disk.

Requierement Management Memory

  • Terdapat 5 requirement manajemen memori:
  1. Relocation
  2. Protection
  3. Sharing
  4. Logical organization
  5. Physical organization

 Paging

Definisi Paging

  • Suatu metode yang memungkinkan suatu alamat memori fisik yang tersedia dapat tersusun tidak berurutan.
  • Paging merupakan solusi untuk masalah fragmentasi eksternal dimana ruang alamat logika tidak berurutan yang mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia.
  • Paging adalah bentuk manajemen memori yang biasa digunakan pada beberapa OS.

Konsep Paging

  • Memori virtual dibagi menjadi blok-blok yang ukurannya tetap yang dinamakan page (ukurannya adalah pangkat 2, diantara 512 bytes dan 8192 bytes, tergantung arsitektur).
  • Memori fisik dibagi juga menjadi blok-blok yang ukurannya tetap yang dinamakan frame.
  • Lalu kita membuat suatu page table yang akan menterjemahkan memori virtual menjadi memori fisik.

Keuntungan dan Kerugian Paging

  • Jika kita membuat ukuran dari masing-masing pages menjadi besar:
  1. Keuntungannya akses memori akan relatif lebih cepat.
  2. Kerugiannya kemungkinan terjadinya fragmentasi internal yang sangat besar.
  • Jika kita membuat ukuran dari masing-masing pages menjadi kecil:
  1. Kerugiannya akses memori akan relatif lebih lambat.
  2. Keuntungannya kemungkinan terjadinya fragmentasi internal akan menjadi lebih kecil.

Perangkat Keras Paging

  • Dikenal dengan Unit Manajemen Memori (MMU).
  • Jika CPU ingin mengakses memori, CPU mengirim alamat memorinya ke MMU yang akan menerjemahkannya ke alamat lain sebelum mengirim kembali ke unit memori.
  1. Alamat yang dihasilkan oleh CPU disebut alamat logis.
  2. Alamat yang didapat setelah melalui MMU disebut alamat fisik.

Segmentasi

Konsep Segmentasi

  • Salah satu cara untuk mengatur memori dengan menggunakan segmen.
  • Program dibagi menjadi beberapa segmen.
  • Segmen → kumpulan logical unit.

Arsitektur Segmentasi

  • Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan

<nomor segmen, offset>

  • Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari:
  1. Segmen basis (base) berisi alamat fisik awal
  2. Segmen limit merupakan panjang segmen

Sifat Segmentasi

  • Ukuran tiap segmen tidak harus sama.
  • Dapat diletakan di mana saja (di main memory, setelah program dimasukkan ke memori).
  • Tabel Segmen → menentukan lokasi segmen.
  • Saling berbagi.
  • Adanya proteksi.
  • Alokasi yang dinamis.

Masalah Segmentasi

  • Segmen dapat membesar.
  • Muncul fragmentasi luar, bila ada proses yang besar.

Perbedaan Segmentasi & Paging

  • Kelebihan paging:
  1. Tidak ada fragmentasi luar.
  2. Alokasi-nya cepat.
  • Kelebihan segmentasi:
  1. Saling berbagi.2. Proteksi.

Virtual Memory

Definisi Virtual Memory

  • Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori
  • Menyembunyikan aspek-aspek fisik memori dari user.
  1. Memori adalah lokasi alamat virtual berupa byte yang tidak terbatas.
  2. Hanya beberapa bagian dari memori virtual yang berada di memori logis.

Prinsip Virtual Memory

  • Konsep memori virtual yang dikemukakan Fotheringham pada tahun 1961 pada sistem komputer Atlas di Universitas Manchester, Inggris:
    • “ Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual.”

Keuntungan Memori Virtual

  • Lalu lintas I/O menjadi rendah.
  • Berkurangnya memori yang dibutuhkan.
  • Meningkatnya respon.
  • Bertambahnya jumlah user yang dapat dilayani.
  • Memori virtual melebihi daya tampung dari memori utama yang tersedia.

 

Implementasi Virtual Memory

  • Implementasi dari virtual memori:
    • Multiprograming
    • Memori virtual dapat dilakukan dengan cara:
      • Demand paging
      • Demand segmentation
    • Demand paging
      • Permintaan pemberian page
      • Permintaan pemberian page menggunakan swapping.
      • Page pada permintaan pemberian page hanya di-swap ke memori jika benar-benar diperlukan.
      • Keuntungan:
        • Sedikit I/O yang dibutuhkan
        • Sedikit Memory yang dibutuhkan
        • Response yang lebih cepat
        • Lebih banyak melayani user
      • Demand paging
        • Permintaan pemberian page
        • Permintaan pemberian page menggunakan swapping.
        • Page pada permintaan pemberian page hanya di-swap ke memori jika benar-benar diperlukan.
        • Keuntungan:
          • Sedikit I/O yang dibutuhkan
          • Sedikit Memory yang dibutuhkan
          • Response yang lebih cepat
          • Lebih banyak melayani user

 

 

 

 

 

 

 

 

Deadlock & Starvation

Definisi Deadlock

  • Deadlock dalam arti sebenarnya adalah kebuntuan.
  • Kebuntuan yang dimaksud dalam sistem operasi adalah kebuntuan proses.
  • Jadi Deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau pun tidak ada komunikasi lagi antar proses.
  • Deadlock: sekumpulan proses yg menunggu event yang hanya bisa dimunculkan oleh salah satu dari proses anggota
  1. Tidak ada proses yang bisa berlanjut, melepaskan resources, atau diaktifkan kembali.
  2. Berawal dari situasi supply resources lebih kecil daripada demand.
  • Deadlock adalah keadaan dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain.
  1. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah.
  • Penyebab terjadinya deadlock adalah :
  1. mutual exclusion, yaitu suatu keadaan dimana hanya ada satu proses saja yang boleh memakai resource, proses yang lain harus menunggu sampai proses tadi benar-benar selesai. contoh mutual exclusion adalah “buffering” ketika kita menonton video.
  2. Hold and Wait,yaitu keadaan dimana suatu proses ‘kelaparan’ sumberdaya. Suatu proses menunggu suatu sumberdaya dalam waktu yang lama hingga sumberdaya tersebut tidak terpakai oleh proses lainnya.
  3. No Pre-emption, yaitu keadaan dimana suatu sumberdaya tidak boleh diambil(dipakai) begitu saja/secara paksa oleh proses yang lainnya sehingga suatu proses harus menunggu hingga proses yang sedang memakai sumberdaya benar-benar telah selesai.
  4. circular wait, yaitu suatu keadaan dimana proses yang lain membutuhkan sumberdaya yang sedang dipakai oleh suatu proses sehingga timbul antrian melingkar (waiting chain) seperti halnya rantai.
    Keempat penyebab timbulnya deadlock hampir sama yaitu penggunaan sumber daya dan waktu tunggu oleh suatu proses atau lebih.
  • Berikut adalah beberapa cara untuk menangani deadlock :
    1. Cara pencegahan (prevention), yaitu mencegah terjadinya deadlock. Dalam hal ini, penyebab deadlock harus diketahui sebelumnya kemudian memastikan bahwa slah satu keadaan yang penting tidak akan meninmbulkan deadlock.
    2. Cara penolakan/menghindari (avoidance), yaitu melakukan pendataan terhadap proses-proses yang kira-kira akan menghabiskan sumberdaya.
    3. Detection and Recovery, yaitu mendeteksi dan memperbaiki. Mendeteksi sistem apasaja yang terlibat jika terjadi deadlock, setelah mendeteksi, sistem diperbaiki.
    4. Mengabaikan deadlock, yaitu membiarkan deadlock seolah tidak terjadi apa-apa dan membiarkan deadlock tersebut mematikan program. Hal ini merupakan algoritma Ostrich untuk menangani deadlock.

Algoritma Bankir

  • Menurut Dijkstra (1965) algoritma penjadwalan dapat menghindari Deadlock dan algoritma penjadwalan itu lebih dikenal dengan sebutan algoritma bankir.
  1. Algoritma ini dapat digambarkan sebagai seorang banker yang berurusan dengan kelompok orang yang meminta pinjaman.
  2. Jadi kepada siapa dia dapat memberikan pinjamannya.
  3. Dan setiap pelanggan memberikan batas pinjaman maksimum kepada setiap peminjam dana.

 

  • Secara umum algoritma bankir dapat dibagi menjadi empat struktur data:
  • Jumlah sumber daya/dana yang tersedia.
      • Jumlah sumber daya maksimum yang diminta oleh setiap proses.
      • Jumlah sumber daya yang dibutuhkan oleh setiap proses.
      • Maksimum-alokasi, sisa sumber daya yang dibutuhkan oleh proses setelah dikurangi dengan yang dialokasikan.
  • Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya.

Definisi Starvation

  • Starvasion adalah sebuah kondisi dimana ada satu atau lebih proses yang tidak pernah dieksekusi karena tidak pernah mendapat jatah sumber daya.
  • Terdapat tiga proses, yaitu P1, P2 dan P3.
  1. P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodik
  • Skenario berikut terjadi :
  1. P1 sedang diberi sumber daya R sedangkan P2 dan P3 di-blocked menunggu sumber daya R.
  2. Ketika P1 keluar dari critical section, maka P2 dan P3 diijinkan mengakses R.
  3. Asumsi P3 diberi hak akses, kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu kembali membutuhkan sumber daya R.
  4. Jika pemberian hak akses bergantian terus-menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesan sumber daya R.
  5. Dalam kondisi ini memang tidak terjadi deadlock, hanya saja P2 mengalami starvation (tidak ada kesempatan untuk dilayani).

Kongkurensi & Mutual Exclusion

Definisi

  • Merupakan sebuah kondisi dimana terdapat lebih dari satu proses berada pada saat yang sama.
  • Proses-proses yang konkuren memiliki beberapa masalah:
  1. Mutual Exclusion
  2. Starvation
  3. Deadlock

Prinsip Kongkurensi

  • Kongkurensi merupakan kegiatan yang berhubungan dengan :
  1. Alokasi waktu pemroses untuk proses-proses yang aktif.
  2. Pemakaian bersama dan persaingan untuk mendapatkan sumber daya.
  3. Komunikasi antar proses.
  4. Sinkronisasi aktivitas banyak proses

Masalah lain Kongkurensi

  • Mutual Exclusion

Sumber daya yang tidak dapat dipakai bersama pada saat bersamaan.

  • Starvation

Startvation adalah keadaan dimana pemberian akses bergantian terus-menerus, dan ada suatu proses yang tidak mendapatkan gilirannya.

  • Deadlock

Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.

Penanganan

  • Mengetahui proses-proses yang aktif.
  • Alokasi dan dealokasi beragam sumber daya untuk tiap proses aktif.
  • Proteksi data dan sumber daya fisik masing-masing proses dari gangguan (intervensi) proses-proses lain.
  • Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan.

Interaksi Antar Proses

  • Proses-proses saling tidak peduli (independen)
  • Proses-proses saling mempedulikan secara tidak langsung
  • Proses-proses saling peduli secara langsung

Definisi Mutual Exclusion

  • Kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya : printer, disk drive).
  • Kondisi demikian disebut sumber daya kritis, dan bagian program yang menggunakan sumber daya kritis disebut critical region / section.
  • Hanya satu program pada satu saat yang diijinkan masuk ke critical region.

Mutual Exclusion

  • Sistem operasi menyediakan layanan (system call) yang bertujuan untuk mencegah proses lain masuk ke critical section yang sedang digunakan proses tertentu.
  • Pemograman harus menspesifikasikan bagian-bagian critical section, sehingga system operasi akan menjaganya.
  • Pemaksaan atau pelanggaran mutual exclusion menimbulkan :
  • Deadlock
  • Starvation

Contoh Mutual Exclusion

  • Mutual exclusion adalah sebuah jaminan bahwa sebuah sumber daya komputer (ex. Harddisk) hanya dipakai 1 proses pada suatu waktu.
  • Misalnya ada sebuah jaringan komputer sebuah Bank, dimana server untuk penyimpanan data terpusat.
  1. Seorang nasabah dapat melakukan penyimpanan maupun penarikan dari cabang mana saja dan kapan saja termasuk pengambilan lewat ATM.
  2. Sehingga jika ingin data tepat, jika ada salah satu nasabah melakukan transaksi, record nasabah bersangkutan harus dikunci supaya record tersebut tidak dapat akses oleh orang lain.
  3. Setelah transaksi selesai, record tempat data nasabah disimpan, record baru dibuka kembali. Ini adalah salah satu contoh penjaminan bahwa satu sumber daya hanya bisa dipakai oleh satu proses.

Penjadwalan Proses

Definisi Penjadwalan Proses

  • Penjadwalan CPU merupakan basis dari multiprogramming sistem operasi.
  • Dengan men-switch CPU diantara proses, akibatnya sistem operasi dapat membuat komputer lebih produktif.

Multiprogramming

  • Multiprogramming adalah suatu proses menjalankan proses-proses di dalam computer secara bersamaan (yang disebut paralel).
  • Multiprogramming dapat meningkatkan produktivitas dari sebuah komputer.
  • Tujuan dari multiprogramming adalah menjalankan banyak proses secara bersamaan, untuk meningkatkan performance dari komputer.

Penjadwalan Proses

  • Suatu proses pengaturan / penjadwalan proses – proses yang ada di dalam komputer.
  • CPU scheduling sangat penting dalam menentukan performance sebuah komputer karena mengatur alokasi resource dari CPU.

Tipe Penjadwalan

  • Penjadwalan jangka pendek,

bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama.

  • Penjadwalan jangka menengah,

mengendalikan transisi dari keadaan suspend ke ready proses-proses swapping.

  • Penjadwalan jangka panjang,

bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi.

Properti Penjadwalan

  • CPU Burst
  1. Pengeksekusian dari proses tersebut terdiri atas siklus CPU ekskusi dan I/O Wait (bolak-balik).
  2. Pengeksekusian proses dimulai dengan CPU Burst, setelah itu diikuti oleh I/O burst, kemudian CPU Burst lagi lalu I/O Burst lagi begitu seterusnya dan dilakukan secara bergiliran.
  3. CPU Burst terakhir, akan berakhir dengan permintaan sistem untuk mengakhiri pengeksekusian daripada melalui I/O Burst lagi.
  • Dispatcher
  1. Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang fungsinya adalah:
  • Switching context
  • Switching to user mode
  • Lompat dari suatu bagian di progam user untuk mengulang progam.

Dispatch Latency adalah waktu yang diperlukan dispatcher untuk menghentikan suatu proses dan memulai proses yang lain.

Preemptive

  • Semua proses yang ada dalam antrian ready (siap) harus dikerjakan oleh CPU.
  • CPU sendiri harus memilih salah satu proses yang akan dikerjakan dalam satu waktu.
  • Pemilihan tersebut dilakukan oleh short term scheduler dan proses yang dipilih akan dieksekusi dalam CPU dalam satu waktu yang telah ditentukan oleh scheduler.

Non-Preemptive

  • Dalam penjadwalan non-preemptive sekali CPU telah dialokasikan untuk sebuah proses, maka tidak dapat di ganggu.

Ini berarti cpu menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diinterupt).

  • Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh versi lama

FCFS / FIFO (FIRST IN FIRST OUT)

  • Proses yg tiba lebih dahulu akan dilayani lebih dahulu.
  • Kalau ada proses tiba pada waktu yg sama, maka pelayanan mereka dilaksanakan melalui urutan mereka dalam antrian.
  • Proses di antrian belakang harus menunggu sampai semua proses di depannya selesai.
  • Setiap proses yang berada pada status ready dimasukkan ke dalam FCFS queue sesuai dengan waktu kedatangannya.

SJF (Shortest-Job First)

  • Setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil.
  1. Mengakibatkan waiting time yang pendek untuk setiap proses dan waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan ini adalah algoritma yang optimal.
  • Langkahnya:
  1. Langkah I: tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani
  2. Langkah II: penentuan proses mana yg dilayani oleh pemroses

 

 

Manajemen Proses

Definisi Proses

  • suatu program yang sedang dieksekusi dan memiliki status jalannya eksekusi
  • Menurut Silberschatz, suatu proses terdiri lebih dari sebuah kode program yang sedang dieksekusi (text section).
  • Menurut Tanenbaum, proses adalah sebuah program yang dieksekusi yang mencakup program counter, register, dan variabel di dalamnya.

Menurut Tanenbaum

  • Informasi dari program eksekusi:
  • Program counter : menunjukkan instruksi berikutnya yang akan dieksekusi.
  • Register : data hasil eksekusi.
  • Stack : tempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi.
  • Data section : mengandung variabel global dari suatu proses.

Perkembangan Konsep Proses

  • Konsep proses berkembang sejalan dengan modus operasi sistem komputer :
  1. Fase-fase monoprogramming : ketika di memori hanya ada sebuah program yang sedang dijalankan (mungkin disertai suatu monitor proses).
  2. Fase-fase multiprogramming : ketika di memori bisa terdapat beberapa program yang sedang dijalankan.

Operasi-operasi pada Proses

  1. Penciptaan proses (create a process).
  2. Penghancuran/terminasi proses (destroy a process).
  3. Penundaan proses (suspend a process).
  4. Pelanjutan kembali proses (resume a process).
  5. Penjadwalan proses (schedule a process).
  6. Pengubahan prioritas proses (change schedule)
  7. Mem-block proses (blocking a process)
  8. Interaksi proses

Cooperating Processes

  • Sistem operasi yg dibuat saat ini mampu menjalankan program secara simultan (concurrent).
  • Program yang dijalankan secara simultan itu dapat bekerja sama dengan proses lain ataupun bekerja sendiri.
  • Alasan dipakainya Cooperating Processes:
  1. Information Sharing (sharing)
  2. Computation Speedup (kecepatan)
  3. Modularity (teknik modular)
  4. Convenience (kenyamanan)
  • Information Sharing
  • Menggunakan informasi (resource) yang sama untuk beberapa proses
  • Computation Speedup
  • Suatu task tertentu bisa dipecah menjadi beberapa cooperating processes sehingga bisa dikerjakan secara paralel sehingga menjadi lebih cepat selesai
  • Modularity
  • Pembuatan suatu sistem yang moduler dengan memecahkan fungsi-fungsi dari sistem tersebut menjadi beberapa proses atau thread.
  • Convenience
  • User bisa dengan mudah mengerjakan sesuatu yang berbeda dalam waktu yang sama
  • Contoh : satu user bisa saja secara bersamaan mengetik dan mengedit serta mencetak suatu halaman tertentu

 

Pengantar Sistem Operasi

Sistem Operasi ( Operating System)

Sistem operasi adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi. 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 berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. selain itu, Sistem Operasi komputer juga melakukan semua perintah perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa hambatan. Sistem Operasi Komputer menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunya akses kepada sistem file. Jika beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi Komputer akan mengatur jadwal yang tepat, sehingga sebisa mungkin semua proses pada komputer yang berjalan mendapatkan waktu yang cukup untuk menggunakan CPU dan tidak saling mengganggu dengan perangkat yang lain.

Contoh-contoh dari Sistem operasi Komputer misalnya adalah Windows, Linux, MacOS, dan lain lain

Operasi secara umum terdiri dari beberapa bagian :

  1. Mekanisme Boot, yaitu meletakan kernel ke dalam memory kernel, kernel dapat dikatakan sebagai inti dari Sistem Operasi.
  2. Command Interpreter atau Shell, bertugas untuk membaca input berupa perintah dan menyediakan beberapa fungsi standar dan fungsi dasar yang dapat dipanggil oleh aplikasi/program maupub piranti lunak lain. Contoh dari Shell adalah : Command Prompt pada Windows XP (DOS pada Windows 98), XTerm dan Konsole di Mesin Linux (Unix).
  3. Driver untuk berinteraksi dengan hardware sekaligus mengontrol kinerja hardware.
  4. Resource Allocator. Sistem Operasi bertugas mengatur dan mengalokasikan sumber daya dari perangkat.
  5. Handler. Handler berperan dalam mengendalikan sistem perangkat agar terhindar darik ekeliruan (error) dan penggunaan sumber daya yang tidak perlu.

 Sejarah dan Perkembangan Sistem Operasi.

Menurut Tanebaum, Sistem Operasi mengalami perkembangan yang dapat dibagi ke dalam 4 generasi,yaitu :

  1. Generasi Awal Perkembangan awal Sistem Operasi masih dilakukan secara manual dalam artian belum muncul adanya Sistem Operasi yang secara otomatis artinya belum mendukung layanan pekerjaan yang dapat dilakukan dalam 1 rangkaian.
  2. Generasi Kedua Di generasi ini sudah diperkenalkannya perkejaan yang dapat dilakukan dalam 1 rangkaian atau biasa disebut dengan Batch Proccessing System.
  3. Generasi Ketiga Pada generasi ketiga, Sistem Operasi sudah mendukung layanan Multi-User, Multi-Programming dan Batch Proccessing System (Multi-Task).
  4. Generasi Keempat Di masa ini, sudah diperkenankannya GUI (Graphical User Interface) yang artinya Sistem Operasi memiliki tampilan dan dengan bermodalkan mouse, End-User dapat menjalankan plikasi/program atau piranti lunak.
  5. Generasi Selanjutnya Pada generasi selanjutnya diperkenalkan Sistem Operasi yang berada dalam sebuah Sistem Operasi, ini adalah contoh sebuah Sistem Operasi berbasikan Website yang berkerja di dalam sebuah Sistem Operasi. Dan generasi selanjutnya diperkenalkanlah Sistem Operasi bergerak (Mobile) pada perangkat bergerak seperti : PDA, Poket PC, dan lain sebagainya. Di generasi selanjutnya diperkenalkan juga teknologi Sistem Operasi jaringan yang sifatnya virtual, sehingga dalam 1 jaringan hanya diinstal 1 buah Sistem Operasi pada Perangkat yang bertugas menjadi Server. Selain itu, diperkenalkan pula Cross Platform Operating System yang artinya dapat menggabungkan dua Sistem Operasi berbeda seperti : Linux dan Windows.

Tutorial Instalasi JDK 1.8.0_20 dan Netbeans 8.0.1

Hai Guys untuk kali ini saya akan bagikan tutorial instalasi JDK dan Netbeans. sebelum itu saya akan memberikan sedikit info apa si JDK dan Netbeans.

Netbeans merupakan sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.

kesimpulannya jika kalian ingin belajar bahasa pemrograman JAVA kalian bisa menggunakan aplikasi Netbeans.  tapi sebelum install netbeans kalian harus menginstall JDK. apa JDK? mari kita ulas?. jadi JDK adalah

JDK (Java Development Kit) adalah perangkat, tool untuk mengembangkan aplikasi java. karena class – class java ada pada JDK.  kalau java sendiri menjelaskan :

JDK is development environment for building applications, applets, and components using the Java programming language

jadi, jika anda ingin mengembangkan aplikasi java, anda harus menginstall JDK terlebih dahulu. Nah, didalam JDK, sudah terdapat JRE (Java Runtime Environment). Jadi, jika anda sudah menginstall JDK, tidak perlu menginstall JRE lagi.

Oke jika sudah jelas mari kita langsung ke  tutorial instalasi JDK dan Netbeans.

Peralatan yang dibutuhkan :

1. pc atau laptop

2. koneksi internet

Baik sebelum melakukan instalasi mari kita download dahulu jdk dan netbeansnya di : SINI

  1. Setelah download selesai jalankan installer.
  2. Klik 2x pada file tersebut dan setelah itu tekan yes.
  3. Tunggu beberapa detik saat configuring the installerScreenshot_2
  4. Kemudian tekan “Next” Screenshot_3
  5. Centang pada kolom “I accept the terms in the license agreement. Install JUnit lalu tekan Next”Screenshot_4
  6. Pilih lokasi untuk menginstall JDK dan Netbeans lalu tekan “Next”Screenshot_5
  7. Klik Install Screenshot_6
  8. Tunggulah beberapa menit saat melakukan installasi JDK dan Netbeans Screenshot_7
  9. Setelah installation selesai lalu klik Finish Screenshot_8

Dan Akhirnya Selesai melakukan Instalasi JDK dan Netbeans. Aplikasi pun siap dijalankan. Good Luck Guys 😀

 

Sumber : http://www.oracle.com, http://anggidestiyarto.com, http://kmti.umy.ac.id