Deadlock
Pada pembahasan di atas telah dikenal suatu istilah yang populer pada bagian semaphores, yaitu deadlock. Secara sederhana deadlock dapat terjadi dan menjadi hal yang merugikan, jika pada suatu saat ada suatu proses yang memakai sumber daya dan ada proses lain yang menunggunya. Bagaimanakah deadlock itu yang sebenarnya? Bagaimanakah cara penanggulangannya?
Latar Belakang
Misalkan pada suatu komputer terdapat dua buah program, sebuah tape drive dan sebuah printer. Program A mengontrol tape drive, sementara program B mengontrol printer. Setelah beberapa saat, program A meminta printer, tapi printer masih digunakan. Berikutnya, B meminta tape drive, sedangkan A masih mengontrol tape drive. Dua program tersebut memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah. Kondisi inilah yang disebut Deadlock atau pada beberapa buku disebut Deadly Embrace
Deadlock yang mungkin dapat terjadi pada suatu proses disebabkan proses itu menunggu suatu kejadian tertentu yang tidak akan pernah terjadi. Dua atau lebih proses dikatakan berada dalam kondisi deadlock, bila setiap proses yang ada menunggu suatu kejadian yang hanya dapat dilakukan oleh proses lain dalam himpunan tersebut.
Terdapat kaitan antara overhead dari mekanisme koreksi dan manfaat dari koreksi deadlock itu sendiri. Pada beberapa kasus, overhead atau ongkos yang harus dibayar untuk membuat sistem bebas deadlock menjadi hal yang terlalu mahal dibandingkan jika mengabaikannya. Sementara pada kasus lain, seperti pada real-time process control, mengizinkan deadlock akan membuat sistem menjadi kacau dan membuat sistem tersebut tidak berguna.
Contoh berikut ini terjadi pada sebuah persimpangan jalan. Beberapa hal yang dapat membuat deadlock pada suatu persimpangan, yaitu:
*
Terdapat satu jalur pada jalan.
*
Mobil digambarkan sebagai proses yang sedang menuju sumber daya.
*
Untuk mengatasinya beberapa mobil harus preempt (mundur).
*
Sangat memungkinkan untuk terjadinya starvation (kondisi proses tak akan mendapatkan sumber daya).
Gambar 3-13. Persimpangan. Sumber: . . .
Resources-Allocation Graph
Sebuah cara visual (matematika) untuk menentukan apakah ada deadlock, atau kemungkinan terjadinya.
G = (V, E) Graf berisi node and edge. Node V terdiri dari proses-proses = {P1, P2, P3, ...} dan jenis resource. {R1, R2, ...} Edge E adalah (Pi, Rj) atau (Ri, Pj)
Sebuah panah dari process ke resource menandakan proses meminta resource. Sebuah panah dari resource ke process menunjukkan sebuah instance dari resource telah dtempatkan ke proses. Process adalah lingkaran, resource adalah kotak; titik-titik merepresentasikan jumlah instance dari resource Dalam tipe. Meminta poin-poin ke kotak, perintah datang dari titik.
Gambar 3-14. Graph. Sumber: . . .
Jika graf tidak berisi lingkaran, maka tidak ada proses yang deadlock.
Jika membentuk lingkaran, maka:
1.
jika tipe resource memiliki banyak instance, maka deadlock DAPAT ada.
Gambar 3-15. Non Deadlock. Sumber: . . .
2.
jika setiap tipe resource mempunyai satu instance, maka deadlock telah terjadi.
Gambar 3-16. Deadlock. Sumber: . . .
Model Sistem
Menurut Coffman dalam bukunya "Operating System" menyebutkan empat syarat bagi terjadinya deadlock, yaitu:
1.
Mutual Exclusion
Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu proses pada suatu waktu.
2.
Hold and Wait
Kondisi yang menyatakan proses-proses yang sedang memakai suatu sumber daya dapat meminta sumber daya yang lain.
3.
Non-pre-emptive
Kondisi dimana suatu sumber daya yang sedang berada pada suatu proses tidak dapat diambil secara paksa dari proses tersebut,sampai proses itu melepaskannya.
4.
Circular Wait
Kondisi yang menyatakan bahwa adanya rantai saling meminta sumber daya yang dimiliki oleh suatu proses oleh proses lainnya.
Strategi menghadapi Deadlock
Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu:
1.
Mengabaikan adanya deadlock.
2.
Memastikan bahwa deadlock tidak akan pernah ada, baik dengan metode Pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah terjadi. Metode Menghindari deadlock, yaitu mengizinkan empat kondisi deadlock, tetapi menghentikan setiap proses yang kemungkinan mencapai deadlock.
3.
Membiarkan deadlock untuk terjadi, pendekatan ini membutuhkan dua metode yang saling mendukung, yaitu:
*
Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi.
*
Pemulihan deadlock, mengembalikan kembali sumber daya yang dibutuhkan pada proses yang memintanya.
Dari penjabaran pendekatan diatas, terdapat empat metode untuk mengatasi deadlock yang akan terjadi, yaitu:
Strategi Ostrich
Pendekatan yang paling sederhana adalah dengan menggunakan strategi burung unta: masukkan kepala dalam pasir dan seolah-olah tidak pernah ada masalah sama sekali. Beragam pendapat muncul berkaitan dengan strategi ini. Menurut para ahli Matematika, cara ini sama sekali tidak dapat diterima dan semua keadaan deadlock harus ditangani. Sementara menurut para ahli Teknik, jika komputer lebih sering mengalami kerusakkan disebabkan oleh kegagalan hardware, error pada kompilator atau bugs pada sistem operasi. Maka ongkos yang dibayar untuk melakukan penanganan deadlock sangatlah besar dan lebih baik mengabaikan keadaan deadlock tersebut. Metode ini diterapkan pada sistem operasi UNIX dan MINIX.
Mencegah Deadlock
Metode ini merupakan metode yang paling sering digunakan. Metode Pencegahan dianggap sebagai solusi yang bersih dipandang dari sudut tercegahnya deadlock. Tetapi pencgahan akan mengakibatkan kinerja utilisasi sumber daya yang buruk.
Metode pencegahan menggunakan pendekatan dengan cara meniadakan empat syarat yang dapat menyebabkan deadlock terjadi pada saat eksekusi Coffman (1971).
Syarat pertama yang akan dapat ditiadakan adalah Mutual Exclusion, jika tidak ada sumber daya yang secara khusus diperuntukkan bagi suatu proses maka tidak akan pernah terjadi deadlock. Namun jika membiarkan ada dua atau lebih proses mengakses sebuah sumber daya yang sama akan menyebabkan chaos. Langkah yang digunakan adalah dengan spooling sumber daya, yaitu dengan mengantrikan job-job pada antrian dan akan dilayani satu-satu.
Beberapa masalah yang mungkin terjadi adalah:
1.
Tidak semua dapat di-spool, tabel proses sendiri tidak mungkin untuk di-spool
2.
Kompetisi pada ruang disk untuk spooling sendiri dapat mengarah pada deadlock
Hal inilah yang menyebabkan mengapa syarat pertama tidak dapat ditiadakan, jadi mutual exclusion benar-benar tidak dapat dihilangkan.
Cara kedua dengan meniadakan kondisi hold and wait terlihat lebih menjanjikan. Jika suatu proses yang sedang menggunakan sumber daya dapat dicegah agar tidak dapat menunggu sumber daya yang lain, maka deadlock dapat dicegah. Langkah yang digunakan adalah dengan membuat proses agar meminta sumber daya yang mereka butuhkan pada awal proses sehingga dapat dialokasikan sumber daya yang dibutuhkan. Namun jika terdapat sumber daya yang sedang terpakai maka proses tersebut tidak dapat memulai prosesnya.
Masalah yang mungkin terjadi:
1.
Sulitnya mengetahui berapa sumber daya yang dibutuhkan pada awal proses
2.
Tidak optimalnya pengunaan sumber daya jika ada sumber daya yang digunakan hanya beberapa waktu dan tidak digunakan tapi tetap dimiliki oleh suatu proses yang telah memintanya dari awal.
Meniadakan syarat ketiga non preemptive ternyata tidak lebih menjanjikan dari meniadakan syarat kedua, karena dengan meniadakan syarat ketiga maka suatu proses dapat dihentikan ditengah jalan. Hal ini tidak dimungkinkan karena hasil dari suatu proses yang dihentikan menjadi tidak baik.
Cara terakhir adalah dengan meniadakan syarat keempat circular wait. Terdapat dua pendekatan, yaitu:
1.
Mengatur agar setiap proses hanya dapat menggunakan sebuah sumber daya pada suatu waktu, jika menginginkan sumber daya lain maka sumber daya yang dimiliki harus dilepas.
2.
Membuat penomoran pada proses-proses yang mengakses sumber daya. Suatu proses dimungkinkan untuk dapat meminta sumber daya kapan pun, tetapi permintaannya harus dibuat terurut.
Masalah yang mungkin terjadi dengan mengatur bahwa setiap proses hanya dapat memiliki satu proses adalah bahwa tidak semua proses hanya membutuhkan satu sumber daya, untuk suatu proses yang kompleks dibutuhkan banyak sumber daya pada saat yang bersamaan. Sedangkan dengan penomoran masalah yang dihadapi adalah tidak terdapatnya suatu penomoran yang dapat memuaskan semua pihak.
Secara ringkas pendekatan yang digunakan pada metode pencegahan deadlock dan masalah-masalah yang menghambatnya, terangkum dalam tabel dibawah ini.
Tabel 3-1. Tabel Deadlock
Syarat Langkah Kelemahan
Mutual Exclusion Spooling sumber daya Dapat menyebabkan chaos
Hold and Wait Meminta sumber daya di awal Sulit memperkirakan di awal dan tidak optimal
No Pre-emptive Mengambil sumber daya di tengah proses Hasil proses tidak akan baik
Circular Wait Penomoran permintaan sumber daya Tidak ada penomoran yang memuaskan semua pihak
Menghindari Deadlock
Pendekatan metode ini adalah dengan hanya memberi kesempatan ke permintaan sumber daya yang tidak mungkin akan menyebabkan deadlock. Metode ini memeriksa dampak pemberian akses pada suatu proses, jika pemberian akses tidak mungkin menuju kepada deadlock, maka sumber daya akan diberikan pada proses yang meminta. Jika tidak aman, proses yang meminta akan di-suspend sampai suatu waktu permintaannya aman untuk diberikan. Kondisi ini terjadi ketika setelah sumber daya yang sebelumnya dipegang oleh proses lain telah dilepaskan.
Kondisi aman yang dimaksudkan selanjutnya disebut sebagai safe-state, sedangkan keadaan yang tidak memungkinkan untuk diberikan sumber daya yang diminta disebut unsafe-state.
Kondisi Aman (Safe state)
Suatu keadaan dapat dinyatakan sebagai safe state jika tidak terjadi deadlock dan terdapat cara untuk memenuhi semua permintaan sumber daya yang ditunda tanpa menghasilkan deadlock. Dengan cara mengikuti urutan tertentu.
Kondisi Tak Aman (Unsafe state)
Suatu state dinyatakan sebagai state tak selamat (unsafe state) jika tidak terdapat cara untuk memenuhi semua permintaaan yang saat ini ditunda dengan menjalankan proses-proses dengan suatu urutan.
Gambar 3-17. Safe. Sumber: . . .
Algoritma Bankir
Algoritma penjadualan ini diungkapkan oleh Dijkstra (1965) lebih dikenal dengan nama Algoritma Bankir. Model ini menggunakan suatu kota kecil sebagai percontohan dengan suatu bank sebagai sistem operasi, pinjaman sebagai sumber daya dan peminjam sebagai proses yang membutuhkan sumber daya. Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya.
Beberapa kelemahan algoritma Bankir Tanenbaum (1992), Stallings (1995) dan Deitel (1990) adalah sebagai berikut:
1.
Sulit untuk mengetahui seluruh sumber daya yang dibutuhkan proses pada awal eksekusi.
2.
Jumlah proses yang tidak tetap dan berubah-ubah.
3.
Sumber daya yang tadinya tersedia dapat saja menjadi tidak tersedia kembali.
4.
Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi antar proses.
5.
Algoritma ini menghendaki memberikan semua permintaan selama waktu yang berhingga.
Mendeteksi Deadlock dan Memulihkan Deadlock
Metode ini mengunakan pendekatan dengan teknik untuk menentukan apakah deadlock sedang terjadi serta proses-proses dan sumber daya yang terlibat dalam deadlock tersebut. Setelah kondisi deadlock dapat dideteksi, maka langkah pemulihan dari kondisi deadlock dapat segera dilakukan. Langkah pemulihan tersebut adalah dengan memperoleh sumber daya yang diperlukan oleh proses-proses yang membutuhkannya. Beberapa cara digunakan untuk mendapatkan sumber daya yang diperlukan, yaitu dengan terminasi proses dan pre-emption (mundur) suatu proses. Metode ini banyak digunakan pada komputer mainframe berukuran besar.
Terminasi Proses
Metode ini akan menghapus proses-proses yang terlibat pada kondisi deadlock dengan mengacu pada beberapa syarat. Beberapa syarat yang termasuk dalam metode ini adalah, sebagai berikut:
*
Menghapus semua proses yang terlibat dalam kondisi deadlock (solusi ini terlalu mahal).
*
Menghapus satu persatu proses yang terlibat, sampai kondisi deadlock dapat diatasi (memakan banyak waktu).
*
Menghapus proses berdasarkan prioritas, waktu eksekusi, waktu untuk selesai, dan kedalaman dari rollback.
Resources Preemption
Metode ini lebih menekankan kepada bagaimana menghambat suatu proses dan sumber daya, agar tidak terjebak pada unsafe condition.
Beberapa langkahnya, yaitu:
*
Pilih salah satu - proses dan sumber daya yang akan di-preempt.
*
Rollback ke safe state yang sebelumnya telah terjadi.
*
Mencegah suatu proses agar tidak terjebak pada starvation karena metode ini
*
Kesimpulan
Untuk mengatasi problem critical section dapat digunakan berbagai solusi software. Namun masalah yang akan timbul dengan solusi software adalah solusi software tidak mampu menangani masalah yang lebih berat dari critical section. Tetapi Semaphores mampu menanganinya, terlebih jika hardware yang digunakan mendukung maka akan memudahkan dalam menghadapi problem sinkronisasi.
Berbagai contoh klasik problem sinkronisasi berguna untuk mengecek setiap skema baru sinkronisasi. Monitor termasuk ke dalam level tertinggi mekanisme sinkronisasi yang berguna untuk mengkoordinir aktivitas dari banyak thread ketika mengakses data melalui pernyataan yang telah disinkronisasi
Kondisi deadlock akan dapat terjadi jika terdapat dua atau lebih proses yang akan mengakses sumber daya yang sedang dipakai oleh proses yang lainnya. Pendekatan untuk mengatasi deadlock dipakai tiga buah pendekatan, yaitu:
*
Memastikan bahwa tidak pernah dicapai kondisi deadlock
*
Membiarkan deadlock untuk terjadi dan memulihkannya
*
Mengabaikan apa pun deadlock yang terjadi
Dari ketiga pendekatan diatas, dapat diturunkan menjadi empat buah metode untuk mengatasi deadlock, yaitu:
*
Pencegahan deadlock
*
Menghindari deadlock
*
Mendeteksi deadlock
*
Pemulihan deadlock
Namun pada sebagian besar Sistem Operasi dewasa ini mereka lebih condong menggunakan pendekatan untuk mengabaikan semua deadlock yang terjadi
Silberschatz (1994) merumuskan sebuah strategi penanggulangan deadlock terpadu yang dapat disesuaikan dengan kondisi dan situasi yang berbeda, strateginya sendiri berbunyi:
1.
Kelompokkan sumber daya kedalam kelas yang berbeda
2.
Gunakan strategi pengurutan linear untuk mencegah kondisi circular waityang nantinya akan mencegah deadlock diantara kelas sumber daya
3.
Gunakan algoritma yang paling cocok untuk suatu kelas sumber daya yang berbeda satu dengan yang lain
Selasa, 26 Mei 2009
Senin, 04 Mei 2009
ROUND ROBIN
Algoritma Round Robin (RR) dirancang untuk sistem time sharing. Algoritma ini mirip dengan penjadual FCFS, namun preemption ditambahkan untuk switch antara proses. Antrian ready diperlakukan atau dianggap sebagai antrian sirkular. CPU menglilingi antrian ready dan mengalokasikan masing-masing proses untuk interval waktu tertentu sampai satu time slice/ quantum.
Berikut algritma untuk penjadual Round Robin:
• Setiap proses mendapat jatah waktu CPU (time slice/ quantum) tertentu Time slice/quantum umumnya antara 10 - 100 milidetik.
1. Setelah time slice/ quantum maka proses akan di-preempt dan dipindahkan ke antrian ready.
2. Proses ini adil dan sangat sederhana.
• Jika terdapat n proses di "antrian ready" dan waktu quantum q (milidetik), maka:
1. Maka setiap proses akan mendapatkan 1/n dari waktu CPU.
2. Proses tidak akan menunggu lebih lama dari: (n-1)q time units.
• Kinerja dari algoritma ini tergantung dari ukuran time quantum
1. Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS
2. Time Quantum dengan ukuran yang kecil maka time quantum harus diubah ukurannya lebih besar dengan respek pada alih konteks sebaliknya akan memerlukan ongkos yang besar.
Gambar 2-38. Round Robin. Sumber: . . .
Tipikal: lebih lama waktu rata-rata turnaround dibandingkan SJF, tapi mempunyai response terhadap user lebih cepat.
Time Quantum Vs Alih Konteks
Gambar 2-39. Time Quantum dan Alih Konteks. Sumber: . . .
________________________________________
Berikut algritma untuk penjadual Round Robin:
• Setiap proses mendapat jatah waktu CPU (time slice/ quantum) tertentu Time slice/quantum umumnya antara 10 - 100 milidetik.
1. Setelah time slice/ quantum maka proses akan di-preempt dan dipindahkan ke antrian ready.
2. Proses ini adil dan sangat sederhana.
• Jika terdapat n proses di "antrian ready" dan waktu quantum q (milidetik), maka:
1. Maka setiap proses akan mendapatkan 1/n dari waktu CPU.
2. Proses tidak akan menunggu lebih lama dari: (n-1)q time units.
• Kinerja dari algoritma ini tergantung dari ukuran time quantum
1. Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS
2. Time Quantum dengan ukuran yang kecil maka time quantum harus diubah ukurannya lebih besar dengan respek pada alih konteks sebaliknya akan memerlukan ongkos yang besar.
Gambar 2-38. Round Robin. Sumber: . . .
Tipikal: lebih lama waktu rata-rata turnaround dibandingkan SJF, tapi mempunyai response terhadap user lebih cepat.
Time Quantum Vs Alih Konteks
Gambar 2-39. Time Quantum dan Alih Konteks. Sumber: . . .
________________________________________
Senin, 13 April 2009
CARA MENGINSTAL LINUX
Program Counter
Program, atau PC (disebut juga pointer instruksi , atau instruksi mendaftarkan alamat , atau hanya bagian dari instruksi sequencer di beberapa komputer) adalah daftar prosesor yang menunjukkan tempat komputer ini dalam urutan instruksi. Tergantung pada rincian tertentu komputer, PC memegang baik alamat instruksi yang sedang dijalankan, atau alamat instruksi berikutnya yang akan dijalankan.
Dalam kebanyakan prosesor, yang merupakan instruksi pointer incremented secara otomatis setelah mengambil sebuah program pengajaran, sehingga petunjuk biasanya diambil dan memori secara berurutan, dengan instruksi tertentu, seperti kantor cabang, melompat dan subroutine panggilan dan kembali, interrupting urutan dengan menempatkan nilai baru dalam program counter.
Melompat
seperti petunjuk membolehkan alamat baru yang akan dipilih sebagai awal
dari sebelah bagian dari aliran instruksi dari memori. Mereka membolehkan nilai baru yang akan diambil (tertulis) ke dalam program counter mendaftar. J subroutine panggilan yang dicapai cukup lama dengan membaca isi dari program counter, sebelum mereka ditimpa oleh nilai baru, dan disimpan di suatu tempat lain dalam memori atau mendaftar. J subroutine kembali kemudian menulis dicapai oleh nilai yang disimpan kembali ke dalam program counter lagi.
Di pusat pengolahan unit (CPU) dari komputer yang sederhana berisi hardware (unit kontrol dan upacara ucapan alu) yang melaksanakan petunjuk tersebut, seperti yang diambil dari memori unit.
Sebagian besar instruksi siklus [4] terdiri dari CPU mengirim alamat pada bus alamat, ke memori unit, yang kemudian merespon dengan mengirimkan isi dari lokasi memori yang meliputi data, pada data bus. (Hal ini sangat sibuk dengan ide yang disimpan-program komputer yang dieksekusi dalam petunjuk disimpan di samping biasa data dalam memori unit, dan oleh itu sama dengan [5]).
PC hanyalah satu dari sekian banyak mendaftar di hardware dari CPU. Itu, seperti masing-masing register lainnya, terdiri dari bank dari biner latches (a binary memalangi juga dikenal sebagai tiba-tiba), dengan satu flip-flop bit per dalam integer yang akan disimpan [6] (32 untuk 32-bit CPU, misalnya). Dalam hal PC, yang merupakan integer alamat dalam memori unit yang akan diambil berikutnya.
Setelah data (dengan instruksi) telah diterima pada data bus, PC adalah incremented. Dalam beberapa CPU ini dicapai dengan menambahkan 000 .. 001 ke isinya, dan hasilnya menjadi latching register harus isi yang baru, pada kebanyakan CPU, though, PC diimplementasikan sebagai register yang internal kabel sehingga dianggap sampai ke nilai berikutnya ketika sinyal tertentu akan diterapkan ke luar Seperti mendaftar, dalam elektronik, yang disebut sebagai binary counter, dan dengan itu asal istilah program counter.
Keberadaan program counter dalam CPU telah mencapai jauh konsekuensi pada cara kita berpikir ketika kita program komputer, dan memang program counter (atau setara blok perangkat keras yang melayani tujuan yang sama [8]) sangat pusat ke arsitektur von Neumann.
membebankan ketat sequencial memesan pada mengambil dari instruksi dari memori unit (yang aliran kontrol), bahkan di mana tidak ada sequenciality ini diterapkan oleh algoritma itu sendiri (yang von Neumann kemacetan). Hal ini mungkin mengapa penelitian menjadi model untuk komputasi paralel dianggap [9], pada satu titik, tidak lain von Neumann atau dataflow model yang tidak menggunakan program counter. Misalnya, pemrograman fungsional bahasa yang berharap banyak pada tingkat tinggi, dengan combinatory logika di tingkat assembler. Bahkan kemudian, sebagian besar peneliti ini emulated di microcode konvensional komputer (karenanya masih melibatkan sebuah program counter dalam hardware), tetapi, sebenarnya, combinators sangat sederhana, mereka bisa, pada prinsipnya dilaksanakan secara langsung pada perangkat keras tanpa kembali ke microcode counter atau program sama sekali.
hasil penelitian yang makan kembali, sebaliknya, menjadi cara untuk meningkatkan pelaksanaan kecepatan prosesor konvensional. Cara yang ditemukan untuk mengorganisir di luar aturan pelaksanaan, sehingga untuk mendapatkan informasi yang sequencing yang tersirat dalam data. Selain itu, pipa dan sangat panjang instruksi kata organisasi diizinkan compiler untuk mengatur beberapa perhitungan yang akan berangkat bersama. Pada awal setiap instruksi pelaksanaan, tetapi, instruksi yang harus diambil dari memori, dan ini dimulai oleh sebuah instruksi fetch siklus yang picks alamat, satu per satu, dari program counter.
Bahkan bahasa pemrograman tingkat tinggi yang memiliki program-counter konsep berurat berakar mendalam dalam perilaku mereka. Anda hanya perlu untuk melihat bagaimana programmer debugs atau mengembangkan program komputer untuk melihat bukti ini, dengan pemrogram menggunakan jari untuk menunjuk ke baris berturut-turut dalam program untuk model langkah-langkah pelaksanaannya. Memang, sebuah bahasa pemrograman tingkat tinggi yang tidak kurang daripada assembler bahasa tinggi mesin virtual [10] - sebuah komputer yang akan terlalu rumit untuk biaya-efektif untuk membangun secara langsung dalam perangkat keras, sehingga adalah melaksanakan, bukan menggunakan beberapa kerang dari pertandingan (dengan compiler atau interpreter menyediakan lebih tinggi, dan microcode menyediakan tingkat bawah).
cara menginstal linux
Cara menginstal Linux Ubuntu . Sebagai catatan harddisk yang digunakan adalah 10Gb (belum di partisi) memory 256MB, Prosesor Intel P4 2.4GHz dan proses penginstallasian ini menggunakan VMware Workstation.
Sebelum meng-install Ubuntu pada BIOS harus di set Boot Device Priority-nya dulu, dalam menginstall Ubuntu Boot Device Priority harus di arahkan ke CDROM. Untuk masuk ke BIOS tiap Motherboard mempunyai standart sendiri. Namun sebagian besar tinggal menekan tombol delete atau F2. Ketika membooting pertama kali tekan F2 atau del untuk masuk BIOS, anda harus menekan nya dengan cepat, sebab bila tidak komputer akan masuk ke OS di hardisk. Kemudian simpan konfigurasinya dan Kemudian reboot ulang.
Mulai menginstal Pilih Start or Install, kita bisa menjalankan lewat Ubuntu Live-CD. Di LiveCd kita dapat menjajal kemampuan Ubuntu tanpa harus menginstall ke harddisk, pada saat ini anda dapat menulis dokumen, berinternetan, layaknya anada sudah menginstall ke Harddisk. Dan perlu diingat bahwasanya ini hanya bersifat readonly yang berarti semua dokumen yang di simpan di /home hanya lah sementara dan akan hilang jika di reboot. Kita asumsikan anda mempunyai hardisk baru 10 GB belum di partisi dan akan di install Ubuntu.
Langkah selanjutnya kita harus mempartisi harddisk dulu, klik System>Administration>Gnome Karena kita akan membuat partisi baru maka klik kanan di area hitam muda kemudian Kilk create, kemudian tunggu kalo sudah Kilk kanan di area hitam muda lagi Dan jangan lupa kita harus menentukan berapa mesar partisi yang digunakan. Di sini saya mempunyai harddisk 10 GB dengan di partisi 2 yaitu 8,7 GB untuk ext3 dan sisanya untuk swap. Kilk add bila kita sudah mengkonfigurasinya. Setelah kita mengeklik add maka akan muncul warna biru pada areal hitam muda, kalo masih adanya ruang sisa maka kilk kanan lagi pilh new. Kemudian klik add, (linux minimal membutuhkan partisi swap dan root) setelah itu bila kita ingin melakukan tindakan pemartisi hardisk yang telah di lakukan tadi maka klik apply Kilk aplly lagi, kmudian tunggu loadingnya.
Setelah proses pemartisian harddisk selesai kemudian Klik close. Untuk langsung menginstallnya kita dapat mengeklik icon INSTALL di Desktop dan tunggu loadingnya kemudian kita disuruh untuk menentukan bahasa yang akan kita gunakan, bila menghendaki bahasa Indonesia bisa memilih Bahasa Indonesia. Kemudian klik Fordward. Di sini kita akan menunjukkan di mana kita berada, karena dengan menunjukkan dimana kita berada system Ubuntu akan menyetel Format waktu GMT di sini saya menggunakan jakarta, bila sudah selesai kilk fordward. Kemudian kita menentukan Jenis Keyboard yang akanj kita gunakan, di Indonesia kebanyakan menggunakan American English, kemudian klik Fordward. Tampilan ini di maksudkan untuk mengisikan identitas kita perlu di ingat saat mengisi username huruf yang digunakan harus kecil semua dan tidak boleh ada spasi, hal yang sama saat kita mengisi nama komputer kita. Kemudian klik Fordward
Ada dua pilihan yaitu erase disk dan manually edit. Yang dimaksud dengan erase disk adalah menghapus semua isi dari hard disk namun ini cukup berbahaya apa bila anda mempunyai data yang sudah di simpan di harddisk. Untuk amanya pilih manually edit partition. Kemudian klik Fordward. Kemudian kita disuruh untuk menentukan mount point dari dua partisi yang telah kita buat tadi, buatlah seperti gambar di atas. Kemudian klik Fordward. Ini adalah konfigurasi global yang telah kita buat untuk menginstall, Klik install (bila kita sudah mantap dengan konfigurasinya)
Pada proses ini ubuntu sedang menyalin system ke dalam komputer anda. Waktu yang dibutuhkan untuk selesai loadingnya tergantung dari performa dari komputer yang anda miliki, sebagai perbandingan ketika saya menggunakan Pentium 4 dengan memory 512 MB dibutuhkan waktu sekitar 15menit saja
Program, atau PC (disebut juga pointer instruksi , atau instruksi mendaftarkan alamat , atau hanya bagian dari instruksi sequencer di beberapa komputer) adalah daftar prosesor yang menunjukkan tempat komputer ini dalam urutan instruksi. Tergantung pada rincian tertentu komputer, PC memegang baik alamat instruksi yang sedang dijalankan, atau alamat instruksi berikutnya yang akan dijalankan.
Dalam kebanyakan prosesor, yang merupakan instruksi pointer incremented secara otomatis setelah mengambil sebuah program pengajaran, sehingga petunjuk biasanya diambil dan memori secara berurutan, dengan instruksi tertentu, seperti kantor cabang, melompat dan subroutine panggilan dan kembali, interrupting urutan dengan menempatkan nilai baru dalam program counter.
Melompat
seperti petunjuk membolehkan alamat baru yang akan dipilih sebagai awal
dari sebelah bagian dari aliran instruksi dari memori. Mereka membolehkan nilai baru yang akan diambil (tertulis) ke dalam program counter mendaftar. J subroutine panggilan yang dicapai cukup lama dengan membaca isi dari program counter, sebelum mereka ditimpa oleh nilai baru, dan disimpan di suatu tempat lain dalam memori atau mendaftar. J subroutine kembali kemudian menulis dicapai oleh nilai yang disimpan kembali ke dalam program counter lagi.
Di pusat pengolahan unit (CPU) dari komputer yang sederhana berisi hardware (unit kontrol dan upacara ucapan alu) yang melaksanakan petunjuk tersebut, seperti yang diambil dari memori unit.
Sebagian besar instruksi siklus [4] terdiri dari CPU mengirim alamat pada bus alamat, ke memori unit, yang kemudian merespon dengan mengirimkan isi dari lokasi memori yang meliputi data, pada data bus. (Hal ini sangat sibuk dengan ide yang disimpan-program komputer yang dieksekusi dalam petunjuk disimpan di samping biasa data dalam memori unit, dan oleh itu sama dengan [5]).
PC hanyalah satu dari sekian banyak mendaftar di hardware dari CPU. Itu, seperti masing-masing register lainnya, terdiri dari bank dari biner latches (a binary memalangi juga dikenal sebagai tiba-tiba), dengan satu flip-flop bit per dalam integer yang akan disimpan [6] (32 untuk 32-bit CPU, misalnya). Dalam hal PC, yang merupakan integer alamat dalam memori unit yang akan diambil berikutnya.
Setelah data (dengan instruksi) telah diterima pada data bus, PC adalah incremented. Dalam beberapa CPU ini dicapai dengan menambahkan 000 .. 001 ke isinya, dan hasilnya menjadi latching register harus isi yang baru, pada kebanyakan CPU, though, PC diimplementasikan sebagai register yang internal kabel sehingga dianggap sampai ke nilai berikutnya ketika sinyal tertentu akan diterapkan ke luar Seperti mendaftar, dalam elektronik, yang disebut sebagai binary counter, dan dengan itu asal istilah program counter.
Keberadaan program counter dalam CPU telah mencapai jauh konsekuensi pada cara kita berpikir ketika kita program komputer, dan memang program counter (atau setara blok perangkat keras yang melayani tujuan yang sama [8]) sangat pusat ke arsitektur von Neumann.
membebankan ketat sequencial memesan pada mengambil dari instruksi dari memori unit (yang aliran kontrol), bahkan di mana tidak ada sequenciality ini diterapkan oleh algoritma itu sendiri (yang von Neumann kemacetan). Hal ini mungkin mengapa penelitian menjadi model untuk komputasi paralel dianggap [9], pada satu titik, tidak lain von Neumann atau dataflow model yang tidak menggunakan program counter. Misalnya, pemrograman fungsional bahasa yang berharap banyak pada tingkat tinggi, dengan combinatory logika di tingkat assembler. Bahkan kemudian, sebagian besar peneliti ini emulated di microcode konvensional komputer (karenanya masih melibatkan sebuah program counter dalam hardware), tetapi, sebenarnya, combinators sangat sederhana, mereka bisa, pada prinsipnya dilaksanakan secara langsung pada perangkat keras tanpa kembali ke microcode counter atau program sama sekali.
hasil penelitian yang makan kembali, sebaliknya, menjadi cara untuk meningkatkan pelaksanaan kecepatan prosesor konvensional. Cara yang ditemukan untuk mengorganisir di luar aturan pelaksanaan, sehingga untuk mendapatkan informasi yang sequencing yang tersirat dalam data. Selain itu, pipa dan sangat panjang instruksi kata organisasi diizinkan compiler untuk mengatur beberapa perhitungan yang akan berangkat bersama. Pada awal setiap instruksi pelaksanaan, tetapi, instruksi yang harus diambil dari memori, dan ini dimulai oleh sebuah instruksi fetch siklus yang picks alamat, satu per satu, dari program counter.
Bahkan bahasa pemrograman tingkat tinggi yang memiliki program-counter konsep berurat berakar mendalam dalam perilaku mereka. Anda hanya perlu untuk melihat bagaimana programmer debugs atau mengembangkan program komputer untuk melihat bukti ini, dengan pemrogram menggunakan jari untuk menunjuk ke baris berturut-turut dalam program untuk model langkah-langkah pelaksanaannya. Memang, sebuah bahasa pemrograman tingkat tinggi yang tidak kurang daripada assembler bahasa tinggi mesin virtual [10] - sebuah komputer yang akan terlalu rumit untuk biaya-efektif untuk membangun secara langsung dalam perangkat keras, sehingga adalah melaksanakan, bukan menggunakan beberapa kerang dari pertandingan (dengan compiler atau interpreter menyediakan lebih tinggi, dan microcode menyediakan tingkat bawah).
cara menginstal linux
Cara menginstal Linux Ubuntu . Sebagai catatan harddisk yang digunakan adalah 10Gb (belum di partisi) memory 256MB, Prosesor Intel P4 2.4GHz dan proses penginstallasian ini menggunakan VMware Workstation.
Sebelum meng-install Ubuntu pada BIOS harus di set Boot Device Priority-nya dulu, dalam menginstall Ubuntu Boot Device Priority harus di arahkan ke CDROM. Untuk masuk ke BIOS tiap Motherboard mempunyai standart sendiri. Namun sebagian besar tinggal menekan tombol delete atau F2. Ketika membooting pertama kali tekan F2 atau del untuk masuk BIOS, anda harus menekan nya dengan cepat, sebab bila tidak komputer akan masuk ke OS di hardisk. Kemudian simpan konfigurasinya dan Kemudian reboot ulang.
Mulai menginstal Pilih Start or Install, kita bisa menjalankan lewat Ubuntu Live-CD. Di LiveCd kita dapat menjajal kemampuan Ubuntu tanpa harus menginstall ke harddisk, pada saat ini anda dapat menulis dokumen, berinternetan, layaknya anada sudah menginstall ke Harddisk. Dan perlu diingat bahwasanya ini hanya bersifat readonly yang berarti semua dokumen yang di simpan di /home hanya lah sementara dan akan hilang jika di reboot. Kita asumsikan anda mempunyai hardisk baru 10 GB belum di partisi dan akan di install Ubuntu.
Langkah selanjutnya kita harus mempartisi harddisk dulu, klik System>Administration>Gnome Karena kita akan membuat partisi baru maka klik kanan di area hitam muda kemudian Kilk create, kemudian tunggu kalo sudah Kilk kanan di area hitam muda lagi Dan jangan lupa kita harus menentukan berapa mesar partisi yang digunakan. Di sini saya mempunyai harddisk 10 GB dengan di partisi 2 yaitu 8,7 GB untuk ext3 dan sisanya untuk swap. Kilk add bila kita sudah mengkonfigurasinya. Setelah kita mengeklik add maka akan muncul warna biru pada areal hitam muda, kalo masih adanya ruang sisa maka kilk kanan lagi pilh new. Kemudian klik add, (linux minimal membutuhkan partisi swap dan root) setelah itu bila kita ingin melakukan tindakan pemartisi hardisk yang telah di lakukan tadi maka klik apply Kilk aplly lagi, kmudian tunggu loadingnya.
Setelah proses pemartisian harddisk selesai kemudian Klik close. Untuk langsung menginstallnya kita dapat mengeklik icon INSTALL di Desktop dan tunggu loadingnya kemudian kita disuruh untuk menentukan bahasa yang akan kita gunakan, bila menghendaki bahasa Indonesia bisa memilih Bahasa Indonesia. Kemudian klik Fordward. Di sini kita akan menunjukkan di mana kita berada, karena dengan menunjukkan dimana kita berada system Ubuntu akan menyetel Format waktu GMT di sini saya menggunakan jakarta, bila sudah selesai kilk fordward. Kemudian kita menentukan Jenis Keyboard yang akanj kita gunakan, di Indonesia kebanyakan menggunakan American English, kemudian klik Fordward. Tampilan ini di maksudkan untuk mengisikan identitas kita perlu di ingat saat mengisi username huruf yang digunakan harus kecil semua dan tidak boleh ada spasi, hal yang sama saat kita mengisi nama komputer kita. Kemudian klik Fordward
Ada dua pilihan yaitu erase disk dan manually edit. Yang dimaksud dengan erase disk adalah menghapus semua isi dari hard disk namun ini cukup berbahaya apa bila anda mempunyai data yang sudah di simpan di harddisk. Untuk amanya pilih manually edit partition. Kemudian klik Fordward. Kemudian kita disuruh untuk menentukan mount point dari dua partisi yang telah kita buat tadi, buatlah seperti gambar di atas. Kemudian klik Fordward. Ini adalah konfigurasi global yang telah kita buat untuk menginstall, Klik install (bila kita sudah mantap dengan konfigurasinya)
Pada proses ini ubuntu sedang menyalin system ke dalam komputer anda. Waktu yang dibutuhkan untuk selesai loadingnya tergantung dari performa dari komputer yang anda miliki, sebagai perbandingan ketika saya menggunakan Pentium 4 dengan memory 512 MB dibutuhkan waktu sekitar 15menit saja
Langganan:
Postingan (Atom)