Sabtu, 29 Oktober 2022

Tugas rangkuman ram


RAM (ranndom access memory)

RAM atau Random Access Memory merupakan hardware yang terdapat di dalam perangkat gadget seperti komputer, laptop, dan smartphone. RAM ini berfungsi sebagai tempat penyimpanan data sementara dan hanya bekerja saat perangkat tersebut hidup atau beroperasi.

modul memori inline adalah modul dual inline karena memiliki dua baris independen pin ini satu di setiap sisi memiliki modul memori redup 168 184 atau 288 pin dan kemudian redup di pasang pada motherboard dalam slot memori berbagai jumlah slot memori,harddrive perangkat keras yang dipakai untuk menyimpan konten dan data digital pada komputer. Setiap komputer memiliki hard drive internal, namun Anda juga dapat memakai hard drive eksternal yang dapat dipakai untuk memperluas penyimpanan pada komputer

RAM atau DRAM adalah memori yang berisi kapasitor.kapasitor kecil ember yang menyimpan listrik dan kapasitor inilah yang memegang bit informasi seperti 1 bit atau 0 itulah cara komputer membaaca data yang satu atau nol dan karena DRAM memiliki kapasitor.

tipe memori lain disebut SDRAM yang merupakan singkatan dari DRAM  jenis memori ini adalah apa yang diginakan saat ini di RAM DIMM SDRAM juga memiliki kapasitor seperti RAM perbedaan antara SDRAM DAN DRAM pada dasarnya keceoatan teknologi lama.

SDRAM memiliki kecepatan yg berbeda tergantung dari tingkat SDRAM nya,pada akhir 1990 SDRAM bisa dapat beroperasi dengan kecapatan 100 megahertz atau setara dengan 800 mb/s per detik karena SDRAM telah memiliki modul 64bit,dan sampai sekarang SDRAM bisa beroperasi hingga kecepatan 1066mb/s per detik.

Teknologi ram dikembangan untuk mengimbangi kecepatan teknologi yang lebih cepat teknologi yang disebut DDR. 

Link video : https://drive.google.com/file/d/1dyXiZpSZcm9OzVfy8iLlyeNARUotdI26/view?usp=drivesdk


by : bagas

kelas :  06ps3

Kamis, 13 Oktober 2022

Tugas 2 sistem operasi

 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.

Sumber :
http://onepersen4ever.blogspot.com/2014/04/pengertian-batch-system-bentuk-batch.html

Pengertian Critical Section



Critical Section adalah sebuah segmen kode dari sebuah proses yang mana sumber daya diakses bersamaanTerdiri dari: 
  • Entry Section: kode yang digunakan untuk masuk ke dalam critical section
  • Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu
  • Exit Section: akhir dari critical section, mengizinkan proses lain
  • Remainder Section: kode istirahat setelah masuk ke critical section




Solusi untuk mengatasi masalah Critical Section, yaitu:

a). Mutual exclution : Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka.

b). Progress : Jika tidak ada proses yang sedang dieksekusi dalam critical section dan ada beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk ke critical section berikutnya tidak bias ditunda

c). Bounded Waiting :Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum permintaan itu diterima.

Contoh pada algoritma

Cara-cara memecahkan masalah

• Hanya dua proses, Po dan P1

• Struktur umum dari proses adalah Pi (proses lain Pj)

do {
        critical section
         remainder section
       } while(1);



Algoritma 1

Disini kita akan mencoba membuat sebuah rangkaian solusi-solusi dari permasalahan yang makin meningkat kerumitannya.

Pada semua contoh, i adalah proses yang sedang berjalan, j adalah proses yang lain. Pada contoh ini code.

i. Shared variables
   • int turn
           Initially turn=0

     • turn = i, Pi can enter its critical section

ii. Process Pi

do {
        while(turn!=1);
         critical section
         turn=j;
         remainder section
        } while(1);



iii. Memenuhi mutual exclusion, tapi bukan progress.

Algoritma 2

FLAG untuk setiap proses yang memberi STATE:

Setiap proses memantau suatu flag yang mengindikasikan ia ingin memasuki critical section. Dia memeriksa flag poses lain dan tidak akan memasuki critical section bila ada proses lain yang sedang masuk.

i. Shared variables
       • boolean flag[2];
             initially flag [0] = flag [1] = false

       • flag [i] = true , Pi ready to enter its critical section

