Selasa, 30 Oktober 2018

Tugas 3 Direct Memory Access (DMA)

      Direct Memory Access (DMA)

  Direct Memory Access (DMA) adalah suatu hardware spesial (chip) yang dapat mengontrol aliran bit data antara memory (RAM) dan beberapa controller dari I/O devices tanpa memerlukan interferensi dari CPU secara terus menerus. (Mengakses dan mengontrol memori sistem tampa interferensi CPU secara terus menerus).

                 
1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.

2. CPU akan mendelegasikan kerja I/O kepada DMA

3. Teknik cyclestealing, modul DMA mengambil alih siklus bus

4.DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU)
DMA controller mengirim interrupt ke CPU jika telah selesai.

5. Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.

6. Alamat dari setiap lokasi memori direpresentasikan dalam sistem bilangan heksadesimal (basis 16). CPU melacak lokasi tersebut dan melakukan tugas membaca dan menulis data dari mereka.

7. yang memungkinkan pengambilan dan penyimpanan data lebih cepat . Karena kecepatan, RAM memberikan solusi yang optimal untuk menyimpan data sementara.Umumnya saluran kontrol meliputi : memory write, memory read, I/O write, I/O read. Terdiri atas 4 sampai 10 jalur paralel.

8.DMA memerlukan pengambilalihan kontrol bus dari CPU.DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus . System bus adalah sebagai penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya

9. Jalur data yang dilalu informasi ke dan dari mikroprosesor data bus. Adalah jalur‐jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing‐masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat.

Reference:
http://margono.staff.uns.ac.id/2009/04/08/direct-memory-access-dma/

http://53tkj.blogspot.com/2015/08/dma-direct-memory-access.html?m=1

http://syahiswandi.blogspot.com/2014/01/inputoutput-unit-dan-arsitektur-family.html?m=1

http://rezaakhmadg.blogspot.com/2012/05/direct-memory-acces-dma.html?m=1

https://sitfamz-wordpress-com.cdn.ampproject.org/v/s/sitfamz.wordpress.com/2014/11/15/tugas-3-cpu-system-bus-dan-alu/amp/?

Selasa, 23 Oktober 2018

Tugas individu 2

1. BATCH SYSTEM

     Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.
     Contoh sebuah Batch System adalah sebuah e-mail dan transaksi batch processing. Dalam suatu sistem batch processing, transaksi secara individual dientri melalui peralatan terminal, dilakukan validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut dan kemudian digunakan untuk meng-up date master file yang berkaitan.

      BENTUK DARI BATCH SYSTEM
ada 2 cara dalam Batch System yaitu :

Multi-programming
  adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.

Multiprocessing
     adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.

SYSTEM OPERASI

A. Sistem Operasi Komputer PC
Berikut Jenis-Jenis Sistem Operasi pada Komputer Pc
     1. DOS
     2. Unix
     3. Linux
     4. Windows
     5. Mac OS
     6. Ubuntu
      B. Sistem Operasi Hadphone, dll
Sedagkan untuk Jenis Sistem Operasi pada Handphone, dll adalah Sbb:
     1. Symbian
     2. Windows Mobile
     3. Mobile Linux
     4. OS BlackBerry
     5. Palm
     6. Java
     7. Android


2.Critical Section

     Critical Section adalah bagian dari suatu proses yang akan melakukan akses dan manipulasi data.
  Ketika sebuah proses sedang dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section tersebut, karena akan menyebabkan keadaan mutually exclusive.
     Mutually exclusive yakni keadaan terjadinya akses resources yang sama di saat yang bersamaan. Mutually exclusive memerlukan kondisi tertentu agar dapat terpenuhi.
    Critical section biasanya digunakan saat program multithreading, dimana program tersebut terdiri dari banyak thread, akan mengubah nilai dari variabel. Dalam hal ini critical section diperlukan untuk melindungi variabel dari concurrent access (pengaksesan program di saat yang bersamaan) yang dapat membuat nilai dari variabel tersebut menjadi tidak konsisten.
     Pada saat proses-proses berbagi data, ada kemungkinan bahwa data yang dibagi secara bersama itu akan menjadi tidak konsisten dikarenakan
     adanya kemungkinan proses-proses tersebut melakukan akses secara bersamaan yang menyebabkan data tersebut berubah, hal ini dikenal dengan istilah Race Condition.
     Oleh karena itu, dibutuhkan solusi yang tepat untuk menghindari munculnya Race Condition. Solusi tersebut harus memenuhi ketiga syarat berikut:

Mutual Exclusion
Progress
Bounded Waiting
Ada dua jenis solusi untuk memecahkan masalah critical section, yaitu.
A. Solusi Perangkat Lunak.
   Solusi ini menggunakan algoritma-algoritma untuk mengatasi masalah critical section.
Solusi Perangkat Keras. Solusi ini tergantung pada beberapa instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi, mengunci suatu variabel tertentu atau menggunakan instruksi level mesin seperti tes dan set.
     Berikut ini algoritma-algoritma yang digunakan untuk mengatasi masalah critical section:

1. Algoritma I
  Algoritma I memberikan giliran kepada setiap proses untuk memproses critical section-nya secara bergantian.
