Tugas UAS SOM




·      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:
  1. SGML/XML
  2. HyTime
  3. SMIL
  4. MHEG
  5. VRML & X3D
  6. 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.

 Di dalam sebuah sistem komputer terdiri dari perangkat keras (hardware), kernel, dan userspace. Hardware merupakan bentuk fisik dari sebuah sistem komputer. Kernelmerupakan core software (perangkat lunak sistem utama) yang bertindak untuk berkomunikasi dengan hardware dan software aplikasi. Fungsi kernel merupakan fungsi utama dari sebuah sistem operasi. Userspace adalah software lainnya yang terdiri dari libraries and utilities (instruksi standar sistem aplikasi) dan applications/aplikasi (software yang digunakan pengguna).
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


Komentar