ii. Process Pi

do {
        flag[i]:=true;
        while(turn!=1);
        critical section
        turn=j;
        remainder section
         } while(1);

iii. Memenuhi mutual exclusion, tapi tidak memenuhi progess.

Algoritma 3

FLAG untuk meminta izin masuk:

·         Setiap proses mengeset sebuah flag untuk meminta izin masuk. Lalu setiap proses mentoggle bit untuk mengizinkan yang lain untuk yang pertama

·         Kode ini dijalankan untuk setiap proses i

Shared variables
F boolean flag[2];
      initially flag[0] = flag[1] = false
F flag[i] = true;


Pi ready to enter its critical section

·         Gabungan shared variables dari algorima 1 dan 2

·         Process Pi

do {
       flag[i]:=true;
        turn = j;
        while(flag[j] and turn = j);
        critical section
         flag[i] = false;
         remainder section
          } while(1);


·         Memenuhi ketiga persyaratan, memecahkan persoalan critical section untuk kedua proses

Algoritma Bakery

Critical Section untuk n buah proses:

Sebelum memasukkan proses ke critical section, proses menerima sebuah nomor. Pemegang nomor terkecil masuk ke critical section. Jika ada dua proses atau lebih menerima nomor sama, maka proses dengan indeks terkecil yang dilayani terlebih dahulu untuk masuk ke critical section. Skema penomoran selalu naik secara berurut contoh: 1, 2, 3, 3, 3, 3, 4, 5,...

boolean choosing [n];
long long long int number [n];
/* 64 bit maybe okay for about 600 years */
Array structure elements are initiallized to false and 0 respectively
while (true) {
           choosing[i] = true;
           number[i] = max(number[0], ... [n-1]) + 1;
            choosing[i] = false;
            for (j = 0; j < n; j ++) {
            while (choosing[j]) {}
            while ((number[j] !=0) && ((number[j], j) < (number[i], i))) {}
}
number[i] = 0
}
Solves the critical-section problem
for n process

sumber : https://muhammadmiftahpratama.blogspot.com/p/criticalsection-adalah-segmen-kode-d.html

Process Control Block


Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) – juga disebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 1.1. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.

beberapa proses dibawah ini :
  • Keadaan proses: Keadaan mungkin, newreadyrunningwaitinghalted, dan juga banyak lagi.
  • Program counter Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk 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, ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (lihat Gambar 1.2).
  • Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.
  • Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, 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 berkas dan banyak lagi.
  • PCB hanya berfungsi sebagai tempat menyimpan/ gudang untuk informasi apa pun yang dapat bervariasi dari prose ke proses.

Gambar 1.1 Process Control Blok 



Gambar 1.2 Cpu Register

Elemen-elemen dari Process Control Block (PCB) :

1.Identifier : menjelaskan proses yang sedang terjadi
2.State : kondisi yang terjadi pada proses
3.Priority : urutan perintah yang jelas pad suatu proses
4.Program counter : instruksi pada proses
5.Memory pointers : media penyimpanan (penunjuk alamat) pada proses
5.Context data : data yang berkaitan dengan proses
6.I/O status information : terdapat masukan dan keluaran yang diinginkan

7Accounting information : memberikan informasi yang dibutuhkan

Sumber : https://tugasso.wordpress.com/2010/04/22/definisi-dari-proses-thread-mutual-exclution-race-condition-sinkronisasi-deadlock-starvation-monitor-dan-semaphore/

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.
Contoh dari Distributed Data Processing System :
            ATM, komputer yang dirancang untuk tugas-tugas melaksanakan proyek, analisis finansial, penjadwalan waktu dan akuntansi. Contoh lainnya, pengolahan data pada server yahoo yang tersebar hampir di seluruh dunia secara distribusi, setiap wilayah mempunyai server masing-masing. Seperti di indonesia mempunyai server tersendiri sehingga pengolahan data tidak di pusat melainkan di wilayah masing-masing, dll.
Sumber :
http://fidiastrida.blogspot.com/2012/09/multiprogramming-multiprocessing.html
https://www.deskripsi.com/komputer/distributed-processing

HandHeld


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.

Contoh system handheld adalah Android, Symbian.

B. Perkembangan System Handheld

Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital assistants (PDA). Pada beberapa sistem terdapat telepon selular. Sistem ini mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan display screen yang kecil