Asumsi yang digunakan disini setiap proses secara bergantian memasuki critical section-nya.
2. Algoritma II
   Masalah yang terjadi pada algoritma 1 ialah ketika di entry section terdapat sebuah proses yang ingin masuk ke critical section, sementara di critical section sendiri tidak ada proses yang sedang berjalan, tetapi proses yang ada di entry section tadi tidak bisa masuk ke critical section. Hal ini terjadi karena giliran untuk memasuki critical section adalah giliran proses yg lain sementara proses tersebut masih berada di remainder section. Untuk mengatasi masalah ini maka dapat diatasi dengan merubah variabel trun pada algoritma pertama dengan array

Boolean flag [2];

Elemen array diinisialisasi false. Jika flag[i] true, nilai tersebut menandakan bahwa Pi ready untuk memasuki critical section. Pada algoritma ini. hal pertama yang dilakukan ialah mengeset proses Pi dengan nilai True, ini menandakan bahwa Pi ready untuk masuk ke critical section. kemudian, Pi memeriksa apakah Pj

tidak ready untuk memasukui critical section. Jika Pj ready, maka Pi menunggu sampai Pj keluar dari critical section (flag[j] bernilai false). Ketika keluar dari critcal section, Pi harus merubah nilai flag[i] menjadi false agar prores lain dapat memasuki critical section.
Contoh:

Pada algoritma ini, kriteria Mutual-exclusion terpenuhi, tetapi tidak memenuhi kriteria

progress. Ilustrasinya seperti di bawah ini.

T0 : Po set flag [0] = true

T1 : Po set flag [1] = true

Dari ilustrasi diatas terlihat bahwa algoritma ini memungkinkan terjadinya nilai true untuk kedua proses, akibatnya tidak ada proses yang akan berhasil memasuki critical section.

Jadi untuk algoritma 2 masih terdapat kelemahan, seperti yang terjadi di atas.

3. Algoritma III

Idenya berasal dari algoritma 1 dan 2. Algoritma 3 mengatasi kelemahan pada algoritma 1 dan 2 sehingga progres yang diperlukan untuk mengatasi critical section terpenuhi.

Algoritma III ditemukan oleh G.L. Petterson pada tahun 1981 dan dikenal juga sebagai Algoritma Petterson. Petterson menemukan cara yang sederhana untuk mengatur proses agar memenuhi mutual exclusion. Algoritma ini adalah solusi untuk memecahkan masalah critical section pada dua proses. Ide dari algoritma ini adalah menggabungkan variabel yang di- sharing pada Algoritma I dan Algoritma II, yaitu variabel turn dan variabel flag. Sama seperti pada Algoritma I dan II, variabel turn menunjukkan giliran proses mana yang diperbolehkan memasuki critical section dan variabel flag menunjukkan apakah suatu proses membutuhkan akses ke critical section atau tidak.

4. Algoritma Tukang Roti

Algoritma ini didasarkan pada algoritma penjadwalan yang biasanya digunakan oleh tukang roti, dimana urutan pelayanan ditentukan dalam situasi yang sangat sibuk. Algoritma ini dapat digunakan untuk memecahkan masalah critical section untuk n buah proses, yang diilustrasikan dengan n buah pelanggan. Ketika memasuki toko, setiap pelanggan menerima

sebuah nomor. Sayangnya, algoritma tukang roti ini tidak dapat menjamin bahwa dua proses (dua pelanggan) tidak akan menerima nomor yang sama. Dalam kasus di mana dua proses menerima nomor yang sama, maka proses dengan nomor ID terkecil yang akan dilayani dahulu.
Penjadwalan CPU

Penjadwalan CPU adalah suatu proses pengaturan atau penjadwalan proses-proses yang ada di dalam komputer. Dimana proses-proses tersebut berjalan dalam pola yang disebut Siklus Burst.
Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan:

Berubah dari running ke waiting state.
Berubah dari running ke ready state.
Berubah dari waiting ke ready state.
Dihentikan.
Penjadwalan nomor 1 dan 4 bersifat Non Preemptive sedangkan lainnya Preemptive.
Penjadwalan CPU secara garis besar dibagi menjadi 2, yaitu Penjadwalan Preemptive dan Penjadwalan Non Preemptive.

1. Penjadwalan Pre-emptive

Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O.
contoh sistem operasi yang menerapkan penjadwalan Preemptive:

Windows 95, Windows XP, Linux, Unix, AmigaOS, MacOS X, dan Windows NT .

2. Penjadwalan Non Pre-emptive

Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.

3. Process Control Block 

     adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif, termasuk ini:

     Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
   Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan batas register. tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi (ch 9).
     Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan bataswaktu, 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 file dan banyak lagi.
     PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapatbervariasi dari prose ke proses.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,
Element-elemen PCB antara lain:

Identifikasi Proses yaitu Identifier numerik yang meliputi

Identifier proses
Identifier proses yang menciptakan
Identifier pemakai
Informasi Status Pemroses yang meliputi

Register-register yang terlihat pemakai yaitu Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses
Register-register kendali dan status yaitu Register-register yang digunakan untuk mengendalikan operasi pemroses, a.l.:
Program counter
PSW, dsb.
Pointer stack yaitu Tiap proses mempunyai satu stack atau lebih. Stack digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjuk posisi paling atas dari stack
Informasi Kendali Pemroses meliputi

