Tugas 2 Sistem Operasi

definisi dan contoh Batch system, Critical Section, Process Control Block , Distributed Processing, Handheld, Thread

BATCH SYSTEM

SEJARAH DAN PENGERTIAN BATCH SYSTEM

Batch system dikenalkan pada generasi kedua (1955-1965). Pada generasi ini sistem komputer belum dilengkapi sistem operasi. 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.

ada 2 cara dalam Batch System yaitu :

  1. Resident Monitor
  2. Operator bertugas mengatur urutan job
  3. Job-job yg sama cukup dicetak sekali saja, cara inilah yg disebut “Batch system”
  4. Teknik pengurutan job secara manual begini akan menyebabkan tingginya waktu

menganggur CPU. Muncul teknik pengurutan job otomatis yg mampu mentransfer secara otomatis dari suatu proses ke proses lainnya.Program kecil dan bersifat residen dimemori serta berisi urutan2 job yg akan berpindah secara otomatis, inilah “Resident Monitor”

  • Overlap Operasi antara I/O dg CPU
  • Off line Processing, data yg dibaca dari card reader disimpan dulu dalam tape driver sebelum dibawa ke CPU, demikian pula informasi yg mau dicetak, disimpan dulu di tape
  • Spooling  adalah suatu program dapat dikerjakan walaupun I/O masih mengerjakan  proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.

BENTUK DARI BATCH SYSTEM

  • 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.

source

http://budysatria2.blogspot.com/2015/03/pengantar-sistem-operasi.html

https://ahmadnurihsan059.wordpress.com/2018/10/28/apa-itu-batch-system-pengertian-dan-penjelasannya/

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

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.

Seperti yang telah kita ketahui bahwa proses dapat bekerja sendiri (independent process) dan juga dapat bekerja bersama proses-proses yang lain (cooperating process). Pada umumnya ketika proses saling bekerjasama (cooperating process) maka proses-proses tersebut akan saling berbagi data. 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:

1. Mutual Exclusion.

Jika suatu proses sedang menjalankan critical section-nya, maka proses-proses lain tidak dapat menjalankan critical section mereka. Dengan kata lain, tidak ada dua proses yang berada dicritical section pada saat yang bersamaan.

2. Terjadi kemajuan (progress).

Jika tidak ada proses yang sedang menjalankan critical section-nya dan ada proses-proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang yang sedang berada dalamentry section saja yang dapat berkompetisi untuk mengerjakan critical section.

3. Ada batas waktu tunggu (bounded waiting).

Jika seandainya ada proses yang sedang menjalankan critical section, maka proses lain memiliki waktu tunggu yang ada batasnya untuk menjalankan critical section -nya, sehingga dapat dipastikan bahwa proses tersebut dapat mengakses critical section-nya (tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses ke critical sectiondiperbolehkan).

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

source

http://agustriadi17.blogspot.com/2011/03/critical-section.html

http://teknikkom15.blogspot.com/2012/04/critical-section.html

https://mediekaputra.wordpress.com/2011/03/26/critical-section/

https://www.studytonight.com/operating-system/process-synchronization

Process Control Block

Contains the process elements. Created and managed by the operating system. Key tool that allows support for multiple processes. When a process is removed from the running state to allow another process to run values important to correct execution of the process must be saved. The PCB is where such information is saved. The information in the preceding list is stored in a data structure, typically. called a process control block ( Figure 3.1 ), that is created and managed by the OS. The significant point about the process control block is that it contains sufficient. information so that it is possible to interrupt a running process and later resume. execution as if the interruption had not occurred. The process control block is. the key tool that enables the OS to support multiple processes and to provide for. multiprocessing. When a process is interrupted, the current values of the program. counter and the processor registers (context data) are saved in the appropriate fields. of the corresponding process control block, and the state of the process is changed. to some other value, such as blocked or ready (described subsequently). The OS is. now free to put some other process in the running state. The program counter and. context data for this process are loaded into the processor registers and this process. now begins to execute. Thus, we can say that a process consists of program code and associated data. plus a process control block. For a single-processor computer, at any given time, at. most one process is executing and that process is in the running state.

Definisi Proses