C. Sejarah Perkembangan System Handheld

Sistem operasi Handheld juga memiliki sejarah dalam perkembangannya, adapun sejarah perkembangan system operasi Handheld adalah:
a.    1993 Ponsel pintar yang pertama, IBM Simon, memiliki fitur layar sentuh, email, dan fitur PDA dirilis.
b. Palm Pilot 1000 personal digital assistant(PDA) diperkenalkan pertama kali dengan sistem operasi Palm OS.
c.    1996 PC handled pertama dengan sistem Windows CE diperkenalkan.
d.  2000 Symbian menjadi sistem operasi genggam modern pertama pada ponsel pintar dengan munculnya Ericsson R380.
e.    2001 The Kyocera 6035 menjadi ponsel pintar pertama yang menggunakan Palm OS.
f.     2002 Microsoft Windows CE versi Pocket PC untuk ponsel pintar diperkenalkan.
g.    2002 BlackBerry merilis ponsel pintar pertamanya.
h.    2007 Apple iPhone dengan iOS pertama kali diperkenalkan.
i.     2008 OHA merilis Android 1.0 dengan HTC Dream (T-Mobile G1) sebagai ponsel Android yang pertama.
j.      2009 Palm memperkenalkan webOS melalui Palm Pre.
k.    2009 Samsung memperkenalkan Bada OS melalui Samsung S8500.
l.      2010 Windows Phone OS dirilis.

C. Perkembangan Sytem Handheld (PDA)

Personal Digital Assistants disingkat PDA adalah sebuah alat elektronik yang berbasis komputer dan berbentuk kecil serta dapat dibawa kemana-mana. PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena perkembangannya, kemudian bertambah banyak fungsi kegunaannya, seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video, dan pencatat memo. Selain dari itu dengan PDA (komputer saku) ini, kita dapat menggunakan buku alamat dan menyimpan alamat, membaca buku-e, menggunakan GPS dan masih banyak lagi fungsi yang lain. Bahkan versi PDA yang lebih canggih dapat digunakan sebagai telepon genggam, akses internet, intranet, atau extranet lewat Wi-Fi atau Jaringan Wireless. Salah satu ciri khas PDA yang paling utama adalah fasilitas layar sentuh.

Bertahun-tahun dunia PDA membeku. Lalu Palm Inc. meluncurkan PDA pertamanya di tahun 1996. Peluncuran inilah yang kemudian mengubah nasib PDA dan sekaligus mendongkrak popularitas PDA di jagad elektronik.

Alat genggam yang disinergikan dengan operating system (OS) Palm ini menuai sukses luar biasa. Kemudahan sinkronisasi dengan PC dan pendekatan pengoperasian berbasis ikon membuat banyak pengguna merasakan kegunaan alat yang satu ini, lebih daripada sekedar sebuah piranti genggam biasa.

Dalam jangka waktu enam tahun, pertumbuhan PDA sendiri boleh dikatakan luar biasa, meskipun tentu saja tak secepat perangkat komputer pada umumnya. Selama kurun waktu tersebut, PDA terus tumbuh, baik dari sisi teknologi maupun bisnis. contoh sistem operasi yang digunakan. Palm OS saat ini masih merupakan pemain yang paling dominan. Merek-merek yang menggunakan OS ini antara lain adalah Palm sendiri, Sony, IBM dan Handspring.

Berikutnya adalah WindowsCE atau sekarang disebut PocketPC. Operating system khusus untuk PDA atau PocketPC ini dibuat oleh Microsoft, karena itu tampilan pada versi PocketPC 2002 hampir mnyerupai tampilan pada Windows XP. Sebagai catatan popularitas PocketPC kini terdongkrak cukup kuat seiring dengan komitmen Microsoft yang besar terhadap perkembangan sistem operasi ini. Merek yang menggunakan OS ini antara lain HP, Compaq, Casio, dan Siemen.

D. Fungsi PDA

Pertama dan terutama fungsi dari sebuah piranti genggam semacam PDA adalah untuk mengelola informasi atau data. Lebih spesifik lagi karena namanya juga Personal Digital Assistant, maka data yang dikelolanya pun bersifat personal. Diantaranya alamat, nomor telepon, alamat e-mail, jadwal kegiatan dan daftar kegiatan yang harus kita kerjakan. Baru setelah fungsi itu PDA dikembangkan sehingga lebih memainkan peran sebagai subnotebook. tentu saja fungsi yang selama ini diperankan oleh organizer juga termasuk didalamnya, seperti jam, kalkulator dan kalender.