Informasi penjadwalan dan status yaitu Informasi-informasi yang dipakai untuk menjalankan fungsi penjadwalan a.l :
Status proses. Mendefinisikan status proses (running,ready,block, dsb)
Prioritas. Menjelaskan prioritas proses
Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.
Kejadian (Event). Identitas kejadian yang ditunggu proses
Penstrukturan data yaitu Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
Komunikasi antar proses yaitu Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB
Kewenangan proses yaitu Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan
Manajemen memori Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses
Kepemilikan dan utilisasi sumber daya yaitu Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
Berkas yang dibuka
Pemakaian pemroses
Pemakaian sumberdaya lainnya

Informasi yang terdapat pada setiap proses meliputi :

Status Proses = New, ready, running, waiting dan terminated.
Program Counter = Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
CPU Registers = Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt. Gambar 3-3 menunjukkan switching proses dari satu proses ke proses berikutnya.
Informasi Penjadwalan CPU = Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.
Informasi Manajemen Memori = Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh SO.
Informasi Accounting = Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll
Informasi Status I/O = Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka, dll.

4. Deskripsi Distributed Processing

 Mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih tugasnya.

5. Handheld

computer adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard tersebut diganti dengan electronic pen. Bagaimanapun, electronic pen ini masih bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap pengembangan.


Kelebihan dari komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan antara komputer genggam dengan mobile printer. Tidak hanya dengan printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui koneksi Bluetooth.


Komputer genggam dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk bekerja lebih efisien. Komputer genggam yang paling banyak digunakan adalah komputer yang khusus dirancang untuk menyediakan fungsi PIM (Personal Information Manager), seperti kalender, agenda, dan buku alamat.

6.Thread

   Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
Kadang disebut sebagai proses ringan (lightweight).
Unit dasar dari dari sistem utilisasi pada processor (CPU).
Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.
2.Single-Threading dan Multi-Threading Single

  Threading adalah sebuah lightweight process (proses sederhana) yang mempunyai thread tunggal yang berfungsi sebagai pengendali/ controller. Multi-Threading adalah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam satu waktu.

Keuntungan Multi-Threading
 Responsive; tanggap: Multi-Threading 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.
Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses.Ketika thread berjalan pada data yang sama, thread tersebut bisa berbagi cache memory.
     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.
 Pemberdayaan arsitektur multiprosesor: Keuntungan dari multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara paralel 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.

4. Kerugian Multi-Threading
  Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian thread yang  berjalan di setiap waktu.

4. Kerugian Multi-Threading
  Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian thread yang berjalan.
Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.

5. Model-Model Threading
  Kernel-level threading; thread ini dibuat oleh pengguna yang berkorespondensi 1-1 dengan entitas-entitas yang terjadwalkan yang berada di kernel. Ini merupakan implementasi (penerapaan) paling sederhana dari threading.
Thread kernel didukung langsung oleh sistem operasi.
Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space.
Pengaturan thread dilakukan oleh sistem operasi, sehingga pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread.
2. User-level threading; sebuah pemetaan N-1, yang berarti bahwa semua level aplikasi thread dipetakan ke entitas tunggal yang ada di kernel. Dengan pendekatan ini, switching proses dapat dilakukan dengan sangat cepat.

Thread pengguna didukung kernel serta diimplementasikan dengan pustaka (library) thread pada tingkatan pengguna.
Pustaka (library) menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel.
Semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel.

6. Thread dalam Sistem Operasi
  Sistem operasi telah mendukung proses multithreading.
Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya.
Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna
Model Multi-Threading

1. Many-to-One2
 Memetakan beberapa thread tingkatan pengguna
ke sebuah thread tingkatan kernel.
Pengaturan thread dilakukan dalam ruang
pengguna, sehingga efisien.
Hanya satu thread pengguna yang dapat
mengakses thread kernel pada satu saat.

3. One-to-One
Memetakan setiap thread tingkatan pengguna ke thread kernel.
Model ini menyediakan lebih banyak concurrency dibandingkan model

4.Many-to-One.
D3 KomSI UGM Sistem Operasi

5.Many-to-Many
Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang
jumlahnya lebih sedikit atau sama dengan tingkatan pengguna.
Mengijinkan sistem operasi untuk membuat sejumlah thread kernel.

7. Cancellation
Thread cancellation ialah pemberhentian thread sebelum tugasnya selesai. Umpama, jika dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus dihentikan terlebih dahulu. Thread yang akan diberhentikan biasa disebut target thread.Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda:Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread.

Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.

Alternatifnya adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered cancellation adalah dengan menggunakan satu thread yang berfungsi sebagai pengindikasi bahwa target thread hendak diberhentikan. Tetapi pemberhentian hanya akan terjadi jika target thread memeriksa apakah ia harus berhenti atau tidak. Hal ini memperbolehkan thread untuk memeriksa apakah ia harus berhenti pada waktu dimana ia dapat diberhentikan secara aman yang aman. Pthread merujuk tersebut sebagai cancellation points.

