Week 10 note (Concurrency) Flashcards

1
Q

What is Concurrency?

A

Sebuah proses dimana ada sebuah program yang dieksekusi secara bersamaan oleh prosesor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Concurrency dapat dibagi menjadi 4 level yaitu

A

· Instruction level is the execution of two or more machine instructions simultaneously
· Statement level is the execution of two or more statements simultaneously
· Unit level is the execution of two or more subprogram units simultaneously
· Program level is the execution of two or more programs simultaneously

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

2 Kategori dari Concurrency

A
  1. Physical Concurrency, terjadi ketika beberapa program units dari satu program dieksekusi secara bersamaan pada lebih dari satu processor
  2. Logical Concurrency, terjadi ketika eksekusi dari beberapa program secara bersamaan pada sebuah single processor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Manfaat belajar concurrency?

A

Kebutuhan untuk software agar penggunaannya efektif dari kemampuan hardware yang tersedia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cooperation synchronization?

A

Antara dua tasks, dimana task kedua harus menunggu task pertama selesai dieksekusi sebelum melanjutkan ke task kedua

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Competition synchronization?

A

Antara dua tasks, dimana keduanya menggunakan resource yang sama yang tidak dapat digunakan secara bersamaan, sehingga saling berebutan resource.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is semaphore?

A

sebuah mekanisme yang paling sederhana yang diguankan untuk menyediakan sinkronisasi tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Monitors?

A

Monitor merupakan cara yang lebih baik untuk menyediakan competition synchronization daripada semaphore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Message Passing

A

untuk mengatur komunikasi thread dan synchronization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

2 kategori umum Task?

A

Heavyweight task = merupakan programs, setiap proses heavyweight memiliki alamat memori sendiri.
Lightweight task = merupakan threads, setiap threads menggunakan alamat memori yang sama.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Starvation?

A

terjadi pada saat satu atau lebih threads dalam program terblokir untuk mendapatkan akses ke resource dan tidak dapat diselesaikan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Deadlock?

A

terjadi pada saat dua atau lebih threads saling menunggu dalam suatu kondisi untuk menggunakan resource sehingga tidak dapat diselesaikan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly