1. Persyaratan Security
a. yang dapat mengakses hanya orang yang memiliki hak akses
b. integriti dari data
c. bisa diakses sama yang berhak saja
d. membuat komputer memastikan dari integriti user
2. Tujuan adanya Security
a. agar datanya aman dari tindak kejahatan
b. datanya tetap integriti
c. system availability
3. Tipe Tipe Threat
a. Interruption
ada data sebelum sampai ke tempat tujuan diberhentikan
b. Interception
ketika data dikirim ke tujuan, data tersebut tidak terkirim ke tujuan melainkan terkirim ke orang yang bukan bersangkutan
c. Modification
hampir sama dengan interception, tapi data yang telah di interception itu akan diubah, lalu setelah itu data tersebut akan dikirim ke tujuan yang sebenarnya
d. Fabrication
menambahkan 1 file ke tujuan yang sebenarnya tidak dikirim oleh pengirim sesungguhnya
4. Inruders (yang melaukan penyerangan)
a. menyerang user yang tidak paham dengan komputer
b. ketika user masuk suatu aplikasi, maka penyerangan yang dilakukan adalah mempelajari apa yang user sedang lakukan
c. usaha mengambil uang
d. membuat mata mata
5. Kemungkinan untuk Kehilangan Data
a. Bencana
b. Hardware atau software bermasalah atau rusak
c. Salah ketika memasukan data
6. Protection Mechanism
a. Protection Domain
b. Protection Matrix
c. Protection Matrix with domains as objects
7. Intrusion Detection (Mencatat aktifitas komputer)
a. Asumsikan perilaku penyusup berbeda dari pengguna yang sah
b. Deteksi anomali statistik
- Mengumpulkan data yang terkait dengan perilaku pengguna yang sah selama periode waktu
- Uji statistik yang digunakan untuk menentukan apakah perilaku tersebut tidak sah perilaku
c. Deteksi berbasis aturan
- Aturan dikembangkan untuk mendeteksi pola penggunaan bentuk penyimpangan sebelumnya
- Pencarian sistem pakar untuk perilaku yang mencurigakan
d. Catatan audit
- Catatan audit asli
Semua sistem operasi termasuk perangkat lunak akuntansi yang mengumpulkan informasi tentang aktivitas pengguna
- Catatan audit-deteksi khusus
Fasilitas Koleksi dapat diimplementasikan yang menghasilkan catatan audit yang hanya berisi informasi yang dibutuhkan oleh sistem deteksi intrusi
8. Authentication using a physical object
9. Authentication using biometrics
10. Pencegahan
a. Waktu dibatasi saat seseorang login
b. otomatis memanggil ke nomor yang telah ditentukan
c. Membatasi waktu mencoba untuk login
d. Sebuah database dari semua login
e. Login dengan nama dan password yang mudah adalah jebakan
11. Penyerangan dari dalam
a. Trojn Horses
Program gratis yang dibuat tersedia untuk pengguna, sebenarnya mengandung kode untuk merugikan
b. Login Spoofing
c. Logic Bomb
d. Trap Door
e. Buffer Overflow
12. Generic Security Attacks
a. Typical attacks
b. Request memory, disk space, tapes and just read
c. Try illegal system calls
d. Start a login and hit DEL, RUBOUT, or BREAK
e. Try modifying complex OS structures
f. Try to do specified DO NOTs
g. Convince a system programmer to add a trap door
h. Beg admin's sec’y to help a poor user who forgot password
13. Prinsip Desgin untuk Security
a. Desain sistem harus publik
b. Default harus n akses
c. Periksa otoritas saat
d. Berikan setiap proses paling istimewa mungkin
e. Mekanisme perlindungan harus
f. Sederhana
g. Seragam
h. di lapisan terendah dari sistem
i. Skema harus psikologis diterima
14. Virus
Program yang dapat "menginfeksi" program lain dengan memodifikasi mereka. Modifikasi termasuk salinan program virus. Program yang terinfeksi dapat menginfeksi program lain
15. Worms
a. Fasilitas surat elektronik
- Sebuah worm mail salinan dirinya ke sistem lain
b. Kemampuan eksekusi jarak jauh
- Sebuah worm menjalankan salinan dirinya pada sistem lain
c. Terpencil log-in kemampuan
- Sebuah worm log on ke sistem remote sebagai pengguna dan kemudian menggunakan perintah untuk menyalin dirinya dari satu sistem ke sistem yang lain
16. Zombie
Program yang diam-diam mengambil alih komputer terpasang Internet lain. Menggunakan komputer yang memulai serangan terhadap kita, sulit untuk melacak pencipta zombie
17. Tahap Virus
a. fase dorman
- Virus idle
b. fase propagasi
- virus tempat salinan identik dari dirinya ke program lain atau ke daerah-daerah tertentu sistem pada disk
c. memicu fase
- Virus diaktifkan untuk melakukan fungsi untuk yang dimaksudkan
- Disebabkan oleh berbagai aktivitas sistem
d. fase eksekusi
- virus dilakukan
18. Pendekatan Antivirus
a. Detection
b. Indetification
c. Removal
19. Generic Decryption
a. CPU emulator
- Instruksi dalam file executable ditafsirkan oleh emulator daripada prosesor
b. Virus signature scanner
- Target kode memindai mencari diketahui
c. Modul kontrol emulasi
- Mengontrol eksekusi kode sasaran
20. Trojan Horse Defense
www.skyconnectiva.com
www.binus.ac.id
Operating System
Kamis, 04 Juni 2015
Multi Processor dan Embedded System
MULTICORE VS MULTIPROCESSOR
1. Multicore Computers
CPU yang memiliki lebih dari 1 core
2. Multiprocessor
Dalam suatu komputer memiliki lebih dari 1 CPU
3. Multicore Vs Multiprocessor
Hemat Energi. Ya itu yang bisa dikatakan untuk core dibandingkan dengan CPU. Mengapa demikian? Karena dalam 1 CPU bisa memiliki banyak core dan untuk menyalakan CPU butuh listrik sehingga ketika CPU menyala maka core pun akan menyala sehingga daya yang dikeluarkan lebih sedikit core dibandingkan dengan CPU.
4. Multicore System
Multicore System bisa dibilang lebih hemat tempat. Mengapa demikian? Karena multicore system hanya membutuhkan 1 tempat sehingga core core tersebut digabung menjadi satu membuat tempat lebih luas atau masih memuat banyak.
5. Multi Processor System
Multi Processor System dapat dirasakan dalam performance nya karena multi processor system ini dapat menangani proses lebih baik dibandingkan dengan multicore system.
6. UMA, NUMA, NORMA
UMA = Uniform Memory Access (pengaksesan memorynya seragam / symmetrical multiprocessor)
NUMA = Nonuniform Memory Access
NORMA = No-Remote Memory Access
7. UMA Multiprocessor with BUs-Based Architecture
a. Without caching
b. With caching (menahan proses sebelum ke tempat tujuan)
c. With caching and private memories (memorinya dipisah)
8. Kelemahan UMA adalah :
a. tidak bisa diprediksi delaynya
b. bottle neck (ukuran yang dikirim tidak sesuai dengan yang diterima)
9. NUMA Architecture
10. Perbedaan UMA dan NUMA
a. NUMA lebih cepat
b. jumlah processor yang berbeda
c. UMA symetric dan NUMA tidak symetric
11. Persamaan UMA dan NUMA
a. memiliki single memory space
b. pitfall = perbandingan antara shared memory dan distributed memory
12. Classification of parallel system
a. SISD (Single Instruction Single Data)
b. MISD (Multiple Instruction Single Data)
c. SIMD (Single Instruction Multiple Data)
d. MIMD (Multiple Instruction Multiple Data)
13. Multiprocessor Synchronization
14. Time Sharing and Space Sharing
a. Time Sharing
b. Space Sharing
15. Gang Schedulling
a. Sekumpulan threading yang berhubungan dijadwalkan sebagai satu unit
b. Semua anggota gang berjalan simutan
c. Semua gank memulai dan mengakhiri waktu bersamaan.
16. Embedded System
Kombinasi antara hardware dengan software untuk suatu fungsi (software yang dipasang dihardware)
17. Karateristik Embedded
a. Real-time operation
b. Reactive operation (bereaksi jika ada suatu batasan)
c. Configurabillity
d. I/O device flexibilty
e. Streamlined protection mechanisms (keamanan)
f. Direct use intterupt
18. Embedded System Development Vs Traditional System Development
a. kodingnya ga harus dari atas kebawah
b. bisa berhenti dimana saja
c. bisa melakukan proses bersamaan
19. Embedded System Development Approach
a. Pastikan hardware yang ingin dipakai
b. Pastikan software yang digunakan sesuai dengan hardwarenya
c. Menjaga design agar bisa dipakai terus menerus
d. Dapat share object
e. Jangan membuat hal yang sudah pernah ada
20. Specialized Embedded Operating System
a. kerjanya lebih cepat
b. tidak ada delay
c. lebih spesifik, jika tidak penting maka langsung dibuang
d. ukurannya pasti
e. bisa lock/freeze real-time
21. Aplikasi
Ada 2 aplikasi gratis embedded yang telah disediakan, yaitu eCos dan TinyOs
www.skyconnectiva.com
www.binus.ac.id
1. Multicore Computers
CPU yang memiliki lebih dari 1 core
2. Multiprocessor
Dalam suatu komputer memiliki lebih dari 1 CPU
3. Multicore Vs Multiprocessor
Hemat Energi. Ya itu yang bisa dikatakan untuk core dibandingkan dengan CPU. Mengapa demikian? Karena dalam 1 CPU bisa memiliki banyak core dan untuk menyalakan CPU butuh listrik sehingga ketika CPU menyala maka core pun akan menyala sehingga daya yang dikeluarkan lebih sedikit core dibandingkan dengan CPU.
4. Multicore System
Multicore System bisa dibilang lebih hemat tempat. Mengapa demikian? Karena multicore system hanya membutuhkan 1 tempat sehingga core core tersebut digabung menjadi satu membuat tempat lebih luas atau masih memuat banyak.
5. Multi Processor System
Multi Processor System dapat dirasakan dalam performance nya karena multi processor system ini dapat menangani proses lebih baik dibandingkan dengan multicore system.
6. UMA, NUMA, NORMA
UMA = Uniform Memory Access (pengaksesan memorynya seragam / symmetrical multiprocessor)
NUMA = Nonuniform Memory Access
NORMA = No-Remote Memory Access
7. UMA Multiprocessor with BUs-Based Architecture
a. Without caching
b. With caching (menahan proses sebelum ke tempat tujuan)
c. With caching and private memories (memorinya dipisah)
8. Kelemahan UMA adalah :
a. tidak bisa diprediksi delaynya
b. bottle neck (ukuran yang dikirim tidak sesuai dengan yang diterima)
9. NUMA Architecture
10. Perbedaan UMA dan NUMA
a. NUMA lebih cepat
b. jumlah processor yang berbeda
c. UMA symetric dan NUMA tidak symetric
11. Persamaan UMA dan NUMA
a. memiliki single memory space
b. pitfall = perbandingan antara shared memory dan distributed memory
12. Classification of parallel system
a. SISD (Single Instruction Single Data)
b. MISD (Multiple Instruction Single Data)
c. SIMD (Single Instruction Multiple Data)
d. MIMD (Multiple Instruction Multiple Data)
13. Multiprocessor Synchronization
14. Time Sharing and Space Sharing
a. Time Sharing
b. Space Sharing
15. Gang Schedulling
a. Sekumpulan threading yang berhubungan dijadwalkan sebagai satu unit
b. Semua anggota gang berjalan simutan
c. Semua gank memulai dan mengakhiri waktu bersamaan.
16. Embedded System
Kombinasi antara hardware dengan software untuk suatu fungsi (software yang dipasang dihardware)
17. Karateristik Embedded
a. Real-time operation
b. Reactive operation (bereaksi jika ada suatu batasan)
c. Configurabillity
d. I/O device flexibilty
e. Streamlined protection mechanisms (keamanan)
f. Direct use intterupt
18. Embedded System Development Vs Traditional System Development
a. kodingnya ga harus dari atas kebawah
b. bisa berhenti dimana saja
c. bisa melakukan proses bersamaan
19. Embedded System Development Approach
a. Pastikan hardware yang ingin dipakai
b. Pastikan software yang digunakan sesuai dengan hardwarenya
c. Menjaga design agar bisa dipakai terus menerus
d. Dapat share object
e. Jangan membuat hal yang sudah pernah ada
20. Specialized Embedded Operating System
a. kerjanya lebih cepat
b. tidak ada delay
c. lebih spesifik, jika tidak penting maka langsung dibuang
d. ukurannya pasti
e. bisa lock/freeze real-time
21. Aplikasi
Ada 2 aplikasi gratis embedded yang telah disediakan, yaitu eCos dan TinyOs
www.skyconnectiva.com
www.binus.ac.id
Sabtu, 30 Mei 2015
CD-ROM
PENGERTIAN CD ROM
CD-ROM merupakan akronim dari “compact disc read-only memory” adalah sebuah piringan kompak dari jenis piringan optik (optical disc) yang dapat menyimpan data. CD-ROM juga berarti bahwa CD-ROM drive hanya bisa digunakan untuk membaca sebuah CD saja. Secara garis besar CD-ROM dibedakan menjadi 2 menurut tipenya yaitu : ATA/IDE dan SCSI. Yang paling mendasari dari perbedaan tersebut adalah kecepatannya. Kalau ATA memiliki kecepatan 100-133Mbps sedangkan SCSI memiliki kecepatan kira-kira 150 Mbps. Untuk tipe SCSI biasanya ditemuka pada CR RW drive. Pada CD ROM terdapat tulisan 56X artinya kemampuan memberikan kecepatan transfer data sebesar 56 x150 Kbps. Tipe CD RW juga biasanya dibedakan berdasarkan kemapuan membakar dan membaca. CD RW tipe 12x8x32 artinya memiliki kemampuan membakar pada CD R seccepat 12x, membakar pada CD RW secepat 8x, dan membaca CD R/CD RW/dengan kecepatan maksimal 32x.
FUNGSI CD ROM
Telah di jelaskan bahwa CD ROM mempunyai arti bahwa sebuah Hadware yang hanya bisa membaca CD saja. Selain kegunaan dasar tersebut CD ROM juga digunakan untuk melakukan penginstalasian sebuah OS (OPERATING SYSTEM), Game, atau Software-software lainnya. Atau melakukan booting pada saat msuk ke OS bila sebuah System tidak mau berjalan.
PERBEDAAN CD ROM DENGAN CD -R
Dari penjelasan diatas kita sudah mengetahui apa itu CD ROM dan fungsinya, tapi terkadang kita berpikir lalu bedanya dengan CD-R(Compact Disc-Recordable) dan semejenisnya apa? Kita dapat melihat perbedaan itu dari fungsinya.
CD ROM sendiri adalah hardware atau bisa dibilang tempat/wadah bagi CD R, karena CD ROM sendiri biasanya digunakan untuk penginstalan OS(Operating System), Game, ataupun software lainnya dan juga CD ROM sendiri hanya menyimpan data. Sedangkan CD R sendiri tempat untuk menyimpan data dan data hanya bisa di burn sekali saja dan dengan setingan tertentu data bisa ditambahkan selama volume disk masih belum penuh.
Jadi perbedaannya adalah CD ROM ada tempat bagi CD R yang dapat menyimpan data dari CD R dan semacamnya, tapi kalau CD R tempat hanya untuk menyimpan data dan hanya bisa burn data tersebut sekali.
www.binus.ac.id
www.skyconnectiva.com
Kamis, 07 Mei 2015
Session 11-12 (Memory Management)
11.1 Memory Management
Membagi memori untuk menampung beberapa kebutuhan memori untuk proses yang akan dialokasikan untuk paket peralatan penunjang proses sebanyak mungkin ke dalam memori.
11.2 Persyaratan Memory Management
a. Relokasi
Programmer tidak tahu di mana program ini akan ditempatkan di memori ketika dieksekusi. Sementara program mengeksekusi, dapat bertukar ke disk dan kembali ke memori utama di lokasi yang berbeda (pindah). Referensi memori harus diterjemahkan dalam kode untuk alamat memori yang sebenarnya fisik.
b. Perlindungan
Proses seharusnya tidak dapat referensi lokasi memori proses lain tanpa izin. Mustahil untuk cek alamat mutlak dalam program sejak program ini dapat direlokasi .Harus diperiksa selama eksekusi .Sistem operasi tidak dapat mengantisipasi semua memori referensi program yang akan dibuat.
c. Berbagi
Memungkinkan beberapa proses untuk mengakses bagian yang sama dari memori. Lebih baik untuk memungkinkan setiap proses (orang) akses ke salinan yang sama dari program daripada memiliki salinan mereka sendiri terpisah.
d. Organisasi logis
Program yang ditulis dalam modul. Modul dapat ditulis dan disusun secara independen. Tingkat perlindungan yang berbeda yang diberikan kepada modul (read-only, jalankan saja).
e. Organisasi fisik
Memori yang tersedia untuk program plus data mungkin tidak cukup .Overlay memungkinkan berbagai modul yang akan ditugaskan daerah yang sama dari memori. Programmer tidak tahu berapa banyak ruang akan tersedia
11.3 Alamat
Ada 3 jenis alamat yang sering kita kenal, yaitu:
logis ->referensi ke lokasi memori independen dari tugas saat data ke memori terjemahan harus dilakukan ke alamat fisik.
relatif ->Alamat dinyatakan sebagai lokasi relatif terhadap beberapa titik yang diketahui.
fisik -> alamat absolut atau lokasi yang sebenarnya di memori utama.
11.4 Multiprogramming with fixed partition
a. Partisi memori tetap
Antrian input terpisah untuk setiap partisi, antrian input tunggal.
b. Beberapa antrian masukan.
Ketika pekerjaan tiba, dapat dimasukkan ke dalam antrian masukan untuk partisi terkecil yang cukup besar untuk menampung itu. Setiap ruang di partisi tidak digunakan oleh pekerjaan hilang. Antrian untuk partisi besar kosong tapi antrian untuk partisi kecil penuh.
c. Antrian input tunggal
Setiap kali sebuah partisi menjadi bebas, pekerjaan yang paling dekat dengan depan antrian yang cocok di dalamnya dapat dimuat. Mungkin membuang partisi yang besar pada pekerjaan kecil atau mencari antrian seluruh masukan setiap kali partisi menjadi bebas dan memilih pekerjaan terbesar yang cocok. Mendiskriminasikan pekerjaan kecil, sedangkan pekerjaan terkecil akan mendapatkan pelayanan yang terbaik
solusi:
Memiliki partisi setidaknya kecil. Pekerjaan tidak dapat dilewati untuk k kali.
11.5 Manajemen memori dengan bit
Bagian dari memori dengan 5 proses, 3 lubang tanda centang menunjukkan unit alokasi daerah yang diarsir bebas
Sesuai peta bit Informasi yang sama sebagai daftar
11.6 Memory Allocation Algorithm
Membagi memori untuk menampung beberapa kebutuhan memori untuk proses yang akan dialokasikan untuk paket peralatan penunjang proses sebanyak mungkin ke dalam memori.
11.2 Persyaratan Memory Management
a. Relokasi
Programmer tidak tahu di mana program ini akan ditempatkan di memori ketika dieksekusi. Sementara program mengeksekusi, dapat bertukar ke disk dan kembali ke memori utama di lokasi yang berbeda (pindah). Referensi memori harus diterjemahkan dalam kode untuk alamat memori yang sebenarnya fisik.
b. Perlindungan
Proses seharusnya tidak dapat referensi lokasi memori proses lain tanpa izin. Mustahil untuk cek alamat mutlak dalam program sejak program ini dapat direlokasi .Harus diperiksa selama eksekusi .Sistem operasi tidak dapat mengantisipasi semua memori referensi program yang akan dibuat.
c. Berbagi
Memungkinkan beberapa proses untuk mengakses bagian yang sama dari memori. Lebih baik untuk memungkinkan setiap proses (orang) akses ke salinan yang sama dari program daripada memiliki salinan mereka sendiri terpisah.
d. Organisasi logis
Program yang ditulis dalam modul. Modul dapat ditulis dan disusun secara independen. Tingkat perlindungan yang berbeda yang diberikan kepada modul (read-only, jalankan saja).
e. Organisasi fisik
Memori yang tersedia untuk program plus data mungkin tidak cukup .Overlay memungkinkan berbagai modul yang akan ditugaskan daerah yang sama dari memori. Programmer tidak tahu berapa banyak ruang akan tersedia
11.3 Alamat
Ada 3 jenis alamat yang sering kita kenal, yaitu:
logis ->referensi ke lokasi memori independen dari tugas saat data ke memori terjemahan harus dilakukan ke alamat fisik.
relatif ->Alamat dinyatakan sebagai lokasi relatif terhadap beberapa titik yang diketahui.
fisik -> alamat absolut atau lokasi yang sebenarnya di memori utama.
11.4 Multiprogramming with fixed partition
a. Partisi memori tetap
Antrian input terpisah untuk setiap partisi, antrian input tunggal.
b. Beberapa antrian masukan.
Ketika pekerjaan tiba, dapat dimasukkan ke dalam antrian masukan untuk partisi terkecil yang cukup besar untuk menampung itu. Setiap ruang di partisi tidak digunakan oleh pekerjaan hilang. Antrian untuk partisi besar kosong tapi antrian untuk partisi kecil penuh.
c. Antrian input tunggal
Setiap kali sebuah partisi menjadi bebas, pekerjaan yang paling dekat dengan depan antrian yang cocok di dalamnya dapat dimuat. Mungkin membuang partisi yang besar pada pekerjaan kecil atau mencari antrian seluruh masukan setiap kali partisi menjadi bebas dan memilih pekerjaan terbesar yang cocok. Mendiskriminasikan pekerjaan kecil, sedangkan pekerjaan terkecil akan mendapatkan pelayanan yang terbaik
solusi:
Memiliki partisi setidaknya kecil. Pekerjaan tidak dapat dilewati untuk k kali.
11.5 Manajemen memori dengan bit
Bagian dari memori dengan 5 proses, 3 lubang tanda centang menunjukkan unit alokasi daerah yang diarsir bebas
Sesuai peta bit Informasi yang sama sebagai daftar
11.6 Memory Allocation Algorithm
1.First Fit
tercepat, Mungkin memiliki banyak proses dimuat di ujung depan memori yang harus dicari lebih ketika mencoba untuk menemukan blok gratis.
2.Next Fit
3.Best Fit
Memilih blok yang terdekat dengan ukuran permintaan. Pemain terburuk keseluruhan. Sejak blok terkecil ditemukan untuk proses, jumlah terkecil fragmentasi pemadatan memori kiri harus dilakukan lebih sering.
4.Worst Fit
5.Quick Fit
6.Buddy
System
Seluruh tersedia ruang diperlakukan sebagai satu blok 2U.Jika permintaan dari ukuran s sehingga 2U-1 <s <= 2U, seluruh blok dialokasikan .Jika tidak block dibagi menjadi dua teman yang sama. Proses berlanjut sampai blok besar terkecil dari atau sama dengan s dihasilkan.
Session 9-10 (Deadlock)
9.1 Deadlock
Deadlock sendiri dapat kita artikan sebagai beberapa proses yang merebutkan resource(hardisk atau printer dll) yang sama.
Deadlock sendiri dapat kita artikan sebagai beberapa proses yang merebutkan resource(hardisk atau printer dll) yang sama.
Gambar a menjelaskan kondisi dimana deadlock belum terjadi.
Gambar b menjelaskan kondisi dimana deadlock telah terjadi yang mengakibatkan seluruh mobil tidak dapat bergerak.
9.2 Kondisi Terjadinya Deadlock
Ada 4 kondisi yang dapat memungkinkan terjadinya deadlock, yaitu :
a. Mutual Exclusion
-> Kondisi Mutual Exclusion sendiri sebenarnya merugikan banyak proses karena Mutual Exclusion sendiri hanya 1 proses yang dapat menggunakan resource, sedangkan yang lain tidak.
b. Hold and Wait
-> Kondisi Hold and Wait sendiri memiliki keunikan, yaitu kondisi dimana 1 proses akan menggunakan resource, tetapi proses akan menahan resources tersebut sampai menemukan proses lain yang ingin menggunakan.
c. No Preemption
-> Kondisi No Preemption, ketika suatu proses menggunakan resource, proses tersebut tidak akan mau melepaskan ke proses lain sampai proses tersebut rela untuk melepaskan resourcenya.
d. Circular Wait
-> Kondisi Circular Wait, dimana proses B menunggu proses A, proses C menunggu proses B dan seterusnya.
9.3 Strategi untuk Menangani Deadlock
Strategi untuk menangani Deadlock :
a. Abaikan masalah (Ostrich algorithm)
b. Biarkan deadlock terjadi, lalu deteksi dan ambil tindakan untuk menanganinya
c. Dinamis menghindari dengan hati-hati alokasi sumber daya.
d. Pencegahan, oleh secara terstuktur meniadakan satu dari empat kondisi yang diperlukan.
9.4 Cara Menghindari Deadlock.
a. Mutual Exclusion
-> Pencegahan Mutual Exclusion adalah dengan cara membuat proses lainnya hanya dapat membaca resource yang sedang dijalankan oleh proses lain, dan proses tersebut tidak dapat menulis atau mengedit.
b. Hold and Wait
-> Pencegahan Hold and Wait adalah dengan cara harus menjamin ketika proses telah meminta resource, proses tersebut tidak boleh menggunakan resource lain.
c. No Preemption
-> Pencegahan No Preemption adalah dengan cara kita harus mempertimbangkan kapan proses tersebut menggunakan suatu resource dan kapan harus menggantinya.
d. Circular Wait
-> Pencegahan Circular Wait adalah dengan cara kita harus memberika prioritas nomor kepada proses yang ingin menggunakan suatu resource.
9.5 Starvation
Algoritma untuk mengalokasikan sumber daya mungkin untuk memberikan pekerjaan terpendek pertama Karya besar untuk beberapa pekerjaan singkat dalam suatu sistem
Dapat menyebabkan pekerjaan lama untuk ditunda tanpa batas waktu meskipun tidak diblokir
solusi:
Pertama datang, yang pertama dilayani kebijakan
Session 7-8 (Concurrency)
7.1 Concurrency
Komunikasi antar proses berbagi sumber daya, Sinkronisasi beberapa proses, Alokasi waktu prosesor
7.2 Masalah Saat Concurrency
a.. Berbagi sumber daya global
b. Pengelolaan alokasi sumber daya
c. Pemrograman kesalahan sulit untuk menemukan
Contoh :
7.3 O/S Concern
a. Melacak proses yang aktif
b. Mengalokasikan dan DEALLOCATE sumber
waktu prosesor
ingatan
arsip
I / O
c. Melindungi data dan sumber
d Hasil proses harus independen dari kecepatan eksekusi proses konkuren lainnya
7.4 Kerjasama antara Proses
a. Dengan Berbagi
-> Menulis harus saling eksklusif
-> Bagian penting yang digunakan untuk menyediakan integritas data
b. Dengan Komunikasi
->Pesan yang melewati
->Mutual exclusion bukan persyaratan kontrol
->Mungkin untuk memiliki kebuntuan
->Setiap proses menunggu pesan dari proses lainnya
->.Mungkin untuk memiliki kelaparan
->Dua proses mengirim pesan satu sama lain sementara proses lain menunggu pesan
7.5 Mutual Exclusion by Busy Waiting
a. Menonaktifkan interupsi
b. Variabel kunci
c. Pergantian ketat
d. Solusi Peterson
e. Instruksi TSL
7.6 Semaphore
Variabel khusus yang disebut semaphore digunakan untuk sinyal. Jika suatu proses menunggu sinyal, itu ditangguhkan sampai sinyal yang dikirimkan. Tunggu dan operasi sinyal tidak dapat terganggu
Antrian digunakan untuk menyimpan proses menunggu di semaphore. Semaphore adalah variabel yang memiliki nilai integer. Mungkin diinisialisasi ke nomor nonnegatif. Operasi menunggu decrements nilai semaphore. Operasi sinyal increment nilai semaphore
7.7 Masalah klasik IPC
Dining Philosopher’s Problem :
8.1 Monitors
Pemrograman konstruksi bahasa yang mendukung akses dikendalikan ke data bersama
Compiler menambahkan sinkronisasi otomatis
Ditegakkan saat runtime merangkum. Struktur data bersama
Prosedur / fungsi yang beroperasi pada data. Sinkronisasi antara proses memanggil prosedur tersebut. Hanya satu proses aktif dalam monitor pada setiap saat
Semua prosedur merupakan bagian dari bagian kritis
Untuk memungkinkan proses untuk menunggu di dalam monitor, variabel kondisi harus dinyatakan, sebagai
Kondisi x;
Variabel kondisi hanya dapat digunakan dengan operasi menunggu dan sinyal.
operasi
menunggu (x);? berarti bahwa proses memohon operasi ini ditunda sampai memanggil proses lain
sinyal (x);
Operasi sinyal resume tepat satu proses ditangguhkan. Jika tidak ada proses ditunda, maka operasi sinyal tidak berpengaruh.
8.2 Message Passing
Mengkomunikasikan informasi dari satu proses lain melalui: -mengirim (dest, & pesan)
menerima (sumber, & pesan).
Penerima dapat menentukan APAPUN. Receiver dapat memilih untuk memblokir atau tidak
Berlaku untuk single dan multi-processor dan sistem terdistribusi. Pre-tanggal Semaphore
Tidak memerlukan ruang alamat bersama!
a. kirim () operasi
sinkronis
Pengembalian setelah data dikirim
Blok jika buffer penuh
asynchronous
Pengembalian secepat I / O mulai
Selesai?
cek eksplisit
Sinyal atau pengakuan
Blok jika buffer penuh (mungkin)
b. menerima () operasi
sinkronis
Pengembalian jika ada pesan
Blok jika tidak
asynchronous
Pengembalian pesan 1 jika ada satu
Pengembalian indikasi jika ada pesan
Komunikasi tidak langsung - kotak surat. Pesan akan dikirim ke daerah bernama - kotak.
Proses membaca pesan dari kotak surat. Mailbox harus diciptakan dan dikelola. Blok pengirim jika kotak penuh. Memungkinkan banyak-banyak komunikasi
Dalam satu mesin dan di antara mesin
MACH (CMU)
GEC 4080 (British telpehoneexchanges )
8.3 Message passing Issues
a. Pesan orak (checksum)
b. Pesan hilang (pengakuan)
c. Kehilangan pengakuan (urutan no.)
d. Tujuan unreachable (bawah, berakhir)
e. penamaan
f. pembuktian keaslian
g. Kinerja (menyalin, bangunan pesan)
www.binus.ac.id
www.skyconnectiva.com
Komunikasi antar proses berbagi sumber daya, Sinkronisasi beberapa proses, Alokasi waktu prosesor
7.2 Masalah Saat Concurrency
a.. Berbagi sumber daya global
b. Pengelolaan alokasi sumber daya
c. Pemrograman kesalahan sulit untuk menemukan
Contoh :
void
echo()
{
chin = getchar();
chout
= chin;
putchar(chout);
}
Process
P1 Process P2
in
= getchar(); in = getchar();
chout
= chin; chout
= chin;
putchar(chout); putchar(chout); 7.3 O/S Concern
a. Melacak proses yang aktif
b. Mengalokasikan dan DEALLOCATE sumber
waktu prosesor
ingatan
arsip
I / O
c. Melindungi data dan sumber
d Hasil proses harus independen dari kecepatan eksekusi proses konkuren lainnya
7.4 Kerjasama antara Proses
a. Dengan Berbagi
-> Menulis harus saling eksklusif
-> Bagian penting yang digunakan untuk menyediakan integritas data
b. Dengan Komunikasi
->Pesan yang melewati
->Mutual exclusion bukan persyaratan kontrol
->Mungkin untuk memiliki kebuntuan
->Setiap proses menunggu pesan dari proses lainnya
->.Mungkin untuk memiliki kelaparan
->Dua proses mengirim pesan satu sama lain sementara proses lain menunggu pesan
7.5 Mutual Exclusion by Busy Waiting
a. Menonaktifkan interupsi
b. Variabel kunci
c. Pergantian ketat
d. Solusi Peterson
e. Instruksi TSL
7.6 Semaphore
Variabel khusus yang disebut semaphore digunakan untuk sinyal. Jika suatu proses menunggu sinyal, itu ditangguhkan sampai sinyal yang dikirimkan. Tunggu dan operasi sinyal tidak dapat terganggu
Antrian digunakan untuk menyimpan proses menunggu di semaphore. Semaphore adalah variabel yang memiliki nilai integer. Mungkin diinisialisasi ke nomor nonnegatif. Operasi menunggu decrements nilai semaphore. Operasi sinyal increment nilai semaphore
7.7 Masalah klasik IPC
Dining Philosopher’s Problem :
a. Philosophers eat/think
b. Eating needs 2 forks
c. Pick one fork at a time
d. How to prevent deadlock
8.1 Monitors
Pemrograman konstruksi bahasa yang mendukung akses dikendalikan ke data bersama
Compiler menambahkan sinkronisasi otomatis
Ditegakkan saat runtime merangkum. Struktur data bersama
Prosedur / fungsi yang beroperasi pada data. Sinkronisasi antara proses memanggil prosedur tersebut. Hanya satu proses aktif dalam monitor pada setiap saat
Semua prosedur merupakan bagian dari bagian kritis
Untuk memungkinkan proses untuk menunggu di dalam monitor, variabel kondisi harus dinyatakan, sebagai
Kondisi x;
Variabel kondisi hanya dapat digunakan dengan operasi menunggu dan sinyal.
operasi
menunggu (x);? berarti bahwa proses memohon operasi ini ditunda sampai memanggil proses lain
sinyal (x);
Operasi sinyal resume tepat satu proses ditangguhkan. Jika tidak ada proses ditunda, maka operasi sinyal tidak berpengaruh.
8.2 Message Passing
Mengkomunikasikan informasi dari satu proses lain melalui: -mengirim (dest, & pesan)
menerima (sumber, & pesan).
Penerima dapat menentukan APAPUN. Receiver dapat memilih untuk memblokir atau tidak
Berlaku untuk single dan multi-processor dan sistem terdistribusi. Pre-tanggal Semaphore
Tidak memerlukan ruang alamat bersama!
a. kirim () operasi
sinkronis
Pengembalian setelah data dikirim
Blok jika buffer penuh
asynchronous
Pengembalian secepat I / O mulai
Selesai?
cek eksplisit
Sinyal atau pengakuan
Blok jika buffer penuh (mungkin)
b. menerima () operasi
sinkronis
Pengembalian jika ada pesan
Blok jika tidak
asynchronous
Pengembalian pesan 1 jika ada satu
Pengembalian indikasi jika ada pesan
Komunikasi tidak langsung - kotak surat. Pesan akan dikirim ke daerah bernama - kotak.
Proses membaca pesan dari kotak surat. Mailbox harus diciptakan dan dikelola. Blok pengirim jika kotak penuh. Memungkinkan banyak-banyak komunikasi
Dalam satu mesin dan di antara mesin
MACH (CMU)
GEC 4080 (British telpehoneexchanges )
8.3 Message passing Issues
a. Pesan orak (checksum)
b. Pesan hilang (pengakuan)
c. Kehilangan pengakuan (urutan no.)
d. Tujuan unreachable (bawah, berakhir)
e. penamaan
f. pembuktian keaslian
g. Kinerja (menyalin, bangunan pesan)
www.binus.ac.id
www.skyconnectiva.com
Session 4-6 (Process and Threads)
4.1 Process Model
a. Multiprogramming of four programs.
b. Conceptual model of four independent, sequential processes.
c. Only one program is active at once.
a. Multiprogramming of four programs.
b. Conceptual model of four independent, sequential processes.
c. Only one program is active at once.
4.2 Process Creation
Event Event yang menyebabkan proses creation
a. Inisialisasi sistem.
b. Pelaksanaan sistem proses penciptaan panggilan dengan proses yang berjalan. (fork ())
c. Sebuah permintaan pengguna untuk membuat proses baru.
d. Inisiasi pekerjaan batch.
4.3 Process
Juga disebut tugas. Pelaksanaan program individu. Dapat ditelusuri daftar urutan instruksi yang mengeksekusi.
4.4 Suspended Process
Prosesor lebih cepat daripada I / O sehingga semua proses dapat menunggu I / O. Swap proses ini ke disk untuk membebaskan lebih banyak memori. Suatu state yang di blok menjadi state yang ditunda ketika bertukar ke disk.
Dua state baru : Diblokir,ditunda, dan Ready, ditunda
4.5 Process Table
Dimana proses terletak. Atribut yang diperlukan untuk manajemen proses ID state proses. Lokasi di memori.
4.6 Process Location
Proses mencakup set program yang akan dieksekusi. Lokasi data untuk variabel lokal dan global
Setiap konstanta didefinisikan tumpukan .Kontrol proses blok. Koleksi atribut gambar proses.
Koleksi program, data, stack, dan atribut.
4.7 Process Termination
a. Acara yang menyebabkan penghentian proses
b. Keluar normal (sukarela).
c. Kesalahan exit (sukarela).
d. Kesalahan fatal (disengaja).
e. Dibunuh oleh proses lain (disengaja).
Ketika program panggilan garpu, proses duplikat, yang disebut proses anak, yang dibuat
Proses induk terus melaksanakan program dari titik yang disebut garpu.
Proses anak juga, mengeksekusi program yang sama dari tempat yang sama garpu pid_t (void)
Pengembalian: 0 pada anak, proses ID anak di orangtua, -1 pada kesalahan
selesai biasa
Batas waktu terlampaui
memori tidak tersedia
pelanggaran Bounds
kesalahan perlindungan
Misalnya menulis untuk read-only file yang
kesalahan aritmatika
waktu overrun
Proses menunggu lebih lama dari maksimum yang ditentukan untuk sebuah acara
I / O gagal
instruksi tidak valid
terjadi ketika mencoba untuk mengeksekusi data
instruksi istimewa
penyalahgunaan Data
Intervensi sistem operasi
seperti ketika deadlock terjadi
Induk berakhir sehingga proses anak mengakhiri
permintaan orang tua
4.9 Alasan dari Proces Switch
clock interrupt
Proses telah dieksekusi untuk maksimum yang diijinkan irisan waktu
I / O interrupt
memori kesalahan
alamat memori di virtual memory sehingga harus dibawa ke memori utama
perangkap
kesalahan terjadi
dapat menyebabkan proses untuk pindah ke negara Keluar
pengawas panggilan
seperti file terbuka
4.10 Menggunakan System Call
a. Fork();
b. System();
c. Exec();
4.11 System
Mengeksekusi perintah dari dalam program
- Banyak sebagai jika perintah itu telah diketik ke shell
• Membuat sub proses menjalankan standar 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
4.12 Fork
Ketika program panggilan garpu, proses duplikat, yang disebut proses anak, yang dibuat
Proses induk terus melaksanakan program dari titik yang disebut garpu.
Proses anak juga, mengeksekusi program yang sama dari tempat yang sama garpu pid_t (void)
Pengembalian: 0 pada anak, proses ID anak di orangtua, -1 pada kesalahan
5.1 Threads
eksekusi state (saat sedang berjalan, siap, dll). Disimpan konteks thread ketika tidak berjalan
Memiliki eksekusi tumpukan. Beberapa penyimpanan statis per-benang untuk variabel lokal
Akses ke memori dan sumber daya dari proses yang semua thread dari sebuah proses berbagi ini
Thread memungkinkan beberapa eksekusi berlangsung dalam lingkungan proses yang sama
Ligthweight proses karena benang memiliki beberapa sifat dari proses
Multithreading memungkinkan beberapa thread dalam proses yang sama
Kolom pertama berisi beberapa item bersama oleh semua thread dalam proses. Yang kedua berisi beberapa item pribadi ke setiap thread.
5.2 Manfaat Thread
a. Waktu yang panjang untuk membuat thread baru dari suatu proses
b. Kurang waktu untuk mengakhiri thread dari proses
c. Kurang waktu untuk beralih di antara dua benang dalam proses yang sama
d. Sejak benang dalam memori yang sama berbagi proses dan file, mereka dapat berkomunikasi satu sama lain tanpa melibatkan kernel
e. lebih baik banyak thread dalam aplikasi
5.3 Implementasi Thread
USER SPACE
keuntungan:
a. Memungkinkan setiap proses untuk memiliki algoritma penjadwalan sendiri
b. Perfomance
kekurangan:
a. Pelaksanaan memblokir panggilan sistem
b. Tidak ada thread lain dapat berjalan kecuali thread pertama secara sukarela menyerahkan CPU
KERNEL SPACR
keuntungan:
Tidak membutuhkan panggilan sistem non-blocking baru
kekurangan:
biaya yang lebih besar untuk menciptakan dan destryoing benang
Multiplexing user-level thread ke thread tingkat kernel-
5.4 Pop Up Thread
Penciptaan thread baru ketika pesan tiba.
(a) Sebelum pesan tiba. (b) Setelah pesan tiba.
5.5 Hubungan Thread dengan Process
a. 1:1 -> 1 proces 1 thread
b. M:1 -> banyak thread 1 proces
c. 1:M -> 1 thread menjalankan banyak proces
d. M:N -> kombinasi ketiga diatas
6.1 Sifat Proces
a.Process-bound
b.I/O bound
6.2 CPU Scheduler
Memilih dari antara proses di memori yang siap untuk mengeksekusi, dan mengalokasikan CPU untuk salah satu dari mereka.
Keputusan penjadwalan CPU dapat terjadi ketika proses:
1. Saklar dari berjalan ke keadaan menunggu.
2. Switch dari berjalan ke keadaan siap.
3. Switch dari menunggu untuk siap.
4. Menghentikan.
Penjadwalan bawah 1 dan 4 adalah nonpreemptive.
Semua penjadwalan lainnya adalah preemptive.
6.3 Dispatcher
Modul Dispatcher memberikan kontrol CPU kepada proses yang dipilih oleh scheduler jangka pendek; ini melibatkan:
switching konteks
beralih ke mode pengguna
melompat ke lokasi yang tepat dalam program pengguna untuk me-restart program yang
Dispatch latency - waktu yang diperlukan untuk operator untuk menghentikan satu proses dan mulai berjalan lagi.
6.4 Scheduling Criteria
Utilisasi CPU - menjaga CPU sesibuk mungkin
Throughput - # dari proses yang menyelesaikan eksekusi per satuan waktu
Waktu Turnaround - jumlah waktu untuk mengeksekusi proses tertentu
Menunggu waktu - jumlah waktu proses telah menunggu dalam antrian siap
Response time - jumlah waktu yang dibutuhkan dari saat permintaan disampaikan sampai tanggapan pertama diproduksi, tidak keluaran (untuk lingkungan time-sharing)
6.5 Optimization Criteria
•Max
CPU utilization
•Max
throughput
•Min
turnaround time
•Min
waiting time
•Min
response time
6.6 Tujuan dari Scheduling
6.7 Batch Scheduling Algorithm
Siapa Cepat Dia Dapat
Proses ditugaskan CPU dalam urutan mereka memintanya
keuntungan:
Mudah dipahami dan mudah program
kerugian:
Pekerjaan singkat mungkin menunggu terlalu lama jika pekerjaan lama di depan itu
Process Burst Time
P1 24
P2 3
P3 3
•Suppose that the processes arrive in the order: P1 , P2 , P3 The Gantt Chart for the schedule is:
•Waiting
time for P1 =
0; P2 =
24; P3 = 27
Average waiting time: (0 + 24 + 27)/3 = 17
Penggabungan setiap proses panjang CPU burst berikutnya. Gunakan panjang ini untuk menjadwalkan proses dengan waktu terpendek.
Dua skema:
nonpreemptive - sekali CPU diberikan ke proses itu tidak dapat mendahului sampai selesai CPU burst.
preemptive - jika proses baru datang dengan panjang CPU burst lebih kecil dibandingkan saat proses eksekusi saat tersisa, mendahului. Skema ini dikenal sebagai? Shortest-Remaining-Time-First (SRTF).
SJF optimal - memberikan waktu tunggu rata-rata minimal untuk satu set proses.
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
•SJF (non-preemptive)
•Average waiting time = (0 + 6 + 3 + 7)/4
= 4
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
•SJF (preemptive)
•Average waiting time = (9 + 1 + 0 +2)/4 =
3
6.8 Interactive Scheduling Algorithm
•Round-robin
scheduling
•Priority
scheduling
•Multiple
queues
•Shortest
process next
•Guaranteed
scheduling
•Lottery
scheduling
•Fair-share
scheduling
Process Burst Time Arrival Time
P1 53 0
P2 17 20
P3 68 25
P4 24 30
•The
Gantt chart is:
P2 P1 P3 P4 P1 P3 P4 P3 P3
P1 P3 P4 P1 P3 P4 P3
P4 P1 P3 P4
Setiap proses diberikan prioritas, dan proses runnable dengan prioritas tertinggi yang diperbolehkan untuk berjalan
Scheduler dapat menurunkan prioritas proses yang sedang berjalan
Penjadwalan prioritas digunakan antara kelas dan penjadwalan round-robin dalam setiap kelas
6.9 Policy vs Mechanism
Pisahkan apa yang diperbolehkan untuk dilakukan dengan bagaimana hal itu dilakukan
proses tahu yang anak-anaknya benang yang penting dan perlu prioritas
Algoritma penjadwalan parameter
mekanisme di kernel
Parameter diisi oleh proses pengguna
kebijakan yang ditetapkan oleh proses pengguna
6.10 Thread Scheduling
(a) Kemungkinan penjadwalan thread user-level dengan proses kuantum 50-msec dan benang yang
berjalan 5 msec per CPU burst.
(b) Kemungkinan penjadwalan thread kernel-level dengan karakteristik yang sama seperti (a).
Langganan:
Postingan (Atom)