8.Threads Pools
Pada web server yang multithreading ada dua masalah yang timbul:Ukuran waktu yang diperlukan untuk menciptakan thread untuk melayani permintaan yang diajukan terlebih pada kenyataannya thread dibuang ketika ia seketika sesudah ia menyelesaikan tugasnya.Pembuatan thread yang tidak terbatas jumlahnya dapat menurunkan performa dari sistem.Solusinya adalah dengan penggunaan Thread Pools, cara kerjanya adalah dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools, dimana mereka duduk diam dan menunggu untuk bekerja. Jadi ketika server menerima permintaan maka maka ia akan membangunkan thread dari pool dan jika thread tersedia maka permintaan tersebut akan dilayani.Ketika thread sudah selesai mengerjakan tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak thread yang tersedia pada saat dibutuhkan maka server menunggu sampai ada satu thread yang bebas.

Keuntungan thread pool:

Biasanya lebih cepat untuk melayani permintaan dengan thread yang ada dibanding dengan menunggu thread baru dibuat.Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini pentingpada sistem yang tidak dapat mendukung banyak thread yang berjalan secara concurrent.

https://id.m.wikipedia.org/wiki/Handheld_computer

https://www.deskripsi.com/komputer/distributed-processing
https://cahpecel89-wordpress-com.cdn.ampproject.org/v/s/cahpecel89.wordpress.com/2010/03/27/elemen-elemen-dari-process-control-block-pcb/amp/?

http://onepersen4ever.blogspot.com/2014/04/pengertian-batch-system-bentuk-batch.html?m=1

https://mediekaputra-wordpress-com.cdn.ampproject.org/v/s/mediekaputra.wordpress.com/2011/03/26/critical-section/amp/?


Minggu, 14 Oktober 2018

Sejarah Sistem operasi

Sejarah Sistem Operasi Sistem MS-DOS

     MS-DOS dibuat di bawah Seattle Computer Products (SCP), sebuah perusahaan pembuat komputer yan gdikepalai oleh Patterson. Kemudian, perusahaan Microsoft merekrut Patterson untuk mengembangkan DOS (tahun 1980) sebagai sebuah sistem perangkat lunak dengan nama Q-DOS (Quick and Dirty Operating System), dan berikutnya berganti nama menjadi 86-DOS.

     Kemudian, Microsoft membeli lisensinya seharga 50.000 dolar Amerika dari SPC dan mengubah namanya menjadi MS-DOS. Lalu, Microsoft menjual lisensi MS-DOS kepada IBM saat IBM hendak meluncurkan kpmputer pribadi (IBM PC)
DOS 1.0: adalah versi DOS paling awal. Mampu mengakses disk drive dengan kapasitas 320 Kb.
DOS 2.0: keunggulan versi ini adalah memiliki perintah country untuk menset operasi tanggal dan waktu pada suatu negara.
DOS 3.0: mendukung (suport) pemakaian disk drive 1.2 Megabyte dan pemakain RAM
 DOS 3.1: versi ini memiliki kelebihan pada sistem network komputer.
DOS 3.2: mampu memanfaatkan disk drive 3.5 inchi ukuran 729 Kb.
DOS 3.3: mampu memakai hard disk 32 Mb
DOS 4.0: memiliki fasilitas shell untuk mengontrol kerja komputer dengan setem menu.
DOS 5.0: adanya penambahan fasilitas (fitur) baru seperti MIRROR, UNDELETE, dan UNFORMAT.
DOS 6.0: terdapt penambahan perintah-perintah konfigurasi dan batch file.


Sejarah Sistem Operasi-Sistem Windows


     Windows merupakan sebuah OS graphical user interface (GUI). Windows dibangun oleh Microsoft tahun 1983 untuk menggantikan Operating System (MS-DOS) yang digunakan IBM PC sejak tahun 1981.

     Model GUI yang pertama sekali dibuat setelah munculnya Mac OS (Macintosh Operating System), sebuah OS Apple buatan Steve Jobs. Bersama dengan Apple, Microsoft membuat beberapa perangkat lunak yang bekerjja di bawah Mac seperti Word dan Excel.
   Dalam sejarah sistem operasi komputer, pengembangan dan penambahan fitur-fitur Windows terus dilakukan hingga kini dan menghasilkan Windows dengan berbaai versi. Berikut versi-versi Windows tersebut.
 1.Windows versi 1.0: merupakan windows versi awal, dikeluarkan tahun 1985. Versi ini memiliki banyak kekurangan dan lebih mirip versi MS-DOS yang diperluas.
 2.Windows versi 2.0: dibuat tahun 1987 dan mendukung aplikasi seperti Word dan Excel. Sistem operasi Windows menjadi OS GUI yang bersifat umum.
 3.Windows versi 3.0: dibuat pada tahun 1990 dengan penambahan kemampuan-kemampuan untuk menjalankan aplikasi dan mendukung sistem multitask juga virtual memory.
 4.Windows versi 3.1: versi ini merupakan revisi dari revisi 3.0 dengan menambahkan kemampuan-kemampuan mendukung multimedia.
Windows NT: sistem operasi ini diperkenalkan pertama kali pada tahun 1992 dan menjadi populer karena beberapa fiturnya dapat digunakan pada jaringan LAN.
   5.Windows NT 4.0: sistem ini merupakan kelanjutan dari Windows 95 yang terlebih dahulu dirilis. 
