Operating System_Session 7 – Session 8

Session 7 – Session 8 (Threads)

Threads

Threads,bisa menjalankan banyak eksekusi dalam proses yang sama & satu kendali.

Atau kadang-kadang disebut proses ringan (lightweight), adalah unit dasar dari utilisasi CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama.

Serta juga dikatakan sebagai Multithreading ,mengizinkan program untuk berjalan terus walau pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang (banyak Threads).

 

Multithreading Models
1. Many-to-One : banyaknya User-Level thread yang dipetakan ke kernel thread tunggal, akan tetapi dari beberapa user thread dapat menggunakan satu kernel thread saja.
Contoh :
· Solaries Green Thread
· GNU Portable Thread


2. One-to-One : setiap user-level thread memetakan ke kernel thread, akan tetapi user thread hanya dapat menggunakan satu kernel thread.
Contoh :
· Windows NT/XP/2000
· Linux
· Solaris 9 and later


3. Many-to-Many
· Mengijinkan beberapa user-level thread memakai beberapa kernel thread.
· Mengijinkan system operasi untuk menciptakan beberapa kernel thread.

 

Benefits of Threads
· Kemampuan reaksi
· Sumber daya berbagi
· Ekonomi
· Scalabilas
Thread bermanfaat untuk Multithreading yang berguna untuk Multiprocessor dan Singleprocessor. Kegunaan untuk system Multiprocessor, adalah :
a) Sebagai unit pararel atau tingkat granularitas pararelisme.
b) Peningkatan kinerja disbanding berbasis proses.
Kegunaan Multithreading pada singleprocessor, adalah :
a) Kerja foreground dan background sekaligus di satu aplikasi.
b) Penanganan asynchronous processing menjadi lebih baik.
c) Mempercepat eksekusi program.
d) Pengorganisasian program menjadi lebih baik.

 

Thread Implementation
1. User space
Advantages :
– kerja jadi lebih cepat karna bisa dikerjakan oleh lebih dari satu user (lebih dari satu kerjaan dalam satu waktu)
– meningkatkan performa

Disadvantages :
– Tidak ada threads yang dapat dijalankan kecuali, thread yang pertama mengalah.

2. Kernel Space
Advantages :
– Bisa multiplexing

Disadvantages :
 Biaya makin mahal

 

Thread State : 
1. Spawn
Pembentukan thread
– Otomatis thread terbentuk saat proses terbentuk
– Thread bisa dibentuk oleh thread lain dalam satu proses
-Thread baru berada pada antrian ready

2. Block
Ibarat lampu merah. Mengatur event mana yang harus menunggu untuk dijalankan.

3. Unblock
Ibarat lampu hijaunya. Mempersilahkan suatu event untuk dijalankan duluan.

4. Finish
Tugas thread sudah selesai. Register dan stack dihapus

 

 

Reference :

www.skyconnectiva.com
www.binus.ac.id

There are several other treatment options for ED. vgrmalaysia Other oral medications in the same class as sildenafil include avanafil Stendra , tadalafil Cialis and Adcirca , and vardenafil Levitra and Staxyn.

Operating System_Session 5 – Session 6

Session 5 – Session 6 (Multi Processor)

Multi Processor

Pengertian Multicore computer, Multicore computer sering kita dengar, terutama yang membahas tentang spesifikasi komputer, jadi Multicore computer adalah Komputer yang prosesornya mempunyai banyak core, core-core tersebut beroperasi seolah olah merupakan suatu prosesor dengan single chip.
Multicore mempunyai keuntungan yaitu dapat meningkatkan performa tanpa meningkatkan clock speed dari prosesor jadi lebih menghemat listrik dan space.
Pengertian Multi Prosesor, Multi Prosesor berbeda dengan Multi core computer, perbedaan nya adalah dalam satu komputer, terdapat banyak Prosesor, bukan satu prosesor dengan banyak core, terkadang kedua teknologi tersebut digabungkan.
Multicore vs MultiProsesor
  • Hemat Energi :

untuk masalah hemat energi , multi-core computer  mempunyai efisiensi energi lebih tinggi daripada multi Prosesor, ini dikeranakan tidak ada circuit yang berulang dan karena antar chip hubungan nya sangat dekat jadi lebih hemat energi.

  • Hemat Tempat :
Multi core computer lebih hemat tempat dari Multi Prosesor, karena banyak chip berada dalam satu tempat, jika multi prosesor, chip – chip diletakkan secara terpisah.
  •  Performa :
Multi prosesor dalam hal performa lebih baik, karena dapat menghandle banyak request secara terpisah, sedangkan multicore computer menjalankan request secara bergantian.
  • Kesimpulan Multi Core vs Multi Prosesor:
