Template by:
Free Blog Templates

Senin, 12 April 2010

Proses dan Status Proses

Definisi Proses

Secara tidak langsung, proses adalah program yang sedang dieksekusi. Menurut SilberSchatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section . Proses juga mencakup program counter , yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti parameter method, alamat return dan variabel lokal), dan sebuah data section yang menyimpan variabel global.

Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya ( resource yang dibutuhkan agar sebuah proses dapat dieksekusi.


Process Control Block

Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block PCB - juga disebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 2-2. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini:

  • Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
  • Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
  • CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator , indeks register, stack pointer , general-purposes register , ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (lihat Gambar 2-3).
  • Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (lihat Bab Managemen memori).
  • Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.
  • Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.
  • PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.

Gambar 3-2. Process Control Block














Status Proses

Bila sebuah proses dieksekusi, maka statusnya akan berubah-ubah. Status dari sebuah proses mencerminkan aktivitas atau keadaan dari proses itu sendiri. Berikut ini adalah status-status yang mungkin dimiliki sebuah proses menurut Tanenbaum:

  1. Running: pada saat menggunakan CPU pada suatu waktu
  2. Ready: proses diberhentikan sementara karena menunggu proses lain untuk dieksekusi
  3. Blocked: tidak dijalankan sampai event dari luar (yang berhubungan dengan proses tersebut) terjadi

Sedangkan menurut SilberSchatz, terdapat 5 macam jenis status yang mungkin dimiliki oleh suatu proses:

  1. New: status yang dimiliki pada saat proses baru saja dibuat
  2. Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi
  3. Waiting: status yang dimiliki pada saat proses menunggu suatu event (contohnya: proses I/O)
  4. Ready: status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor
  5. Terminated: status yang dimililki pada saat proses telah selesai dieksekusi

Nama-nama tersebut adalah berdasar opini, istilah tersebut bervariasi di sepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, pada sistem operasi tertentu lebih baik menggambarkan keadaan/status proses. Penting untuk diketahui bahwa hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus ready atau waiting. Keadaan diagram yang berkaitan dangan keadaan tersebut dijelaskan pada Gambar di bawah ini.

Gambar






Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus Ready atau Waiting. Ada tiga kemungkinan bila sebuah proses memiliki status Running:

  1. Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated.

  1. Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.

  1. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M/K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.
Read More..

Symmetric Multiprocessing ( SMP )

SMP Arsitektur

Hal ini berguna untuk melihat di mana SMP arsitektur muat ke dalam kategori keseluruhan parallel prosesor. Sebuah taksonomi yang menyoroti sistem prosesor paralel pertama kali diperkenalkan oleh Flynn [FLYN72] masih merupakan cara paling umum mengkategorikan sistem tersebut. Flynn diusulkan dengan kategori sebagai berikut sistem komputer:
  • instruksi tunggal data tunggal (SISD) stream: Sebuah prosesor tunggal menjalankan sebuah aliran instruksi untuk beroperasi pada data yang tersimpan dalam memori tunggal.
  • Single instruksi multiple data (SIMD) stream: Sebuah mesin tunggal instruksi mengontrol eksekusi simultan dari sejumlah elemen pengolahan pada dasar berbaris. Setiap elemen pemrosesan memiliki memori data yang terkait, sehingga bahwa setiap instruksi dieksekusi pada satu set data yang berbeda oleh berbagai processors.Vector dan prosesor array termasuk dalam kategori ini.
  • Beberapa instruksi data tunggal (MISD) stream: Sebuah urutan data ditransmisikan ke satu set prosesor, masing-masing melaksanakan instruksi yang berbeda Struktur sequence.This tidak pernah dilaksanakan.
  • Beberapa instruksi multiple data (MIMD) stream: Satu set prosesor secara simultan mengeksekusi urutan instruksi yang berbeda pada set data yang berbeda.
Organisasi SMP

Organisasi umum dari SMP.There adalah beberapa Prosessors, masing-masing berisi kontrol unit sendiri, unit aritmatika-logika, dan register. Setiap prosesor memiliki akses ke memori utama bersama dan perangkat I / O melalui beberapa bentuk mekanisme interkoneksi; bus bersama adalah fasilitas umum. Itu prosesor dapat berkomunikasi satu sama lain melalui memori (pesan dan status informasi yang tersisa dalam ruang alamat bersama-sama). Hal ini juga dapat dibuat untuk prosesor untuk pertukaran sinyal secara langsung. memori ini sering diselenggarakan simultan sehingga akses ganda untuk blok terpisah dari memori yang mungkin. Pada komputer modern, prosesor umumnya memiliki setidaknya satu tingkat cache memori yang swasta untuk prosesor. Ini menggunakan cache memperkenalkan beberapa considerations.Because desain baru setiap cache lokal berisi gambar sebagian utama memori, jika sebuah kata berubah dalam satu cache, itu menurut pikiran bisa membatalkan kata dalam cache lain. Untuk mencegah hal ini, prosesor lain harus diberitahu bahwa pembaruan telah terjadi. Masalah ini dikenal sebagai masalah koherensi cache dan biasanya dibahas dalam perangkat keras daripada oleh OS.

Multiprosesor Sistem Operasi Pertimbangan Desain
  • Simultan bersamaan proses atau thread: Kernel rutinitas perlu reentrant untuk memungkinkan beberapa prosesor untuk menjalankan kode kernel yang sama simultaneously.With prosesor menjalankan beberapa bagian yang sama atau berbeda dari kernel, kernel tabel dan struktur manajemen harus dikelola dengan baik untuk menghindari jalan buntu atau operasi yang tidak valid.
  • Penjadwalan: Penjadwalan dapat dilakukan oleh prosesor, jadi konflik harus dihindari. Jika kernel-tingkat multithreading digunakan, maka ada kesempatan untuk jadwal beberapa benang dari proses penjadwalan yang sama secara bersamaan pada beberapa processors.Multiprocessor diuji dalam Bab 10.
  • Sinkronisasi: Dengan beberapa proses yang aktif memiliki akses yang potensial berkaitan alamat ruang bersama atau bersama I / O sumber daya, perhatian harus diambil untuk memberikan efektif sinkronisasi. Sinkronisasi adalah fasilitas yang saling memaksa pengecualian dan acara ordering.A mekanisme sinkronisasi umum digunakan dalam multiprosesor sistem operasi adalah kunci, dijelaskan dalam Bab 5.
  • Manajemen memori: Memori manajemen pada multiprosesor harus berurusan dengan semua masalah yang ditemukan pada komputer uniprocessor dan dibahas dalam Bagian Tiga. Selain itu, perlu OS mengeksploitasi paralelisme perangkat keras yang tersedia, seperti kenangan multiported, untuk mencapai kinerja terbaik. Paging ini mekanisme pada prosesor yang berbeda harus dikoordinasikan untuk menegakkan konsistensi ketika beberapa prosesor berbagi halaman atau segmen dan memutuskan pada halaman penggantian.
  • Keandalan dan toleransi kesalahan: OS harus menyediakan degradasi anggun wajah kegagalan prosesor. Scheduler dan bagian-bagian lain dari OS harus mengakui kehilangan prosesor dan merestrukturisasi manajemen sesuai tabel.
Read More..

Kamis, 08 April 2010

NoSQL VS RDBMS

NoSQL

NoSQL adalah yang cepat, portabel, sistem manajemen database relasional tanpa batas sewenang-wenang, (selain memori dan kecepatan prosesor) yang berjalan di bawah, dan berinteraksi dengan, NoSQL ini kompatibel dengan "Relational Model".

NoSQL merupakan turunan dari sistem database RDB. Yang terakhir dikembangkan di RAND Organisasi oleh Walter W. Hobbs. Beberapa Perl script termasuk dengan NoSQL masih sangat dekat dengan RDB yang asli, sehingga pangsa kredit yang baik bagi mereka pergi ke penulis asli. Seperti namanya, NoSQL bukan merupakan database SQL melainkan tingkat alat shell, seperti yang dijelaskan dalam Filsafat NoSQL. Bentuk setiap file data adalah suatu relasi, atau tabel, dengan baris dan kolom informasi.

NoSQL cenderung menjadi bias mendukung Linux . Ini berarti bahwa, di mana pun itu penting, NoSQL yang menggunakan versi GNU dari berbagai perintah UNIX, seperti yang adalah orang-orang biasanya ditemukan di Linux. NoSQL adalah Free Software , dirilis di bawah GNU General Public License . Karena itu, sepenuhnya memenuhi syarat juga sebagai Open Source Software. NoSQL telah ada selama lebih dari satu dekade sekarang dan tidak ada hubungannya dengan bayi yang baru lahir Gerakan NoSQL , yang telah menerima hype akhir-akhir ini. Sementara mantan adalah paket perangkat lunak didefinisikan-baik, adalah sebuah database relasional untuk semua efek dan hanya tidak sengaja tidak menggunakan SQL sebagai bahasa query, pendatang baru ini kebanyakan konsep (dan tidak berarti novel yang baik), yang berangkat dari model relasional sama sekali dan karena itu seharusnya lebih tepat disebut "NoREL", atau sesuatu seperti itu.

Beban kerja database modern biasanya termasuk scaling untuk data set (misalnya 3 TB Digg untuk lencana hijau, 50 TB Facebook untuk pencarian kotak masuk atau's 2 eBay PB data keseluruhan), per-server kinerja, dan skema kaku. Sistem NoSQL sering memberikan jaminan konsistensi lemah seperti konsistensi akhirnya dan transaksi terbatas pada item data tunggal, walaupun seseorang dapat memaksakan penuh ASAM jaminan dengan menambahkan lapisan middleware tambahan. Tidak menyediakan kemampuan relasional membuatnya lebih mudah untuk penyimpanan data skala tidak harus membayar biaya yang berkaitan dengan jaminan relasional yang mungkin tidak diperlukan oleh proyek yang menggunakan database.
Beberapa sistem NoSQL mempekerjakan arsitektur terdistribusi , dengan data yang dimiliki secara berlebihan di beberapa server, sering menggunakan tabel hash didistribusikan . Dengan cara ini, sistem dapat ditingkatkan dengan mudah dengan menambahkan lebih banyak server, dan kegagalan server dapat ditolerir. Mempromosikan antarmuka yang sangat sederhana seperti array asosiatif atau-nilai pasangan kunci. Sistem lain, seperti native XML database , mempromosikan dukungan dari XQuery standar.

Sistem manajemen database relasional (RDBMS)

Sistem manajemen database relasional (RDBMS) adalah sistem manajemen database (DBMS) yang didasarkan pada model relasional seperti yang diperkenalkan oleh Edgar F. Codd . database relasional adalah yang paling umum dari database yang digunakan saat ini (dengan asumsi kita tidak menghitung sistem file sebagai database).

Sejarah istilah
EF Codd memperkenalkan istilah ini dalam makalah seminalis-nya "A Relational Model Data untuk Besar Bersama Bank Data" . Dalam kertas dan kertas kemudian ia mendefinisikan apa yang dimaksud dengan relasional. Satu definisi yang cukup dikenal dari apa yang merupakan sistem database relasional adalah aturan Codd's 12 . Namun, banyak dari awal implementasi model relasional yang tidak sesuai dengan semua peraturan Codd, jadi istilah secara bertahap datang untuk menjelaskan kelas yang lebih luas dari sistem database.

RDBMS menggunakan Structured Query Language (SQL, saat ini SQL2) sebagai bahasa definisi data (DDL) dan bahasa manipulasi data (DML). SQL termasuk laporan untuk definisi data, modifikasi, dan spesifikasi query kendala. Jenis pertanyaan bervariasi dari pertanyaan tunggal-meja sederhana untuk query multi-tabel rumit yang melibatkan bergabung, bersarang, mengatur serikat / perbedaan, dan lain-lain. pengolahan Semua didasarkan pada nilai-nilai dalam bidang catatan. Contoh RDBMS termasuk Oracle, dan Microsoft Access dikembangkan oleh Microsoft. Kelemahan utama dari Database Relasional meliputi ketidakmampuan mereka untuk menangani area aplikasi seperti database spasial (misalnya CAD), aplikasi yang melibatkan gambar, khusus tipe database (misalnya bilangan kompleks, array, dll) dan aplikasi lainnya yang melibatkan keterkaitan data yang kompleks. Standar SQL memungkinkan pengguna untuk dengan mudah bermigrasi aplikasi database mereka antara sistem database. Selain itu, pengguna dapat mengakses data yang tersimpan dalam dua atau lebih RDBMSs tanpa mengubah database sub-bahasa (SQL). Manfaat lainnya adalah akses data yang cepat dan kapasitas penyimpanan yang besar.

Read More..

Rabu, 07 April 2010

MikroKernel

Kernel adalah komponen sentral dari sistem operasi. Ia mengatur hal-hal seperti interrupt handler (untuk menyediakan layanan interupsi), process scheduler (membagi-bagi proses dalam prosesor), memory management , I/O , dan sebagainya.

Mikro adalah menggunakan kernel Artikel Baru. Pada awalnya, konsep mikro kernel dikembangkan pada sistem operasi Mach. Ide dasar dari pengembangan kernel mikro adalah bahwa hanya fitur-fitur yang perlu saja yang diimplementasikan dalam kernel (mengenai fitur-fitur apa saja yang perlu diimplementasikan, ini bisa berbeda tergantung desain sistem operasi). USING ditempatkan ide pengembangan kernel mikro adalah bahwa hanya fitur-fitur yang perlu saja. Kernel diimplementasikan dalam mengenai (fitur-fitur apa saja yang perlu diimplementasikan).

Walaupun garis pembatas mengenai apa saja yang berada di dalam dan luar kernel mikro bisa berbeda antara desain yang satu dengan yang lain, namun ada karakteristik yang umum, yaitu servis-servis yang umumnya menjadi bagian sistem operasi menjadi subsistem eksternal yang bisa berinteraksi satu sama lain dan dengan kernel tentunya. Ini mencakup device driver , file system , virtual memory manager , windowing system , dan security devices. Pendekatan kernel mikro menggantikan pendekatan berlapis yang vertikal tradisional.

Komponen-komponen sistem operasi yang berada di luar kernel mikro diimplementasikan sebagai server process dan berkomunikasi dengan message passing via kernel mikro. Misalnya jika user ingin membuat berkas baru, dia mengirim pesan ke file system server , atau jika ingin membuat proses baru, dia mengirimkan pesan ke process server.

Beberapa kelebihan kernel mikro: Beberapa kelebihan kernel mikro:
  • Interface yang seragam Proses tidak lagi dibedakan, baik antara kernel-level maupun user-level, karena semuanya berkomunikasi via message passing .
  • Extensibility Bisa menambahkan fitur-fitur baru tanpa perlu melakukan kompilasi ulang.
  • Flexibility Fitur-fitur yang sudah ada bisa dikurangi, atau dimodifikasi sesuai dengan kebutuhan sehingga menjadi lebih efisien. Misalnya tidak semua pengguna membutuhkan security yang sangat ketat, atau kemampuan untuk melakukan distributed computing .
  • Portability Pada kernel mikro, semua atau sebagian besar kode yang prosesor-spesifik berada di dalamnya. Jadi, proses porting ke prosesor lain bisa dilakukan dengan relatif sedikit usaha. Pada kelompok desktop misalnya, tampaknya dominasi Intel makin kuat. Tapi, sampai seberapa lama itu bisa bertahan? Karena itulah, portability adalah salah satu isu yang sangat penting..
  • Reliability . Semakin besar suatu software , maka tentulah semakin sulit untuk menjamin reliability -nya. Desain dengan pendekatan berlapis sangatlah membantu, dan dengan pendekatan kernel mikro bisa lebih lagi. Kernel mikro dapat dites secara ekstensif. Karena dia menggunakan API yang sedikit, maka bisa meningkatkan kualitas code di luar kernel. Desain Artikel Baru pendekatan berlapis sangatlah membantu dan Jaksa Artikel Baru pendekatan kernel mikro Bisa Lagi lebih mikro. Kernel dapat dites secara ekstensif. KARENA dialog menggunakan API Yang sedikit, Maka yang bernuansa meningkatkan Kualitas kode Bisa Di Luar kernel.
  • Support for object-oriendted OS Model kernel mikro sangat sesuai untuk mengembangkan sistem operasi yang berbasis object-oriented . Contoh menggunakan sistem Yang liabilities kernel mikro adalah MacOS X Dan QNX.
Read More..

Senin, 05 April 2010

Transaction vs Non-Transaction Storage Engine

Perintah dasar untuk melakukan transaksi pada SQL ada 2, yaitu:

commit: membuat semua perubahan secara permanen dari transaksi pada batabase. Sebagai contoh, account A akan melakukan transfer uang kepada account B. Untuk melakukan transaksi tersebut digunakan perintah commit work.

rollback: digunakan untuk menggagalkan perubahan atau transaksi yg telah dilakukan. Sebagai contoh, account A akan melakukan transfer uang kepada account B. Untuk melakukan sebuah transaksi transfer uang pada kedua account tersebut dilakukan melalui dua langkah, yaitu langkah pertama dari perubahan account A dan langkah kedua perubahan account B. Jika salah satu langkah berhasil dan satu langkah lainnya tidak berhasil/gagal (dalam hal ini account A telah melakukan transaksi sehingga nilai uang tersebut telah dikirimkan kepada account B namun terjadi mati listrik sehingga pada saat statement kedua atau langkah kedua menjadi gagal, maka akibat kegagalan tersebut uang yang telah ditransfer tidak masuk ke account B), maka database tersebut dalam keadaan inconsistent state. Jadi, untuk masalah ini maka kedua langkah yang telah dilakukan tersebut harus digagalkan. Untuk itu, maka digunakan perintah rollback work untuk menggagalkan pernyataan untuk transaksi tadi.

Sedangkan Non-transaction engine hanya dapat mengambil data dari database dan menampilkannya, seperti daftar CD atau buku-buku di perpustakaan. Sebuah mesin yang mendukung proses transaksi dapat menjalankan tugas dengan menggunakan fungsi sisi server. online Perbankan adalah contoh dari mesin pengolahan transaksi. Anda mengakses account Anda dari script non-transaksi, database sederhana. Setelah selesai mesin transaksi mengambil alih dan mengelola uang Anda yang Anda pilih.
Read More..

Identifying and Non-Identifying Relationship

Identifying relationship adalah sejenis specific connection relationship di mana child entity selalu berjenis dependent entity. Secara umum identifying relationship dapat dipetakan menjadi sebuah association. Bila child entity adalah bagian dari parent entity, association ini diubah menjadi sebuah aggregation. Jika keberadaan child entity adalah sangat bergantung pada parent entity, aggregation dapat diubah menjadi sebuah composition.

Non-Identifying Specific Relationship adalah sejenis hubungan di mana child entity dan parent entity bertipe independent entity. Non-Identifying relationship dapat dibagi menjadi mandatory non-identifying relationship dan optional non-identifying relationship. Non-identifying relationship dipetakan menjadi association dengan aggregation type, none. Mandatory non-identifying relationship direpresentasikan sebagai sebuah association dengan multiplicity one, sementara optional non-identifying relationship diterjemahkan sebagai sebuah association dengan mulitplicity zero-or-one. Relationship name dapat dipetakan menjadi role name pada kedua ujung association. Multiplicity ditambahkan sesuai dengan cardinality pada relationship. Informasi yang kurang adalah changeability, ordered/nonordered, navigability, qualifier dan target scope. Nilai dasar dari navigability adalah false, changeability adalah true dan target scope adalah instance.
Read More..