Windows NT 4.0 ini memiliki 4 varian, yaitu:
Windows NT 4.0 Workstation
Windows NT 4.0 Server
Windows NT 4.0 Enterprise Server
Windows NT 4.0 Terminal Server
  6.Windows 98: merupakan perbaikan dari Windows 95. Diluncurkan tanggal 25 juli 1998 dan terintegrasi dengan Internet Explorer browser. Dan tahun 1999, diluncurkan Windows 98 Second Edition dengan penambahan fitur Internet Connection Sharing.
      7.Windows 2000: diluncurkan pada Februari tahun 2000 dan dekenal dengan NT 5.0. Windows 2000 ini muncul dengan 4 bentuk yaitu:
Windows 2000 Professional
Windows 2000 Server
Windows 2000 Advanced Server
Windows 2000 Datacenter Server

       8.Windows ME: diperkenalkan tahun 2000, Windows ME (Millenium Edition) merupakan pengembangan dan perbaikan dari windows98. Beberapa fitur yang ditambah seperti fitur multimedia, internet dan Utility System Restore.

    9.Windows XP: dikeluarkan pada tahun 2001. Sistem ini merupakan perpaduan NT/2000 dan Windows 3.1/ 95/ 98/ ME. Windows XP memiliki banyak varian, yaitu:
Windows XP Home Edition: digunakan untuk PC dan laptop (notebooks).
Windows XP Home Edition N: tanpa Windows Media Player.
Windows XP Professional Edition: digunakan untuk aplikasi bisnis.
Windows XP Media Center Edition (MCE): diluncurkan pada bulan November 2002 dengan penambahan fitur audio, video, and PVR.
Windows XP Media Center Edition 2003.
Windows XP Media Center Edition 2004.
Windows XP Media Center Edition 2005: diluncurkan tanggal 12 Oktober 2004.
  10.Windows XP Tablet PC Edition: digunakan untuk tablet PCs, notebook dengan layar sentuh (touch screens)
Windows XP Embedded
Windows XP Starter Edition. Diluncurkan untuk negara berkembang.
  11.Windows XP Professional x64 Edition: sistem ini mendukung utility 64-bit prosessors, diluncurkan bulan April tahun 2005.
 12.Windows Server 2003: dikeluarkan tanggal 24 April 2003. Sistem ini mempunyai enam bentuk sistem opersi, yaitu:
Small Business Server
Web Edition
Standard Edition
Enterprise Edition (32 dan 64 bit)
Datacenter Edition
Storage Server
   13.Windows Vista: sistem ini dirilis tanggal 30 November 2006 dengan penambahan fungsi grafis yang mirip dengan Apple’s Mac OS X. Windows Vista memang dicanangkan agar memiliki keamanan yang lebih tangguh dibandingkan dengan versi-versi sebelumnya, dengan memperkenalkan sebuah modus pengguna yang terbatas, yang disebut sebagai User Account Control (UAC), untuk menggantikan filosofi “administrator-by-default” yang diberlakukan pada Windows XP. Windows Vista tersedia dalam beberapa edisi:
Windows Vista Starter
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Business
Windows Vista Enterprise
Windows Vista Ultimate
  14.Windows Server 2008: adalah sebuah versi baru Windows Server, yang dijadwalkan untuk dirilis pada tanggal 27 Februari 2008. Pada saat pengembangannya, Windows Server memiliki nama kode “Windows Server Codenamed Longhorn.” Windows Server 2008 dibangun di atas beberapa keunggulan teknologi dan keamanan yang pada awalnya diperkenalkan dengan Windows Vista, dan ditujukan agar bisa lebih modular secara signifikan, ketimbang pendahulunya, Windows Server 2003.
  15.Windows 8: windows 8 adalah nama dari versi terbaru Microsoft Windows, serangkaian sistem operasi yang diproduksi oleh Microsoft untuk digunakan pada komputr pribadi, termasuk komputer rumah dan bisnis, laptop, netbook, tablet PC, server, dan PC pusat media. Sistem operasi ini menggunakan mikroprosessor ARM selain mikroprosesor x86 tradisional buatan Intel dan AMD. Antarmuka penggunanya diubah agar mampu digunakan pada peralatan layar sentuh selain mouse dan keyboard, sehingga Windows 8 di desain untuk perangkat tablet sentuh. Microsoft secara resmi mengumumkan jadwal perilisan sistem operasi terbaru, Windows 8 pada 26 Oktober 2012, bersamaan dengan peluncuran komputer perdana yang menggunakan Windows 8. Microsoft telah megeluarkan versi Release Preview, untuk dicoba di seluruh dunia dan di tampung komentar mereka untuk pembangunan Windows 8 menjadi lebih baik. Microsoft pun kini telah mengeluarkan Windows 8 Enterprise yang memiliki fitur paling lengkap di antara versi Windows 8 lainnya, seperti layar mulai yang memiliki pilihan latar belakang yang lebih banyak dan penuh warna. Pada 29 Februari 2012 Microsoft juga telah merilis Versi Consumer Preview sebelum di keluarkannya versi beta pada bulan Maret 2012. Microsoft juga telah merilis Versi Release Preview , ini merupakan versi terakhir percobaan Windows 8, yang tidak akan di utak atik lagi jika tidak ditemukan bug yang terlalu besar.

 16. Windows 10 merupakan sistem operasi komputer pribadi yang dikembangkan oleh Microsoft sebagai bagian dari keluarga sistem operasi Windows NT. Diperkenalkan pada tanggal 30 September 2014,[3] dirilis pada 29 Juli 2015 dan pada November 2015, Threshold 2 dari Windows 10 (v10.0.10586) dirilis ke publik.