Saat ini, handheld keluaran terbaru sudah mampu berperan sebagai alat memainkan musik, pemutar musik MP3 (MP3 player), membaca buku elektronik (eBook Reader) bahkan memainkan video streaming. Dengan kemampuan grafis yang tidak lagi hitam putih, handheld ini sudah melebihi tanggung jawabnya sebagai Asisten Pribadi sesuai dengan namanya, namun walau begitu jangan sekali-kali menyamakan kemampuan PDA dengan notebook apalagi PC desktop.


D. Sistem Kerja PDA

Sebagai komputer genggam, PDA memiliki processor dan sistem operasi layaknya komputer biasa. Sistem operasi ini merupakan peranti lunak utama pada PDA. Cara kerjanya sama seperti sitem operasi pada komputer seperti Windows XP atau Mac OS, tetapi didesain khusus untuk PDA. Terdapat dua kesamaan sistem operasi pada PDA yaitu Palm dan Pocket PC (Windows Mobile). Keduanya bekerja dengan program piranti lunak yang berbeda, jadi walaupun berisikan banyak dokumen seperti gambar, musik dan lainnya yang bisa dipakai namun tidak pada pemrogaman. Pada penyimpanan data tanpa kartu memori, data disimpan dalam RAM dengan ukuran puluhan MegaByte, sedangkan sumber energinya berasal dari baterai (dulunya A3) isi ulang. Selain itu, bisa juga menggunakan adaptor yang disambungkan ke stop kontak AC.

E. Kegunaan PDA

a.    Telekomunikasi
b.    Informasi
c.    Pendidikan
d.    Olahraga

F. Fitur yang terdapat dalam PDA    
  • Layar sentuh
  • GPS
  • PCPocket
  • Koneksi Nirkabel
  • Agenda
  • Memory
  • LAN
  • Surel
  • HiburanKamera
  • Sinkronisasi
Sumber : 
http://siso06225.blogspot.com/
http://kreasiku-info.blogspot.com/p/makalah-sistem-operasi-handheld.html

THREADS


Dalam menyelesaikan tugas secara digital, kita dibantu oleh aplikasi komputer agar hasil tugas kita dapat di selesaikan secara efisien dan akurat seperti Microsoft Word, Microsoft Excel, calculator, notetaking Evernote, dan lain-lain. Dengan ini kita akan selalu menggunakan aplikasi maupun di komputer pribadi, ponsel, ataupun di tablet. Seluruh aplikasi tersebut memliki kegunaan masing-masaing secara berbeda yang memilki fungsional yang spesifik. Namun dalam sudut padang sistem operasi, setiap aplikasi hanyalah suatu proses. setiap proses akan diatur oleh sistem operasi yang berstruktur Proses Control Block (PCB). setiap proses yang berada dalam PCB ini memilki komponen-komponen yang berisi informasi penting mengai proses seperti. dengan ini sistem operasi dapat mengidentifikasi setiap proses menggunakan PID.

Ketika sistem operasi mengekseksui suatu aplikasi (program), proses yang mewakali aplikasi tersebut akan dikomputasi oleh processor. Jika proses tersbut merupakan program yang simple, contohnya sebuah Command Line Interface Program (CLI), maka proses tersebut dalam sudut pandang processor hanyalah sebuah thread. Jika lebih, seperti multitasking program, makan proses tersesbut dapat memilki lebih dari satu thread.

Definition

Thread adalah unit dasar dari pemanfaatan CPU. Sebuah thread dalam proses akan menjalankan satu tugas (job) pada satu waktu. pada proses tradisional, setiap proses hanya memilki satu thread, sehingga program hanya dapat menjalankan satu tugas dalam satu waktu. namun jika proses memilki beberapa thread, maka prosesnya dapat menjalakan kan beberapa tugas pada satu waktu dan hal ini disebut multithreading.