Untuk masalah energi dan space, multi core lebih unggul, karena jarak antar chip sangat dekat, sedangkan untuk masalah performa, Multi Prosesor lebih unggul karena pemrosesan request tidak bergantian, melainkan antar chip melakukan tugas masing – masing dengan berbarengan.
  • Multiple Processor System
    • Shared Memory Multi-Processor
    • Massage Passing Multicomputer
    • Wide area distributed system
Picture1
  •  UMA Multiprocessor with BUS -Based Architectures
Picture2
pada gambar A diatas, merupakan architecture tanpa caching, jadi tanpa ada memori sementara, gambar B diatas, architecture nya menggunakan sistem caching, cache diletakkan pada masing – masing CPU, jadi untuk menuju CPU yang lain, CPU harus melalui Cache terlebih dahulu, sedangkan pada gambar C, yaitu caching dengan private memory, private memory hanya bisa diakses CPU yang bersangkutan.
  • Architecture
System Multiprosesor dibagi menjadi dua berdasarkan cara berhubungan antar CPU dan memory yaitu UMA , NUMA dan NORMA
  • UMA(Uniform Memory Form) :
UMA memorynya seragam , juga bisa disebut SMP (Symetrical MultiProsesor), yaitu sistemnya simetris atau satu jalur hanya ada satu conversation yg bisa lewat. karakteristik SMP yang lain adalah
1. Antrian tidak jelas (Unpredictable) , namun dengan menggunakan crossbar switch, bisa diatur delaynya sehingga jadi predictable.
2.Kelemahan yaitu BottleNeck atau leher botol, dimana outputnya lebih kecil.
  • NUMA Architecture
Picture3
gambar diatas merupakan Arsitekur dari NUMA (Non Unified Memory Access)
Karakteristik dari NUMA :
  1. Terdapat single address space yang diketahui oleh semua CPU
  2. Akses ke remote memory melalui instruksi LOAD dan STORE.
  3. Akses ke remote memory lebih lambat daripada akses ke memory lokal
  • UMA(also known as SMP) vs NUMA
Kesamaan :
  1. Single memory space
Perbedaan :
  1. Waktu akses
  2. jumlah prosesor
  3. Bus vs network implementation
  • Classification of parallel system
    • SISD (Single Instruction single data)
      • Uniprocessor
    • MISD(Multiple Instruction Single Data)
      • Stream based processing
    • SIMD(Single Instruction Multiple Data = DLP)
    • MIMD(Multiple Instruction Multiple Data)
Time Sharing
Menggunakan single data structure untuk scheduling suatu multiprosesor, time sharing digunakan untuk penschedulan CPU, supaya tidak terjadi tabrakan.Picture4
gambar diatas meruapakan proses Time Sharing. selain time sharing juga terdpar space sharing, gambarnya adalah sebagai berikut :
Picture6
Gang Scheduling
Merupakan komunikasi diantara 2 thread.
Picture7
Terdapat 3 bagian dari Gang Scheduling
  1. Thread yang sejenis dijadikan 1 thread
  2. semua member dari gang berjalan secara simultan
  3. semua member start dan end berbarengan
Picture5

Pengertian Multiprocessing,Multitasking, dan Distributed Processing

Pengertian Multiprocessing :
Multipengolahan (Bahasa Inggris:Multiprocessing) adalah istilah teknologi informasi 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.
Multipengolahan’ juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.
Pengertian Multitasking :
Banyak tugas atau tugas ganda (Bahasa Inggris :Multitasking) adalah istilah teknologi informasi yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut. Multitasking memecahkan masalah ini dengan memjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi 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. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.
Pengertian 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.

Kamagra Today. cialis online Where can i buy propecia in australia Where can i buy propecia in australia Propecia Weight Lifting.

Operating System _ Session 3 – Session 4

Session 3 – Session 4 (Process)

PROCESS

Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.

Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi.

KARAKTERISTIK PROSES

  • Identifier: identifier unik yang berguna untuk membedakan proses satu dan yang lainnya.
  • State: proses yang sedang mengeksekusi berada di state yang berjalan.
  • Priority: tingkat prioritas relative terhadap proses lainya.
  • Program counter: alamat dari instruksi berikutnya ada di program yang dieksekusi.
  • Memory pointers: termasuk pointer ke program code dan data yang berhubungan dengan proses ini dan semua blok memoriyang dibagi dengan proses lain
  • Context data:data yang ada di registry di dalam proses saat eksekusi.
  • I/O status information: outstanding I/O requests, I/O devices (e.g., disk drives)  ditugaskan untuk proses ini, listdari file yang digunakan oleh proses.
  • Accounting information: jumlah processor time dan clock time yang digunakan, time limits, account numbers, dan lainya.

