· Processes and Threads
1.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-Threadingadalah
proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam
satu waktu.
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.
·
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.
1.
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.
2.
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
3.
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.
· Permasalahan Multimedia
· Heterogenity in Structure
- Kompleksitas Media Object terdiri dari media object itu sendiri, disajikan secara selaras atau singkron
- Beberapa standart Multimedia:
- SGML/XML
- HyTime
- SMIL
- MHEG
- VRML & X3D
- MPEG7 & MPEG21
Semantic Gap
Tidak hanya objek yang kompleks (dijelaskan menggunakan standar hypermedia, seperti X3D, SMIL, MPEG7, atau HTML) yang memerlukan struktur, model nonatomic untuk representasi. Bahkan benda dari jenis media yang relatif sederhana, seperti gambar dan video, mungkin perlu sifat lokal yang beragam dan keterkaitan patiotemporal kompleks. Sebagai contoh, sebuah studi eksperimental yang dilakukan oleh H. Nishiyama et al. [1994] menunjukkan bahwa pengguna sedang melihat lukisan atau gambar menggunakan dua pola utama. Pola pertama terdiri dari melihat seluruh gambar kasar, hanya berfokus pada tata letak gambar kepentingan tertentu. Pola kedua terdiri dari berkonsentrasi pada objek tertentu dalam gambar. Dalam arti, kita dapat melihat satu gambar sebagai objek senyawa yang mengandung banyak sub-benda, masing-masing sesuai dengan daerah gambar yang secara visual koheren dan / atau semantik bermakna (misalnya, mobil, manusia), dan hubungan spasial mereka.
Setiap objek media dapat dilihat sebagai kumpulan saluran informasi; beberapa saluran informasi tersebut (seperti warna dan bentuk) adalah tingkat rendah (bisa berasal dari objek media), sedangkan yang lain (seperti label semantik melekat pada benda oleh penonton) adalah tingkat yang lebih tinggi (tidak dapat diturunkan dari objek media tanpa pengetahuan eksternal).Multimedia pemrosesan query biasanya membutuhkan kesenjangan semantik antara apa yang disimpan dalam database dan bagaimana pengguna menafsirkan query dan data yang akan dijembatani melalui siklus umpan balik relevansi. Proses ini sendiri biasanya statistik dan, akibatnya, adanya ketidaktepatan probabilistik dalam hasil.
Imprecision & Subjectivity
- Feature Extraction umumnya tidak tepat
Misalnya, tingkat kesalahan yang tinggi ditemui dalam data motion-capture dan umumnya disebabkan oleh banyak faktor lingkungan yang terlibat, termasuk kamera dan kecepatan objek. Khusus untuk video / audio / gerak aliran, data yang diambil melalui modul ekstraksi fitur hanya statistik yang akurat dan dapat didasarkan pada frame rate atau posisi kamera video yang berhubungan dengan objek yang diamati - Multimedia querying system often rely on “similarity” query (v.s. exact matching)
Sebaliknya, dalam banyak kasus, database multimedia perlu mempertimbangkan fitur nonidentical tetapi mirip dengan menemukan objek data yang wajar untuk query. Dalam banyak kasus, hal ini juga diperlukan untuk memperhitungkan kesamaan semantik antara penjelasan terkait dan parsialnya, di mana benda-benda berhasil pada beberapa persyaratan dalam query tetapi gagal untuk memenuhi semua kondisi query. - Ketidaktepatan dapat disebabkan struktur indeks yang tersedia, yang sering tidak sempurna.
Karena ukuran data, banyak sistem bergantung pada clustering dan klasifikasi algoritma untuk kadang-kadang tidak sempurna pemangkasan alternatif pencarian selama pemrosesan query. - Query formulation methods vs user’s subjective intention: Query by example, Query by Description, Query by profile/recommendation
· Pengenalan Sistem Operasi
Sistem
operasi adalah
perangkat lunak sistem yang dijalankan langsung saat komputer booting yang
bertugas untuk manajemen perangkat lunak dan perangkat keras terkait. Perangkat
lunak yang dimanajemen oleh sistem operasi disebut dengan aplikasi, misalnya
aplikasi pengolah kata dan aplikasi pemutar video. Perangkat lunak sistem
adalah istilah yang digunakan untuk perangkat lunak yang bertugas untuk
mengontrol dan manajemen perangkat keras, sehingga aplikasi dapat berjalan.
Sistem operasi
komputer memberikan layanan (service) yang dapat digunakan oleh aplikasi untuk
melakukan fungsinya yang disebut Application Program Interface (API). API
adalah layanan (service) dari sistem operasi yang dapat digunakan oleh aplikasi
untuk melakukan instruksi terkait kontrol perangkat lunak atau perangkat keras.
Setiap sistem operasi
mempunyai antarmuka yang berbeda. Terdapat 2 jenis antarmuka pengguna pada
sistem operasi yaitu command line dan Graphical User Interface (GUI). GUI
adalah antarmuka interaktif menggunakan visualisasi grafis untuk memudahkan
pengguna menggunakan sistem operasi bersangkutan.
A. Fungsi Sistem
Operasi
Sistem operasi
mempunyai peran penting di dalam suatu sistem komputer. Berikut beberapa fungsi
sistem operasi,
1. Memberikan tampilan utama komputer (user
interface).
2. Menjalankan beberapa aplikasi dalam waktu yang
sama (multitasking).
3. Membagi memory komputer ke aplikasi-aplikasi
yang sedang berjalan.
4. Menangani input dan output dari hardware yang
tersambung pada sistem komputer.
5. Mengirim pesan ke aplikasi terkait kinerja
sistem, sehingga dapat diterima oleh pengguna sesuai dengan tujuan aplikasi.
6. Membuat catatan dari aplikasi yang dijalankan
(log).
7. Melakukan manajemen partisi dan file.
8. Melakukan instruksi secara paralel ke prosesor
untuk mengoptimalkan kinerja sistem komputer.
9. Manajemen akun pengguna sistem komputer (user
account).
10. Menghubungkan BIOS dengan driver dari suatu
perangkat keras sehingga perangkat keras bisa dioperasikan.
B. Cara Kerja Sistem
Operasi dalam Sistem Komputer
Berikut merupakan
lapisan dari sebuah sistem komputer menurut Ciresearchgroup Organization.
Sistem operasi bekerja
sebagai penghubung antar software dan hardware dalam sistem komputer. Sistem
operasi mempunyai instruksi-instruksi dasar yang dapat dimengerti oleh software
dan hardware. Dalam hal ini sistem operasi juga dibantu oleh perangkat lunak
sistem dari perangkat keras terkait yang disebut dengan driver.
C. Contoh Sistem
Operasi Komputer
1.
Microsoft
Windows Microsoft Windows
adalah sistem operasi komputer yang dikembangkan oleh Microsoft sejak tahun
1985 dengan menggunakan antarmuka grafis (GUI). Microsoft Windows menjadi
sistem operasi komputer paling populer di dunia. Microsoft Windows dikembangkan
dengan bahasa pemrograman C, C++, dan C#.
2.
Mac
OS Mac OS (Macintosh
Operating System) adalah sistem operasi komputer yang dikembangkan oleh Apple
sejak tahun 2001 yang merupakan sistem operasi standar dari perangkat komputer
keluarannya. Sehingga Mac OS hanya bisa digunakan pada perangkat Apple. Mac OS
ditulis dengan bahasa pemrograman C++, Objective C, dan Swift.
3.
Linux Linux adalah keluarga sistem operasi berbasis
UNIX yang merupakan sistem operasi komputer sumber terbuka (open source) yang
dikembangkan oleh komunitasnya sejak 1991. Oleh karena dibangun oleh komunitas
yang besar, linux terbukti sebagai sistem operasi yang paling stabil dan
mempunyai manajemen memory yang sangat baik. Linux sangat populer dikalangan
data center. Selain itu Linux terbukti kebal terhadap virus. Bahasa yang paling
banyak digunakan untuk mengembangkan Linux adalah C dan Assembly. Terdapat
banyak jenis Linux yang dikembangkan oleh berbagai komunitas misalnya Ubuntu,
Debian, Fedora, dan lain-lain
Referensi: https://www.advernesia.com/blog/komputer/pengertian-sistem-operasi-komputer-beserta-contohnya/
Komentar
Posting Komentar