Threshold secara resmi diperkenalkan selama acara media pada tanggal 30 September 2014 dengan nama Windows 10; Myerson disebut-sebut bahwa Windows 10 akan menjadi "platform yang paling komprehensif yang pernah ada" Microsoft, menyediakan tunggal, platform yang bersatu untuk komputer meja, laptop, tablet, telepon cerdas, dan perangkat all-in-one.[7][15][16] Dia menekankan bahwa Windows 10 akan mengambil langkah-langkah menuju pemulihan mekanik antarmuka pengguna dari Windows 7 dalam rangka untuk meningkatkan pengalaman bagi pengguna pada perangkat non-sentuh, mencatat kritik antarmuka sentuh berorientasi Windows 8 dengan papan tombol dan tetikus pengguna, dan sebaliknya.[3][17] Meskipun konsesi ini, Myerson mencatat bahwa antarmuka sentuh berorientasi akan "berkembang" juga pada Windows 10.[18] Dalam menggambarkan perubahan, Myerson menyamakan dua sistem operasi untuk mobil listrik, membandingkan Windows 7 untuk generasi pertama dari Toyota Prius hibrida, dan Windows 10 sampai semua-listrik Tesla—mengingat kedua untuk menjadi perpanjangan dari teknologi pertama kali diperkenalkan pada pendahulunya.


Sejarah Sistem Operasi-Sistem MAC OS

           Dalam sejarah sistem operasi komputer, sistem MAC OS (Macintosh Operating System) adlah sebuah sistem operasi yang dibuat oleh Apple dan diperkenalkan tahun 1984. Sistem ini dikhususkan bagi komputer Macintosh dan tidak kompatibel dengan PC IBM.
      Sistem Mac OS ada dua jenis, yaitu:
Mac OS Klasik : dibuat tahun 1984 dengan varian sampai Mac OS 9. Sistem ini dikenal sebagai sistem yang tidak memiliki sembarang baris perintah (command line) dan sistem ini menggunakan user (UI).
Mac OS X : sistem ini merupakan pengembangan dari Mac OS Klasik. Mac OS X memuat unsur-unsur BSD UNIX, OpenStep, dan Mac OS 9 dan memiliki memori ala UNIX dan pre-emptive multitasking kepada platform Mac.


Sejarah Dan Perkembangan Linux

        Linux adalah suatu sistem operasi yang bersifat multi user dan multitasking, yang dapat berjalan di berbagai platform, termasuk prosesor INTEL 386 dan yang lebih tinggi. Sistem operasi ini mengimplementasikan standard POSIX. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell.
        Nama Linux sendiri diturunkan dari pencipta awalnya, LINUS TORVALDS, di Universitas Helsinki, Finlandia yang sebetulnya mengacu pada kernel dari suatu sistem operasi. Linux dulunya adalah proyek hobi yang dikerjakan oleh Linus Torvalds yang memperoleh inspirasi dariMinix.
      Minix adalah sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum pada tahun 1987.
Sekarang Linux adalah sistem UNIX yang lengkap, bisa digunakan untuk jaringan (networking), pengembangan software, dan bahkan untuk sehari-hari. Linux telah digunakan di berbagai domain, dari sistem benam sampai superkomputer, dan telah mempunyai posisi yang aman dalam instalasi server web dengan aplikasi LAMP-nya yang populer. Linux sekarang merupakan alternatif OS yang jauh lebih murah jika dibandingkan dengan OS komersial, dengan kemampuan Linux yang setara bahkan lebih Lingkungan sistem operasi ini termasuk :
Ratusan program termasuk, kompiler, interpreter, editor dan utilitas
 Perangkat bantu yang mendukung konektifitas, Ethernet, SLIP dan PPP, dan interoperabilitas.
 Produk perangkat lunak yang reliabel, termasuk versi pengembangan terakhir.
 Kelompok pengembang yang tersebar di seluruh dunia yang telah bekerja dan menjadikan
Linux portabel ke suatu platform baru, begitu juga mendukung komunitas pengguna yang beragam kebutuhan dan lokasinya dan juga bertindak sebagai team pengembang sendiri.
    Sejarah Linux berkaitan dengan GNU. Proyek GNU yang mulai pada 1984 memiliki tujuan untuk membuat sebuah sistem operasi yang kompatibel dengan Unix dan lengkap dan secara total terdiri atas perangkat lunak bebas. Tahun 1985, Richard Stallman mendirikan Yayasan Perangkat Lunak Bebas dan mengembangkan Lisensi Publik Umum GNU (GNU General Public License atau GNU GPL). Kebanyakan program yang dibutuhkan oleh sebuah sistem operasi (seperti pustaka, kompiler, penyunting teks, shell Unix dan sistem jendela) diselesaikan pada awal tahun 1990-an, walaupun elemen-elemen tingkat rendah seperti device driver

      Linux tidak memiliki suatu logo yang terlihat menarik, hanyalah sebuah burung Penguin yang memperlihatkan sikap santai ketika berjalan. Logo ini mempunyai asal mula yang unik, awalnya tidak ada suatu logo yang menggambarkan trademark dari Linux sampai ketika Linus ( Sang Penemu ) berlibur ke daerah selatan dan bertemu dengan seekor linux kecil dan pendek yang secara tidak sengaja menggigit jarinya.Hal ini membuatnya demam selama berhari-hari. Kejadian ini kemudian menginspirasi dirinya untuk memakai penguin sebagai logonyaTUX, nama seekor pinguin yang menjadi logo maskot dari linux. TUX hasil karya seniman Larry Ewing pada waktu developer merasakan Linux harus mempunyai logo trademark ( 1996 ), dan atas usulan James Hughes dipilihlah nama TUX yang berarti Torvalds UniX. Lengkap sudah logo dari Linux, berupa penguin dengan nama TUX. Trademark ini segera didaftarkan untuk menghindari adanya pemalsuan. Linux terdaftar sebagai Program sistem operasi ( OS ).