Contohtohnya, jika suatu program terdiri dari proses yang memilki satu thread dapat memperbolehkan  pengguna untuk pengetikan tulisan (word processing) dan pemeriksaan ejaan (spellchecker). Ketika pengguna sedang sedang mengetik tulisan pada program maka fitur pemeriksaan ejaan akan berjalan setelah pengguna selesai menulis. lalu pengguna dapat menulis kembali tulisan jika thread telah selesai menjalkankan komputasi algoritma pengejaannya. Lalu jiga program tersebut memliki proses dengan dua thread, maka fitur pengejaan dapat berjalan secara bersamaan ketika pengguna sedang menulis tulisan pada program. Dengan ini setiap tutgas tidak harus bergantian dalam menunggu tugas lainnya.

Pada prosesor dengan singlecore mengeksekusi proses yang memilki thread lebih dari satu, maka CPU akan mengeksekusi thread-thread tersebut akan bergantian secara bersisipan dalam mengeksesusi setiap threadnya. Seakan-akan sistem terdapat processing unit yang banyak namun kenyataannya processing unit bergantian menjalankan tugas secara cepat tanpa menyelesaikan masing-masing tugas. Hal ini disebut dengan concurrency.

Upaya dalam membantu proses yang memliki thread yang banyak, mulailah berkembangnya teknologi baru yaitu multicoreprocessor. Prosesor ini adalah adalah dimana satu chip prosesor memliki prosesing unit yang lebih dari satu. Sehingga sistem operasi ini melihat sistem terdapat lebih dari satu processing unit dan dapat memanfaatkan prosesor tambahan tersesbut dalam menjalankan program dan proses. teknologi ini dibuat karena permintaan tenaga proses yang lebih tinggi pada waktunya. Multicore sistem ini dapat menjalankan concurrency lebih efektif dan efisien dalam menjalankan proses. peran multicore dalam proses yang memilki thread yang banyak adalah membagi rata thread di proses kepada masing-masing processing unit dengan rata. Contohnya jika suatu proses memilki 6 thread dalam eksekusinya dan dieksekusi dengan 2 core prosesor, maka setiap corenya dalam processornya akan mengeksekusi 3 thread secara concurrent. Proses pembagian thread dalam proses kepada beberapa prosesing unit disebut dengan parallelism, mengekseksi beberapa tugas secara bersamaan.

Benefits

Dari penjeleasan diatas bahwa multithreading sangat berguna untuk memperbolehkan processing unit unutk mengerjakan tugas yang lebih banyak dan multicore system berguna untuk membagi tugas dari proses secara bagi rata, berikut adalah 4 bagian alasan besar untuk menjalankan sistem dengan kemampuan multithreading.

Responsiveness

Program dengan kemampuan untuk multithread dapat memperbolehkan program untuk melakukan beberaka tugas secara bersamaan atau disebut multitasking. Hal ini sangat memperbolehkan pengguna dapat menggunakan fungsi utama program dan secara bersamaan program dapat memberikan fitur tambahan yang membantu pengguna dalam melesaikan tugasnya tanpa menunggu pengguna berhenti menggunakn program. Hal ini yang disebut responsive yang dimana penggua dapat menerima informasi secara instan dari hasil inputnya. Contohnya pada dimana suatu website memiliki kegunaan untuk menampilkan suatu teks pdf dan dalam website tersebut terdapat tombol untuk me-request suatu gambar dari server. Ketika pengguna memencet tombol tersebut, proses akan menjalankan thread yang berperan dalam mengatur request dari server tanpa harus memberhentikan thread yang memperbolehkan untuk scrolling dalam menampilkan document.

Resource Sharing

Sebuah proses yang terdiri dari banyak thread akan memilki resource yang sama. resource ini adalah termasuk data di storage, ruang memory dan proses heap dan stack. Dengan ini setiap tugas yang dijalankan oleh thread tidak perlu memesan resources tambahan dari sistem memory namun mengunakan resource yang telah berada dalam memory yang telah diambil oleh thread yang lain. saling membagi resource ini juga memungkinkan untuk efesiensi dalam dalam komputasi data yang sama. jika ada suatu data yang diperlukan untuk digunakan oleh beberapa tugas, maka thread-thread tersebut dapat mengakses data yang sama tanpa komputasi atau mengambil dari storage tanpa mengambil data dari storage.

Economy

Mengalokasikan memory dan resource lainnya untuk membuat proses sangatlah mahal. dengan itu, membuat proses baru sangat tidak efisien. Sebaliknya, membuat thread lebih murah dan lebih cepat. Sebuah thread juga lebih mudah untuk berpindah antara proses, dengan itu lebih efisien untuk saling beralih thread antara tugas dibandingakn untuk membuat proses baru untuk membuat tugas.