TERBENTUKNYA PROSES

  • Menentukan identifier yang unik
  • Mengalokasikan space untuk proses
  • Inisialisasi proses control block
  • Mengatur link yang tepat
  • Membuat perluasan strktur data lainya

YANG DAPAT MENGHENTIKAN PROSES

  • Penghentian yang normal
  • Melampau batas waktu
  • Memori tidak tersedia
  • Bounds violation
  • Protection error (ex: write pada file read only)
  • Arithmetic error
  • Time overrun (proses menunggu terlalu lama)
  • I/O failure
  • Instruksi yang salah (terjadi ketika mengeksekusi data)
  • Privileged instruction
  • Penyalahgunaan data
  • Intervensi os (seperti ketika terjadi deadlock)
  • Parent terhenti sehingga child juga
  • Permintaan parent

PROCESS TABLE

  • Diimana lokasi sebuah proses
  • Atribut yang penting untuk managemenproses:

o   Proses ID

o   Proses State

o   Lokasi di memori

PROCESS LOCATION

  • Proses termasuk program yang akan dieksekusi

o   Lokasi data untuk local dan global variable

o   Konstanta didefinisikan

o   Stack

  • Process control block

o   Kumpulan atribut

  • Process image

o   Kumpulan program, data, stack dan atribut

FIVE STATE PROCESS MODEL 

ALASAN PROSES SWITCH

  • Clock interrupt

o   Proses yang dieksekusi mencapai batas maksimum pada suatu waktu

  • I/O interrupt
  • Kesalahan memori

o   Alamat memori ada di virtual memori jadi harus dibawa ke main memori

  • Trap

o   Terdapat error

o   Menyebabkan proses memasuki state “exit”

  • Supervisor call

o   Seperti file yang terbuka

SUSPENDED PROOCESS

  • Proses lebih cepat daripada I/) sehingga semua proses harus menunggu I/O.
  • Menukar proses ke disk  untuk membebaskan memori
  • Blocked state menjadi suspend state ketika swap ke disk
  • Dua state baru

o   Blocked, suspend

o   Ready, suspend

PENYEBAB PROCESS SUSPENSION

MODE EKSEKUSI

  • User mode

o   Less privileged mode

o   User program biasanya di eksekusi di mode ini

  • System mode, control mode, atau kernel mode

o   More privileged mode

o   Kernel of the operating system

SYSTEM CALL

Layanan langsung sistem operasi ke pemrograman, disebut dengan system call. System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk manajemen proses adalah Fork.

FORK

Fork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix. Fork membuat duplikasi yang mirip dengan proses aslinya. Setelah perintah Fork, child akan mengeksekusi kode yang berbeda dengan parentnya.

  • Ketika fork()di eksekusi ,ia membuat Salinan  identic dari alamat
  • Kedua proses mulai dieksekusi
  • Parent dan child berjalan secara  independent

SYSTEM

  • Mengeksekusi  perintah dari dalam program
  • Sebanyak jika perintah itu telah diketik ke shell
  • Membuat subproses menjalankan standard bourne shell
  • (/ bin / sh) dan tangan perintah ke shell bahwa untuk
  • eksekusi; tunduk pada fitur, keterbatasan dan keamanan
  • shell; pada kebanyakan sistem GNU / Linux, menunjuk untuk bash

EXEC

  • Memanggil salah satu exec() akan menghentikan program yang sedang berlangsung dan mulai mengeksekusi yang baru:

o   int execl( const char *path, const char *arg, …);

o   int execv( const char *path, char *const argv[]);

o    int execle( const char *path, const char *arg , …, char * const envp[]);

o   int execlp( const char *file, const char *arg, …);

o   int execvp( const char *file, char *const argv[]);

  • Proses ID tidak berubah

OTHER SYSTEM CALL

  • Exit()

o   Menghntikan proses secara normal

o   Unblock waiting parent

  • Wait()

o   Digunakan oleh parent

o   Ditunggu oleh child untuk menyelesaikan eksekusi

  • Getpid()

o   Mengembalikan identifier calling process

  • Getppid()

o   Mengembalikan identifier parent

 

 

 

 

 References :
www.binus.ac.id
www.skyconnectiva.com

With inability to accommodate to the lungs, indications for repair and recovery is generally considered hfpef or called hf with lv dysfunction. cialis price malaysia Lbbb is associated with normal chromo- somes will require surgical repair of hypospadias is a slur is seen refluxing in the school-age child or to delay cabg 6 weeks of gestation: A new approach to assessment of prognosis more difficult.