Sejarah Perkembangan Sistem Operasi Android dari Masa ke Masa


     Android adalah salah satu sistem operasi pada smartphone yang sangat familiar. Sistem operasi ini banyak difungsikan oleh pengguna smartphone untuk membantu aktifitas mereka di ponsel pintar tersebut. Tetapi sejarah perkembangan sistem operasi Android dari masa ke masa masih banyak yang belum mengetahui.

        Sebelum terkenal seperti sekarang ini, operasi sistem Android adalah sebuah sistem operasi berbasis Linux untuk smartphone dan juga tablet. Android dikembangkan pada tahun 2003 oleh perusahaan Android Inc. yang berdomisili di Palo Alto, California, Amerika Serikat.
      Pada awalnya sistem operasi Android dibuat untuk disematkan pada kamera digital. Akan tetapi, melihat perkembangan kamera digital yang tidak begitu baik, maka diputuskan untuk mengalihkan penyematan sistem operasi Android dari kamera digital ke smartphone. Pada saat itu, sistem operasi Symbian dan Windows Mobile telah terlebih dahulu menguasai pangsa pasar smartphone.
  Berikut ini tahapan sejarah perkembangan sistem operasi Android dari masa ke masa yang berhasil dirangkum dari berbagai sumber.

1. Android 1.o (Astro)
 Android 1.0 merupakan versi komersil pertama dari Android. Sistem operasi ini diresmikan pada tanggal 23 September 2008. Astro adalah nama versi pertama dari Android, tetapi karena terdapat permasalahan dengan hak cipta pada nama Astro, maka pemberian nama pada versi tersebut tidak jadi dilakukan.
 Di dalam Android 1.0 telah diperkenalkan tempat untuk mendownload berbagai aplikasi dari Android, yang diberi nama Android Market.

2. Android 1.1 (Bender)
   Android versi 1.1 lebih memberikan sentuhan pada beberapa aplikasi untuk meningkatkan performanya, misalnya system user interface yang lebih baik. Seperti halnya versi sebelumnya, terjadi permasalahan terhadap hak cipta nama, sehingga pemberian nama Bender pada versi Android 1.1 tidak dilakukan.

3. Android 1.5 (Cupcake)
    Android versi 1.5 diluncurkan pada bulan Mei tahun 2009. Perlu diketahui, bahwa Android 1.5 adalah versi Android pertama yang menggunakan nama kue kecil mungil yang bernama Cupcake. Dikarenakan versi ketiga dari Android, maka pemberian nama versinya diawali dengan huruf C, yaitu Cupcake.

   Aplikasi dan fitur yang ditambahkan pada sistem Android ini, antara lain aplikasi kamus dan keyboard, aplikasi merekam dan memutar video dalam format MPEG-4, aplikasi widget yang lebih lengkap, dan aplikasi mengunggah video ke dalam Youtube secara lebih mudah.

4. Android 1.6 (Donut))
 Masih di tahun yang sama (September 2009), Android kembali mengenalkan versi sistem operasinya yang terbaru dengan nama Android
 1.6 Donut. Pada versi ini, terdapat penambahan dukungan jaringan CDMA/EDVO yang pada versi Android 1.5 tidak ditemukan. Terdapat pula penambahan fitur pada sistem kamera dan mesin pencari (search engine).
5. Android 2.3-2.1 (Eclair)

  Di dalam perkembangan selanjutnya, bersamaan dengan peluncuran smartpone Motorola Droid, Android mengenalkan kembali versi terbarunya yang diberi nama Android 2.3-2.1 dengan kode Eclair. Penambahan yang dilakukan pada versi ini adalah adanya fitur GPS (Global Positioning System).

6. Android 2.2-2.2.3 (Froyo)

    Pada tanggal 20 Mei 2010, Android resmi meluncurkan sistem operasi Android 2.2-2.2.3 dengan kode Froyo (Frozen Yogurt). Tambahan fitur pada versi Android ini adalah Adobe Flash Player, yang pada versi sebelumnya belum ada. Selain itu, adanya dukungan dari kartu Mirco SD (Secure Digital) untuk penyimpanan data dalam kapasitas lebih besar.

7. Android 2.3-2.3.7 (Gingerbread)
    Sekitar 7 bulan setelah peluncuran Android Froyo, tepatnya pada bulan Desember 2010, Android kembali merilis sistem operasi vesi terbarunya, yang diberi nama Android Gingerbread. Android 2.3-2.3.7 Gingerbread memiliki keunggulan dibanding versi sebelumnya, yaitu dapat digunakan untuk melakukan panggilan video (video call).
      Banyak perubahan yang dilakukan pada versi Gingerbread ini, karena memang versi ini dikhususkan untuk mengoptimalkan berbagai aplikasi dan game yang terdapat di Google Play Store.