Scalability

Ketika jumlah beban dalam komputasi proses meningkat dalam sistem kita, kita memerlukan tenaga komputasi yang lebih dalam sistem kita. Bila sistem kita dan program mendukung multithreading, maka kita dapat menambahkan jumlah core dalam processor kita atau jumlah processor dalam sistem. hal ini memperbolehkan untuk membagi thread-thread proses kepada setiap core secara paralel. Namun jika sistem hanya memliki satu thread proses, maka proses tersebut hanya akan dapat di eksekusi oleh satu core, tidak peduli jumlah core yang tersedia dalam sistem atau processor sistem memerlukan menambahkan frekuensi core yang dimana lebih sulit di buat dan lebih banyak menggunakan tenaga listrik.

Parallelism

Seperti pernyataan yang di atas, multithreading sangat berguna untuk mempercepat eksekusi proses secara pararel. Parallel yang dimasud ini terdapat dua tipe, yaitu parallel data dan parallel tugas (task).

Parallel Data

Paralel adalah dimana beberapa core saling membagi data sama secara rata dengan komputasi yang sama di thread yang berbeda demi mencapai satu tujuan. contohnya jika ada sistem dengan prosesor dua core lalu ingin komputasi penjumlahan dari seluruh data array dari 1 ke N. Dalam komputasi, core 0 akan menjumlakan dari array 1 hingga N/2, secara bersamaan, core 1 menjumlakan array dari +1 ke N. lalu setelah kedua komputasi selesai, salah satu core menjumlahkan hasil dari komputasi thread di core 0 dan 1.

Parallel Task

Parallel tugas adalah dimana beberapa core membagi tugas yang banyak kepada core yang ada. data yang digunakan masing-masing core mungkin bisa sama atau berbeda. Dengan contoh sama yang diatas. Dimana terdapat 2 core yang ingin mengkomputasi dari sebuah array yang sama. ketika core 0 melakukan sebuat komputasi, secara bersamaan core 1 melakukan komputasi yang berbeda namun core tersebut dapat menggunakan atau tidak menggunakan array yang sama dengan core 0. den

Multithread Models

Pada sebenarnya, terdapat dua macam thread, yaitu user thread dan kernel thread. user thread adalah thread yang mejalankan proses milih pengguna, dan kernel thread adalah thread yang di atur langusung oleh sistem operasi. Dengan itu terdapat bergai macam relasi antara thread space tersebut.

Many to One Model

Model ini dimana beberapa user thread memilki relasi dengan satu kerel thread. dengan ini thread kernel kan menjalankan satu user thread pada satu saat. Namun kelemahan model ini adalah ketika kernel thread terkena lock oleh user thread, dan user thread lainnya harus menunggu kernel thread untuk menyelesakan tugas pada thread yang saat itu. Contoh library Green thread yang menggunakan model ini dan berjalan di pada Java Runtime Environment. Namun karena thread blocking tersebut model ini mulai di tinggalkan.

One to One Model

Model ini dimana setiap user thread memilki relasi dengan hanya satu kernel thread. sehinggal user thread memiliki jumlah yang sama dengan jumlah kernel thread. dengan ini jika salah satu thread kernel sedang di block, thread lain bisa berjalan secara parallel. Namun kekurangan dari model ini adalah sistem akan menanggung beban yang berat jika jumlah kernel thread terlalu banyak. Model ini banyak digunakan oleh sistem operasi Microsoft Windows, Linux/GNU, dan Apple MacOS.

Many to Many Model

Model ini dimana terdapat banyak user thread dan setiap threadnya dapat dijalankan oleh salah satu thread yang di kernel space. Kernel thread memilki jumlah yang sama atau lebih sedikit dari jumlah user thread. dalam model ini sangat flexible dibandingkan dengan model sebelumnya namun untuk programmer untuk mengimplementasikannya lebih sulit.

sumber : https://socs.binus.ac.id/2020/12/13/thread-unit-pemanfaatan-cpu/

Tugas rangkuman ram

RAM (ranndom access memory) RAM atau  Random Access Memory  merupakan hardware yang terdapat di dalam perangkat gadget seperti komputer, lap...