Proses adalah program yang sedang dieksekusi. Menurut SilberSchatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section . Proses juga mencakup program counter , yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti parameter method, alamat return dan variabel lokal), dan sebuah data section yang menyimpan variabel global.

Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya ( resource yang dibutuhkan agar sebuah proses dapat dieksekusi.

Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Process Control Block (PCB)

            Setiap proses dalam sebuah system operasi mendapatkan sebuah PCB (Process Control Block). PCB ini sendiri adalah informasi-informasi lain yang diperlukan sebuah system operasi untuk mengendalikan dan mengkoordinasikan beragam proses yang aktif. Informasi-informasi tersebut merupakan sebuah tanda pengenal proses (Procedd ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block PCB – juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini:

  1. Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
  2. Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
  3. CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register  tersebut termasuk accumulator , indeks register, stack pointer , general-purposes register , ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (lihat Gambar 2-3).
  4. 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 (lihat Bab Managemen memori).
  5. Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.
  6. Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.
  7. PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.

Informasi Kendali Pemroses meliputi

Informasi penjadwalan dan status yaitu Informasi-informasi yang dipakai untuk menjalankan fungsi penjadwalan  :

  1. Status proses. Mendefinisikan status proses (running,ready,block, ).
    1. Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya
    1. Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor
    1. Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
  2. Prioritas. Menjelaskan prioritas proses.
  3. Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.
  4. Kejadian (Event). Identitas kejadian yang ditunggu proses.
  5. 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.
  6. Komunikasi antar proses yaitu beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB.
  7. Kewenangan proses yaitu proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan.
  8. Manajemen memori bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses.
  9. Kepemilikan dan utilisasi sumber daya yaitu sumber daya yang dikendalikan proses harus diberi. tanda, misalnya : Berkas yang dibuka, Pemakaian pemroses, Pemakaian sumberdaya lainnya.

Adapun proses-proses yang terjadi pada PCB adalah:

  • Mutual Exclusion adalah jaminan bahwa hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu.
  • Deadlock adalah proses tunggu dimana proses tersebut tidak pernah terjadi. Deadlock biasa juga disebut hang.
  • Stravation situasi dimana proses-proses menunggu secara tidak tentu dengan menggunakan semaphore. Semaphore adalah pendekatan dimana dua atau lebih dapat bekerjasama menggunakan penanda-penanda sederhana.
  • Strategi preemtive yaitu suatu strategi dimana proses yang sedang dieksekusi dapat diambil alih oleh proses lain.
  • Strategi Non Preemtive yaitu suatu strategi dimana proses sedang di eksekusi, maka proses tidak dapat dihentikan atau diambil alih oleh proses lain.
  • Multiprocessing system yaitu dapat menjalankan beberapa proses dalam waktu yang bersamaan.
  • Multiprogramming yaitu menjalankan suatu program dalam waktu yang bersamaan.

source

http://drohmani24.blogspot.com/2014/03/proses-control-block.html

https://uniquesciences.wordpress.com/2012/10/04/process-control-block-pcb/

http://femmifirdausahdiat.blogspot.com/2012/09/pcb-process-control-block.html

Distributed Processing


DISTRIBUTED PROCESSING Pemrosesan terdistribusi adalah frasa yang digunakan untuk merujuk ke berbagai sistem komputer yang menggunakan lebih dari satu komputer (atau prosesor) untuk menjalankan aplikasi. Ini termasuk pemrosesan paralel di mana satu komputer menggunakan lebih dari satu CPU untuk menjalankan program.

Namun, lebih sering, pemrosesan terdistribusi mengacu pada jaringan area lokal (LAN) yang dirancang sehingga satu program dapat berjalan secara bersamaan di berbagai situs. Sebagian besar sistem pemrosesan terdistribusi mengandung perangkat lunak canggih yang mendeteksi CPU menganggur di jaringan dan mem-parsing program untuk menggunakannya.

Bentuk lain dari pemrosesan terdistribusi melibatkan database terdistribusi. Ini adalah basis data di mana data disimpan di dua atau lebih sistem komputer. Sistem database melacak di mana data berada sehingga sifat database yang terdistribusi tidak terlihat oleh pengguna.

Contoh Sistem Pengolahan Data terdistribusi

Internet

Jaringan komputer dan aplikasi yang heterogen.

Mengimplementasikan protokol internet.

Intranet

Jaringan yang teradminitrasi secara lokal.

Terhubung ke internet melalui feriwall.

Menyediakan layanan internet dan eksternal.

Mobile Computing ( Sistem Komunikasi telepon seluler)

Menggunakan frekuensi radio sebagai media transmisi

Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya

Dapat menghandle/dihububngkan dengan perangkat lain

Sistem Telepon

ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).

PSTN jaringan telepon/telekomunikasi yang semuanya digital.

Network File System (NTFS)

WWW

source

https://id.m.wikipedia.org/wiki/Berkas:Distributed_Processing.jpg

https://michaelaureliuss.wordpress.com/2018/11/02/distributed-processing/

https://www.webopedia.com/TERM/D/distributed_processing.html

Handheld

HANDHELD COMPUTER

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.
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
Sejarah Perkembangan System Handheld

  • 1993 Ponsel pintar yang pertama, IBM Simon, memiliki fitur layar sentuh, email, dan fitur PDA dirilis.
  • 1996 Palm Pilot 1000 personal digital assistant(PDA) diperkenalkan pertama kali dengan sistem operasi Palm OS.
  • 1996 PC handled pertama dengan sistem Windows CE diperkenalkan.
  • 2000 Symbian menjadi sistem operasi genggam modern pertama pada ponsel pintar dengan munculnya Ericsson R380.
  • 2001 The Kyocera 6035 menjadi ponsel pintar pertama yang menggunakan Palm OS.
  • 2002 Microsoft Windows CE versi Pocket PC untuk ponsel pintar diperkenalkan.
  • 2002 BlackBerry merilis ponsel pintar pertamanya.
  • 2007 Apple iPhone dengan iOS pertama kali diperkenalkan.
  • 2008 OHA merilis Android 1.0 dengan HTC Dream (T-Mobile G1) sebagai ponsel Android yang pertama.
  • 2009 Palm memperkenalkan webOS melalui Palm Pre.
  • 2009 Samsung memperkenalkan Bada OS melalui Samsung S8500.
  • 2010 Windows Phone OS dirilis.

Perkembangan Sytem Handheld (Cellular Telephones)
System Operasi yang terdapat dalam cellular telephones yaitu


o   Symbian
Symbian bisa dibilang sebagai sistem operasi paling populer di dunia mengingat jumlah penggunanya mencapai lebih dari 50% dari pengguna smartphone. Sistem operasi ini dikembangkan oleh Symbian, Ltd.–yang merupakan kolaborasi vendor ponsel Ericsson, Nokia, Motorola, dan Psion–dan memang dikhususkan sebagai mobile operating system. Sistem operasi ini ditulis dengan bahasa C++. Awalnya sistem operasi ini merupakan OS yang close source, namun dalam perkembangannya, sistem operasi ini berubah menjadi open source dan memungkinkan banyak pihak untuk mengembangkan aplikasi yang bisa dioperasikan di ponsel ber-OS symbian. Versi stabil terbaru dari Symbian OS adalah Symbian OS 9.5 dan versi tak-stabil terbarunya adalah Symbian^2 platform / Q3 yang dirilis pada tahun 2009.
Dalam perkembangannya Symbian OS memiliki beberapa versi, yaitu

  • Symbian OS 6.0 dan 6.1. contohnya adalah Nokia 9210 Communicator
  • Symbian OS 7.0 dan 7.0s. Pada versi ini muncul berbagai versi user interfaceseperti UIQ (Sony Ericsson P800, P900, P910, Motorola A925), Series 60(Nokia 7650, 3230, 6260, 6600, 6670, 7610, N-Gage, N-Gage QD), Series 80(Nokia 9210, 9300, 9500), series 90 (Nokia 7710), dan MOAP–Mobile Oriented Application Platform (Contohnya ponsel NTT DoComo). Symbian OS 7.0s adalah versi 7.0 yang diadaptasi agar memiliki kompatibilitas yang lebih baik dengan versi 6.x
  • Symbian OS 8.0 dan 8.1. Contohnya adalah Nokia N91
  • Symbian OS 9. Digunakan untuk keperluan internal Symbian
  • Symbian OS 9.1. Termasuk ponsel Nokia seri S60 3rd edition dan beberapa tipe Sony Ericsson seperti M600 dan P990.
  • Symbian OS 9.2. Contohnya Nokia E90, Nokia N95, Nokia N82, dan Nokia 5700
  • Symbian OS 9.3. Misalnya Nokia E72, E75, E79, dan N96
  • Symbian OS 9.4. Contohnya Samsung OMNIA HD, Nokia N97, Nokia 5800 XpressMusic, Sony Ericsson Satio, dan ponsel S60 5th edition lainnya.

Sistem operasi Symbian juga rentan terhadap ancaman sekuriti berupa virus. Contoh virus yang sering menyerang ponsel ber-OS Symbian adalah Cabir, yang mengirimkan dirinya dari ponsel ke ponsel lain via bluetooth.

Kelebihan : · Mudah dalam dimasukkan game atau aplikasi apa saja (Format jar. dan sis.) · Dirancang sebagai gabungan kemampuan computer dengan ponsel · Bersifat open application environment yang memungkinkan ponsel menjadi sebuah platform bagi pengembangan berbagai aplikasi dan layanan (bahasa dan konten) · Open standard dan interoperability, modul-modulnya mudah diimplementasikan secara fleksibel karena mendukung berbagai aplikasi teknologi dan pemrograman interfaces (APIs) · Multitasking, yang menekankan pada object oriented dan component based. · Flexible user interface design sehingga mudah dikembangkan dengan inovasi yang diinginkan

Kekurangan : · Karena memiliki sistem operasi terbuka, handphone jenis ini sangat rentan terhadap serangan virus seperti Cabir, Commwarrior, SymbOS.skulls. dan masih banyak lagi. · Handphone dengan sistem ini gampang Hang, atau lambat dalam membuka gallery, lagu, serta pesan singkat(SMS). · Symbian ini termasuk dalam kategori OS yang mahal · Selain itu, Symbian OS ini pemakaiannya cukup rumit bagi seorang pemula · Symbian OS ini juga boros dalam penggunaan baterainya, dikarenakan sistemnya sangat besar dan canggih.


o   Windows Mobile
Windows mobile adalah versi mobile dari sistem operasi PC paling populer, Windows, keluaran Microsoft. Sistem operasi ini didesain khusus agar bisa berjalan pada smartphone dan perangkat mobile. Sistem operasi yang awalnya dirilis dengan nama Pocket PC 2000 ini hampir semuanya dilengkapi stylus pen yang digunakan sebagai ‘mouse’ pada layar ponsel. OS ini sudah berkali-kali di-update versinya dengan versi terbarunya saat ini adalah Windows Mobile 6.5 yang dirilis 5 Oktober 2009. Ke depannya akan dirilis Windows Mobile 7.0 yang akan keluar sekitar pertengahan 2010. User interface dari perangkat Windows Mobile menyerupai Windows pada PC, namun sayangnya, seperti halnya Windows pada PC, sistem operasi ini bersifat close sourcesehingga agak menyulitkan pihak ketiga untuk menyediakan aplikasi yang mendukung.
Versi-versi yang telah dirilis meliputi:

  • Pocket PC 2000
  • Pocket PC 2002
  • Windows Mobile 2003 yang memiliki 4 edisi, yaitu : Windows Mobile 2003 for Pocket PC Premium Edition, Windows Mobile 2003 for Pocket PC Professional Edition, Windows Mobile 2003 for Smartphone, dan Windows Mobile 2003 for Pocket PC Phone Edition.
  • Windows Mobile 2003 Second Edition (Windows Mobile 2003 SE)
  • Windows Mobile 5
  • Windows Mobile 6 yang memiliki 3 versi, yaitu : Windows Mobile 6 Standard for Smartphone (phone without touchscreen), Windows Mobile 6 Professional for Pocket PC with phone functionality, dan Windows Mobile 6 Classic for Pocket PCs without cellular radio.

Contoh dari perangkat yang memiliki sistem operasi ini antara lain Audiovox SMT 5600, iMate SP3i, Samsung SCH-i600, Mio 8390, Sagem myS-7, Orange SPV C500, HP iPAQ rw6100, Motorola MPx220, O2 Xphone, dan O2 Xphone II.
UPDATE 08-02-2011: Saat ini versi terbaru dari Windows Mobile adalah Windows Phone 7

Kelebihan :   Tampilannya tampak familiar dan hanya Windows CE yang memiliki tampilan warna. · Handheld yang horizontal juga memiliki keistimewaan yaitu pada kecepatan. · Kompatibilitas dengan Microsoft Windows dalam komunikasi data, penanganan transfer file, sinkronisasi, dan akses database sehingga Windows CE sudah mulai dipakai pada beberapa PDA (Personal Digital Assistant) terbaru. · pengguna tidak perlu lagi mempelajari abjad baru seperti pada Palm. Jika pengguna tidak menyukai pengenalan tulisan tangan, maka pengguna dapat menggantinya dengan keyboard virtual · Untuk mendukung suksesnya Pocket PC, Microsoft bahkan memberikan Compiler VisualBasic dan C++ berbasiskan Pocket PC-nya secara gratis, yang dapat didownload di Internet

 Kelemahan: · Sistem operasi Windows CE ini rentan terhadap serangan virus · Harus sesekali diupdate software-nya untuk selalu menjaga konsistensi OS ini dalam bekerja · Sistem yang kurang stabil · Komunitasnya terlalu sedikit, karena bersifat closed-source · Tidak adanya Java Virtual Machine seperti generasi-geerasi windows sebelumnnya



o   Palm OS
Palm OS adalah sistem operasi mobile yang dikembangkan oleh Palm, Inc. yang awalnya dikhususkan sebagai sistem operasi untuk PDA. Namun dalam perkembangannya, Palm OS juga dibuat untuk smartphone. Sistem operasi ini didesain untuk kemudahan penggunaan dengan GUI (Graphical User Interface) berbasis touchscreen. Sistem operasi ini ditulis dengan bahasa pemrograman C/C++ dan bersifatclose source. Contoh perangkat yang menggunakan sistem operasi Palm adalah Palm Treo 680. Smartphone ini menggunakan system operasi Palm OS 5.4.9. Beberapa fitur yang ditawarkan adalah Pocket Express, Microsoft Media Player, Palm files, PDF viewer, Adobe Acrobat reader, eReader, Pocket Tunes, dan Document To Go.

Kelebihan : · Palm memiliki kebutuhan sistem yang sedikit dan cepat sehingga tidak dibutuhkan perangkat PDA yang canggih dan mahal, dan tidak memerlukan banyak memory untuk dapat menjalankannya dengan baik. · user interfacenya sangat mudah digunakan. Anda hanya memerlukan tidak lebih dari lima menit untuk menggunakan fungsi-fungsi utama dari PDA-Phone tersebut · Alasan kemudahan penggunaan tersebut adalah sudah tersedianya tombol tombol shortcut untuk fungsi organizer serta fungsi komunikasi · Terlebih lagi, Anda dapat melakukan navigasi dan menggunakan hampir semua aplikasi bawaan Treo tanpa harus menyentuh layar sentuhnya, cukup menggunakan keypad saja · berkat penggunaan Palm OS yang sudah lama beredar, tersedia ratusan, bahkan ribuan aplikasi

Kelemahan: · Palm OS yaitu tidak memiliki media penyimpanan eksternal/tambahan, walaupun bisa diisi sebuah program · Software maupun Aplikasi tetapi tidak bisa di instal dengan kapasitas yang banyak karena hanya keterbatasan memori. · Selain itu , perusahaan yang mengembangkan Palm telah dihentikan maka kemungkinan perkembangan program Palm tidak akan ada lagi dan development yang ada sekarang mungkin hanya berupa support untuk produk produk lama Palm · Masih kalah bersaing dengan OS yang terkenal yaitu: Symbian dan Android · Penyimpanan memori berupa RAM, bukan berupa Harddisk.


o   Android
Android adalah sistem operasi mobile yang berjalan pada kernel Linux, yang dirilis pada 21 Oktober 2008. Awalnya, sistem operasi ini dikembangkan oleh Android, Inc, yang kemudian dibeli oleh Google, dan yang terakhir, sistem operasi ini dibeli oleh Open Handset Alliance, sebuah consortium dari 47 perusahaan hardware, software, dan telecom (termasuk Google) yang didirikan untuk membuat open standard bagi perangkat lunak mobile. Sistem operasi ini bersifat free dan open source.
Perangkat mobile yang mendukung sistem operasi ini di antaranya adalah HTC Dream dan HTC Magic, ponsel keluaran vendor asal Taiwan, HTC.

Kelebihan : Multitasking – Android bisa menjalankan berbagai aplikasi, artinya bisa menggunakan berbagai aplikasi dalam waktu yang bersamaan. Notifikasi – Setiap ada SMS, Email, atau bahkan artikel terbaru dari RSS Reader, akan selalu ada notifikasi di Home Screen Ponsel Android, tak ketinggalan Lampu LED Indikator yang berkedip-kedip, sehingga tidak akan terlewatkan satu SMS, Email ataupun Misscall sekalipun. Akses Mudah terhadap Ribuan Aplikasi Android lewat Google Android App Market – Jika kita menyukai kegiatan menginstall aplikasi ataupun games, lewat Google Android App Market, bisa mendownload berbagai aplikasi dengan gratis. Ada banyak ribuan aplikasi dan games yang siap untuk di download di ponsel Android. Pilihan Ponsel yang beranekaragam – Bicara ponsel Android, akan terasa ‘beda’ dibandingkan dengan iOS, jika iOS hanya terbatas pada iPhone dari Apple, maka Android tersedia di ponsel dari berbagai produsen, mulai dari Sony Ericsson, Motorola, HTC sampai Samsung. Dan setiap pabrikan ponsel pun menghadirkan ponsel Android dengan gaya masing-masing, seperti Motorola dengan Motoblur-nya, Sony Ericsson dengan TimeScape-nya. Bisa menginstal ROM yang dimodifikasi – Jika tidak puas dengan tampilan standar Android, jangan khawatir ada banyak Costum ROM yang bisa di pakai di ponsel Android. Widget – Dengan adanya Widget di homescreen, kita bisa dengan mudah mengakses berbagai setting dengan cepat dan mudah. Google Maniak – Pengguna setia layanan Google mulai dari Gmail sampai Google Reader, ponsel Android telah terintegrasi dengan layanan Google, sehingga bisa dengan cepat mengecek email dari gMail. Kekurangan: Tak bisa dipungkiri disamping kelebihan tentu saja ada

kekurangan dari sistem operasi Android ini. Koneksi Internet yang terus menerus – Kebanyakan ponsel Android memerlukan koneksi internet yang simultan alias terus menerus aktif, artinya pengguna harus siap berlangganan paket GPRS yang sesuai dengan kebutuhan. Iklan – Aplikasi di ponsel Android memang bisa didapatkan dengan mudah dan gratis, namun konsekuensinya di setiap aplikasi tersebut, akan selalu iklan yang terpampang, entah itu bagian atas atau bawah aplikasi Karena masih baru, maka belum banyak aplikasi yg tersedia untuk android, namun tidak menutup kemungkinan bakal bertambah banyak mengingat Android adalah OS open source. Hampir semua aplikasi bisa didapat gratis, dan dapat diunduh melalui fasilitas Android Market dan blog-blog pribadi. Bagi orang yg belum pernah memakainya mungkin akan sedikit membingungkan ponsel Android kurang nyaman jika dipakai untuk telepon. Masih sedikit yg memakai OS ini. Android masih mampu sedikit mengimbangi Wndows Mobile untuk terintegrasi dengan Exchange (outlook) server tanpa hambatan. Android tidak bisa konek ke wireless ad-hoc. Sudah browsing ke forum2x, ternyata memang dari Androidnya.


o   Blackberry OS
Blackberry OS adalah sistem operasi mobile yang dikembangkan oleh perusahaan Kanada, Research in Motion (RIM) yang dibuat untuk handheld andalan mereka dengan nama yang sama. Sistem operasi ini ditulis dalam bahasa Java dan bersifat Close Source. Versi stabil terakhir yang dikeluarkan adalah versi 5.0.0.419 (Blackberry Storm 9530).
Perangkat yang menggunakan Blackberry OS sebagai sistem operasi tentu saja adalah semua varian Blackberry seperti Blackberry Bold, Storm, Curve, Pearl, dan Tour.

Kelebihan

Daya Tahan Baterai

Smartphone BlackBerry terkenal dengan daya tahan baterainya yang lama, bahkan jika dibandingkan dengan smartphone ber-OS populer lainnya, BlackBerry masih unggul.

Push Email

Ketika membahas mengenai kelebihan dan kekurangan BlackBerry, fitur push email memang menjadi salah satu kelebihan tersendiri pada smartphone BlackBerry. Terlebih lagi bagi mereka yang terbiasa untuk selalu membuka email-nya setiap saat, fitur ini sangat membantu.

Selalu dalam Keadaan ON

Keberadaan BlackBerry Messenger (BBM) memang menjadi hal yang sangat praktis. Anda tak perlu melakukan login atau logout. Sekali Anda menyalakan BlackBerry kesayangan Anda, maka Anda akan secara otomotis online di BBM. Hal inilah yang tidak dimiliki oleh platform OS lain.

Desain yang Kokoh

Ketika mempertimbangkan kelebihan dan kekurangan BlackBerry, desain merupakan salah satu poin positif dari BlackBerry. Kebanyakan ponsel pintar BlackBerry memiliki daya tahan yang lebih baik jika dibandingkan dengan ponsel pintar lainnya. BlackBerry seri 62xx dan 72xx bahkan akan dapat bertahan meskipun telah jatuh di jalan raya ataupun mengalami kejadian lain yang paling tidak diinginkan sekalipun.

Kekurangan

Browser

Ketika mengulas mengenai kelebihan dan kekurangan BlackBerry, keberadaan browser merupakan salah satu kekurangan BlackBerry yang paling mencolok. Untuk sebuah smartphone yang selalu terhubung dengan Internet, tampilan browser pada BlackBerry sama sekali tidak user-friendly.

Desain Besar

Poin lain dari kekurangan BlackBerry adalah bentuk desainnya yang terlalu besar. Tak heran, ketika menggenggam sebuah smartphone BlackBerry terasa sedikit merepotkan. Bandingkan dengan beberapa desain smartphone Android terbaru yang memiliki desain minimalis dan bahkan sangat tipis.

Aplikasi

Keberadaan aplikasi yang terbatas menjadi hal yang cukup bermasalah dalam pembahasan kelebihan dan kekurangan BlackBerry ini. Tak jarang sebuah aplikasi yang bisa diperoleh secara gratis di Android Market ataupun Apple App Store tidak akan Anda jumpai di BlackBerry App World.


o   IPhone OS (iOS)
iPhone OS adalah sistem operasi mobile yang dikembangkan oleh Apple, Inc. yang dibuat untuk produk mereka yaitu iPhone dan iPod Touch. Sistem operasi ini termasuk dalam keluarga Mac OS X / Unix-like operating system. Walaupun sistem operasinya bersifat close source, namun komponennya bersifat open source sehingga memudahkan pihak ketiga untuk mengembangkan aplikasi-aplikasi yang bisa berjalan pada sistem operasi ini.
User interface pada sistem operasi ini menggunakan konsep manipulasi langsung pada layar handheld dengan menggunakan multi-touch gesture. Kontrol pada interfacenya meliputi slider, swith, dan tombol.
Aplikasi-aplikasi yang disertakan dalam sistem operasi ini meliputi Messaging, Calendar, Photos, Camera, Youtube, Google Maps, iPhone, Safari, dan beberapa aplikasi standar lainnya.

Kelebihan: Dalam sistem multi-program, pekerjaan yang sedang diolah terus berjalan hingga membutuhkan suatu operasi yang memerlukan interaksi dari luar. (e.g. membaca dari tape). Sistem multi-program didesain untuk memaksimalkan penggunaan CPU. Dalam sistem time-sharing , pekerjaan yang sedang diolah diharuskan melepaskan kerja CPU, baik secara sukarela atau dari interaksi luar, seperti interupsi-perangkat-keras. Sistem Time-sharing didesain untuk memperbolehkan beberapa program seolah diproses secara bersamaan. Dalam sistem real-time, beberapa program yang sedang menunggu dijamin untuk mendapatkan pengolahan dari CPU ketika interaksi luar terjadi. Sistem real-time didesain untuk melakukan kontrol mekanik seperti robot-robot industri, yang memerlukan ketepatan pemrosesan. Menjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan Mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut context switch. Ketika context switch terjadi dengan sangat cepat — kondisi ini cukup untuk memberikan ilusi pengolahan-paralel.

Kelemahan: · No Drag and Drop File Management. iPhone adalah kebutuhan untuk mensinkronkan iPad dengan komputer lain untuk sistem manajemen di konten utama. Jika hal yang sama bisa bekerja pada iPhone dan iPod, maka Anda hanya dapat melakukan hal ini pada satu device saja. Ini merupakan sebuah kendala bagi orang yang memiliki media yang tersebar di beberapa komputer, hard drives, network attached storage unit dan sebagainya. Anda hanya bisa mengunduh konten dari web lewat iTunes. · No USB Port. Pad baru bisa sync via USB-namun hanya saat ditancapkan lewat dock connector. Dan Anda tidak dapat menggunakan external USB keyboard yang sudah Anda miliki tanpa memakai USB adaptor yang harus dibeli terpisah. Anda juga harus menggunakan iPad Camera Connection Kit jika ingin mengambil foto lewat kamera yang USB-enabled. Ini berarti Anda juga wajib menginstal perangkat tambahan, saat ingin menggunakan mouse atau bahkan keyboard. · No SD Slot. Berbicara mengenai storage, baik 16GB, 32 GB atau 64GB, maka itulah yang bakal Anda dapat. Mengingat iPad tidak memiliki konektor USB dan atau SD Card reader. Artinya, Anda tidak dapat menggunakan SD card 16GB sebagai semi permanen storage (lagi-lagi) tanpa menggunakan iPad Camera Connection. Sangat-sangat tidak efisien. · No Flash Support. Situs Mashable pernah mendemonstrasikan salah satu keburukan iPad: tidak adanya support untuk Adobe Flash. Sudah beredar kabar bahwa Apple memang tidak menyukai ekosistem Flash. Apple juga berharap bahwa HTML5 segera keluar dan menggantikan dominasi Flash sebagai sebuah teknologi video playback di web. · No HDMI Out. Berbicara mengenai video, Anda juga tidak bisa menemukan port untuk mengkoneksikan iPad ke televisi. Untuk menonton video yang baru saja diunggah ke YouTube di ruang TV bersama keluarga, Anda harus menancapkan adaptor VGA ke Dock Connector yang bakal membatasi resolusi VGA itu sendiri. · No Full HD Playback. Di era High-Definition seperti sekarang ini, miris rasanya jika pabrikan sebesar Apple justru melansir gadget yang tidak compatible untuk memutar tayangan HD. Memang, untuk layar berdimensi 9.7 inci sudah cukup untuk memutar video berukuran 720pixel. Namun kenyataan yang cukup menggangu adalah, ukuran video yang sekarang banyak beredar di internet adalah video yang memiliki dimensi 1080 pixel. Anda harus mengkonversinya baru bisa ditonton lewat layar iPad. · No Open SDK. Apple kerap melakukan hal ini. Namun Software Development Kit untuk iPhone OS 3.2-yang merupakan sistem operasional yang juga diaplikasikan di iPad-membuat developer harus menandatangani perjanjian Non-Disclosure Agreement sebelum memulai akses. Perjanjian ini mencegah developer mendiskusikan OS diluar forum Apple yang sah. Hal tersebut berarti programmer yang mengerjakan aplikasi untuk device ini tidak bisa membicarakan platform ke orang lain yang juga belum menandatangani NDA, lewat Twitter misalnya.

source

http://nerozid7.blogspot.com/2011/08/sistem-operasi-handheld.html

http://ryzemages.blogspot.com/2018/12/apa-itu-handheld.html

https://www.plimbi.com/article/6539/mau-tahu-apa-saja-kelebihan-dan-kekurangan-blackbe

Thread

Ulirutas atau thread (singkatan dari “thread of execution“) dalam ilmu komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir sebenarnya mirip dengan proses, tetapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing (sama dengan time-division multipleks), di mana sebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu. Teknik penggantian (switching) ini memungkinkan CPU seolah-olah bekerja secara serempak.

1.Thread

Capture

  • 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.

11

3. Keuntungan Multi-Threading

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
  2. 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.
  3. Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.

5. Model-Model Threading

  1. 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.
  2. Thread kernel didukung langsung oleh sistem operasi.
  3. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space.
  4. 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-One

  • 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.
  1. One-to-One

  • Memetakan setiap thread tingkatan pengguna ke thread kernel.
  • Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One.
  • D3 KomSI UGM Sistem Operasi

  1. 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.

9. 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.

source

https://vivimargaretha494.wordpress.com/2015/10/01/thread-pada-sistem-operasi-2/

https://id.m.wikipedia.org/wiki/Utas_(komputer)