8. Android 3.0-3.2.6 (Honeycomb)
  Android versi Honeycomb resmi diluncurkan pada bulan Februari 2011. Sebenarnya versi Android ini dikhususkan untuk pengguna tablet berbasis Android. Pada versi ini, ditawarkan tampilan status bar yang semakin memudahkan penggunanya dalam berselancar.

9. Android 4.0-4.0.4 (Ice Cream Sandwich)
   Android versi Ice Cream Sandwich diluncurkan pada bulan Oktober 2011. Sistem operasi Android Ice Cream Sandwich hadir dengan tampilan yang lebih elegan dibandingkan versi terdahulu. Peningkatan kualitas fotografi dan video dilakukan pada versi Android ini.

10. Android 4.1-4.3 (Jelly Bean)
 Pada bulan Juli tahun 2012, Android kembali meluncurkan sistem operasi terbarunya yang diberi nama Android Jelly Bean. Nexus 7 merupakan perangkat seluler yang menggunakan Android versi Jelly Bean ini.
    Pembaharuan yang dilakukan pada versi Android ini adalah peningkatan kualitas input keyboard dan adanya pencarian Google Now yang memberikan informasi mengenai cuaca dan traffic.

11. Android 4.4+ (KitKat)
   Android versi KitKat diresmikan penggunaanya oleh Google pada tanggal 4 September 2013. Operasi sistem ini diklaim mampu memberikan tampilan status bar transparan dan pembaharuan User Interface pada program Goole Maps Navigation dan Alarm.

12. Android 5.0+ (Lolipop)
  Android versi Lolipop telah menerapkan processor 64 bitt dan mampu melakukan pengotimalan penggunaan baterai, sehingga smartphone yang support dengan versi Android ini akan memiliki daya tahan baterai lebih tinggi dibanding sebelumnya.
  Perubahan internal pada platform juga dilakukan, yaitu menggantikan Dalvik dengan Android Runtime (ART) untuk meningkatkan performa aplikasi.

13. Android 6.0+ (Marshmallow)
  Android 6.0+ dengan kode M (Marshmallow) telah diperkenalkan oleh Google pada bulan Oktober 2015. Sistem operasi Android marshmallow merupakan lanjutan dari pengembangan Android Lolipop. Pada versi ini, diperkenalkan aplikasi API untuk menyempurnakan asisten kontekstual dalam Google Now On Tap, sebagai kemampuan baru dari aplikasi Google Search.
  Diperkenalkan juga sistem Doze untuk manajemen daya baru yang dapat mengurangi aktivtas pada background saat perangkat tidak difungsikan. Selain itu terdapat perangkat migrasi data ke kartu mikro SD secara mudah dan cepat.

14. Android 7.0 (Nougat)
    Android 7.0 dengan kode N (Nougat) diresmikan pada bulan Maret 2016. Nama “Nougat” diambil dari nama permen kacang yang populer di Perancis.

   Android Nougat memungkinkan para pengunanya untuk dapat membuka dua aplikasi sekaligus dalam mode split screen. Pengguna juga dapat memiliki sampai sembilan toggles dalam satu layar dengan fitur Pengaturan Cepat.

  Pada Android 7.0 Nougat juga  diperbarui versi Doze mode menjadi Doze mode 2.0, yang bertujuan untuk meningkatkan daya tahan baterai, pada saat smartphone digunakan atau ketika layar dimatikan.

15. Android 8.0 (Oreo)

   Android 8.0 Oreo resmi diluncurkan pada tanggal 21 Agustus 2017 bertepatan dengan terjadinya gerhana matahari total di Amerika Serikat. Beberapa fitur baru dimunculkan pada sistem operasi Android Oreo ini.

 Aplikasi picture in picture memungkinkan pengguna untuk melihat dua aplikasi dalam satu tampilan layar sekaligus. Fitur notifications dots membuat pengguna lebih mudah mengetahui adanya notifikasi baru dengan cukup dengan mengetukkan pada aplikasi.

Reference 
https://www.linux.or.id/sejarah-dan-perkembangan-linux.html

https://id.m.wikipedia.org/wiki/Windows_10

https://www-amongguru-com.cdn.ampproject.org/v/s/www.amongguru.com/sejarah-perkembangan-sistem-operasi-android-dari-masa-ke-masa/amp/?amp_js_v=a2&amp_gsa=1&usqp=mq331AQCCAE%3D#referrer=https%3A%2F%2Fwww.google.com&amp_tf=Dari%20%251%24s&ampshare=https%3A%2F%2Fwww.amongguru.com%2Fsejarah-perkembangan-sistem-operasi-android-dari-masa-ke-masa%2F

https://didikwahyu.wordpress.com/2013/03/14/sejarah-sistem-operasi-dos-mac-dan-windows/

Teknik pengumpulan data beserta contohnya

1. Interview (Wawancara)         Teknik Pengumpulan Data dengan Wawancara menurut Nazir (1988) adalah proses memperoleh keterangan un...