E- Bisnis
Hendarman, M.Pd, M.Kom.
Pengertian
e-commerce secara umum dapat diartikan sebagai proses transaksi jual beli secara elektronik melalui media internet.
Menurut Mariza Arfina dan Robert Marpaung e-commerce atau yang lebih dikenal dengan e-com dapat diartikan sebagai suatu cara berbelanja atau berdagang secara online atau direct selling yang memanfaatkan fasilitas Internet dimana terdapat website yang dapat menyediakan layanan "get and deliver" (http://r-marpaung.tripod.com/ElectronicCommerce.doc diakses tanggal 22 April 2007).
Menurut David Baum, pengertian e-commerce adalah: “E-Commerce is a dynamic set of technologies, applications, and business process that link enterprise, consumers, and communities through electronic transactions and the electronic exchange of goods, services, and information”. E-Commerce merupakan satu set dinamis teknologi, aplikasi, dan proses bisnis yang menghubungkan perusahaan, konsumen, dan komunitas tertentu melalui transaksi elektronik dan perdagangan barang, pelayanan, dan informasi yang dilakukan secara elektronik (David Baum dalam Onno W. Purbo, 2000 : 2).
Bryan A. Garner juga menyatakan bahwa “E-Commerce the practice of buying and selling goods and services trough online consumer services on the internet. The e, ashortened from electronic, has become a popular prefix for other terms associated with electronic transaction”. Dapat dikatakan bahwa pengertian e-commerce yang dimaksud adalah pembelian dan penjualan barang dan jasa dengan menggunakan jasa komputer online di internet (dlm Abdul Halim Barakatullah dkk, 2005 : 12).
Roger Clarke dalam “Electronic Commerce Definitions” menyatakan bahwa e-commerce adalah “The conduct of commerce in goods and services, with the assistance of telecomunications and telecomunications-based tools” (e-commerce adalah tata cara perdagangan barang dan jasa yang menggunakan media telekomunikasi dan telekomunikasi sebagai alat bantunya) (http://www.anu.edu.au/people/Roger.Clarke/ EC/ECDefns.html, diakses tanggal 22 April 2007).
E-commerce juga dapat diartikan sebagai suatu proses berbisnis dengan memakai teknologi elektronik yang menghubungkan antara perusahaan, konsumen dan masyarakat dalam bentuk transaksi elektronik dan pertukaran/penjualan barang, servis, dan informasi secara elektronik (Munir Fuady, 2005 : 407).
Faktor Pendukung E-Commerce
Cakupan yang luas
Proses transaksi yang cepat
E-Commerce dapat mendorong kreatifitas dari pihak penjual secara cepat dan tepat dan pendistribusian informasi yang disampaikan berlangsung secara periodik.
E-Commerce dapat menciptakan efesiensi yang tinggi, murah serta informatif.
E-Commerce dapat meningkatkan kepuasan pelanggan, dengan pelayanan yang cepat, mudah, aman dan akurat
Perdagangan Konvensional VS E-Commerce
Link … MSword
Karakteristik E-Commerce
Terjadinya transaksi antar dua belah pihak
Adanya pertukaran barang, jasa dan informasi
Internet merupakan medium utama dalam proses atau mekanisme perdagangan tersebut.
Karakteristik e-commerce menurut Nurfansa Wira Sakti
Transaksi tanpa batas
Transaksi anonim
Produk digital dan non digital
Produk barang tak berwujud
(http://www.nofieiman.com, diakses tanggal 22 April 2007).
Jenis-jenis Transaksi E-commerce
Busines to Busines (B2B)
Bussines to Cunsumer (B2C)
Consumer to Consumer (C2C)
Consumer to Bussines (C2B)
Non-Bussines Electronic Commerce
Intrabussines (Organizational) Electronic Commerce.
Busines to Busines (B2B)
Busines to Busines (B2B) juga dapat diartikan sebagai sistem komunikasi bisnis online antar pelaku bisnis (Onno W. Purbo, 2000:2), terdiri atas:
Transaksi Inter-Organizational System (IOS), misalnya transaksi extranest, electronic funds transfer, electronic forms, intrgrated messaging, share data based, supply chain management, dan lain-lain.
Transaksi pasar elektronik (electronic market transfer) (Munir Fuady, 2005 : 408).
Karakteristik Busines to Busines (B2B)
Trading Partners yang sudah diketahui dan umumnya memiliki hubungan (relationship) yang cukup lama. Informasi hanya dipertukarkan dengan partner tersebut. Sehingga jenis informasi yang dikirimkan dapat disusun sesuai kebutuhan dan kepercayaan (trust).
Pertukaran data (data exchange) berlangsung berulang-ulang dan secara berkala, dengan format data yang sudah disepakati bersama. Sehingga memudahkan pertukaran data untuk dua entiti yang menggunakan standar yang sama.
Salah satu pelaku dapat melakukan inisiatif untuk mengirimkan data, tidak harus menunggu partner.
Model yang umum digunakan adalah per-to-per, dimana processing intelligence dapat didistribusikan di kedua belah pihak (http://www.cert.or.id/~budi/articles/1999-02.pdf, diakses tanggal 22 April 2007).
Bussines to Cunsumer (B2C)
Bussines to Cunsumer (B2C) merupakan transaksi ritel dengan pembeli individual (Munir Fuady, 2005 : 408).
Selain itu Bussines to Cunsumer (B2C) juga dapat berarti mekanisme toko online (electronic shoping mall) yaitu transaksi antara e-merchant dengan e-customer (Onno W. Purbo, 2000 : 2).
Karakteristik Bussines to Cunsumer (B2C)
Terbuka untuk umum, dimana informasi disebarkan ke umum.
Servis yang diberikan bersifat umum (generic) dengan mekanisme yang dapat digunakan oleh khayalak ramai. Sebagai contoh, karena sistem web sudah umum digunakan maka servis diberikan dengan menggunakan basis web.
Servis diberikan berdasarkan permohonan (on demand). Consumer melakukan inisiatif dan produser harus siap memberikan respon sesuai dengan permohonan.
Pendekatan client/server sering digunakan dimana diambil asumsi client (consumer) menggunakan sistem yang minimal (berbasis web) dan processing (bussines procedure) diletakan di sisi server (http://www.cert.or.id/~budi/articles/1999-02.pdf, diakses tanggal 22 April 2007).
Consumer to Consumer (C2C)
Consumer to Consumer (C2C) merupakan transaksi dimana konsumen menjual produk secara langsung kepada konsumen lainnya.
Juga seorang individu yang mengiklankan produk barang atau jasa, pengetahuan, maupun keahliannya di salah satu situs lelang (Munir Fuady, 2005 : 408).
Consumer to Bussines (C2B)
Consumer to Bussines (C2B) merupakan individu yang menjual produk atau jasa kepada organisasi dan individu yang mencari penjual dan melakukan transaksi (Munir Fuady, 2005:408).
Non-Bussines Electronic Commerce
Non-Bussines Electronic Commerce meliputi kegiatan non bisnis seperti kegiatan lembaga pendidikan, organisasi nirlaba, keagamaan dan lain-lain (Munir Fuady, 2005 : 408).
Intrabussines (Organizational) Electronic Commerce
Kegiatan ini meliputi semua aktivitas internal organisasi melalui internet untuk melakukan pertukaran barang, jasa, dan informasi, menjual produk perusahaan kepada karyawan, dan lain-lain (Munir Fuady, 2005 : 408).
Jenis-jenis Konsumen Kegiatan Transaksi e-commerce
Konsumen individual, konsumen ini lebih banyak diperhatikan oleh media.
Konsumen Organisasi
Konsumen yang paling banyak melakukan bisnis di internet yang terdiri dari pemerintah, perusahaan swasta, resellers, organisasi publik yang bertindak tidak semata-mata konsumtif sebagaimana layaknya konsumen akhir. Konsumsi dilakukan untuk membuat produk baru maupun melakukan modifikasi.
Konsumen e-commerce didasarkan pada Perilaku Konsumsinya
Implusive Buyers. Konsumen yang ingin cepat-cepat membeli, cenderung gegabah dalam mengkonsumsi produk yang ditawarkan.
Patient Buyers. Konsumen yang teliti melakukan komparasi harga dan menganalisa produk yang ditawarkan.
Window Shoppers. Konsumen yang sekedar browsing atau surfing (mejelajah internet) saja (http://www.lkht-fhui.com, diakses 28 Maret 2007).
Kapan Suatu Kesepakatan Kehendak Terjadi?
Tori Penawaran dan Penerimaan (offer and acceptance)
Teori Pernyataan (verklarings theorie)
Teori Konfirmasi
Keuntungan Produsen?
Kemampuan grafis internet mampu memperlihatkan produk apa adnya (natural) serta dapat membuat brosur berwarna dan menyebarkannya tanpa ongkos/biaya cetak
Lebih aman membuka toko online dibanding membuka toko biasa
Berjualan di dunia maya internet tidak mengenal hari libur, dan hari besar, semua transaksi bisa dilakukan kapan saja dimana saja
Tanpa batas-batas wilayah dan waktu, sehingga memberikan jangkauan pemasaran yang luas dan tak terbatas oleh waktu.
Revenue stream (arus pendapatan) yang baru yang mungkin sulit atau tidak dapat diperoleh melalui cara konvensional
Meningkatkan market exposure (pangsa pasar), dimana dengan penggunaan e-commerce memungkinkan untuk meningkatkan pangsa pasar yang semula mempunyai pangsa pasar di dalam negeri saja, dengan adanya e-commerce maka pangsa pasar menjangkau luar negeri.
Menurunkan biaya operasi (operating cost), penggunaan teknologi internet memungkinkan untuk melakukan kegiatan perdagangan selama 24 jam sehari, 7 hari seminggu, dimana hal tersebut tidak berpengaruh terhadap biaya yang dikeluarkan untuk biaya lembur untuk karyawan atau pegawai, karena segala sesuatunya dikerjakan oleh komputer yang tidak membutuhkan operator untuk menjalankan proses perdagangan, cukup hanya dengan penggunaan software tertentu maka segala aktivitas dalam transaksi perdagangan dapat dilakukan.
Penghematan besar yang dimungkinkan melalui e-mail, penghematan ini terjadi karena berkurang atau bahkan tidak ada sama sekali adanya penggunaan kertas dalam segala proses transaksi, dimana segala sesuatunya di dalam e-commerce menggunakan suatu data digital sehingga tidak membutuhkan kertas sebagi media, yang pada akhirnya memberikan penghematan besar terhadap pengeluaran dalam proses transaksi.
Keuntungan Konsumen (customer)
Memungkinkan transaksi jual beli secara langsung, mudah dan nikmat, maksudnya adalah proses jual beli yang terjadi dalam e-commerce tidak membutuhkan perantara, dimana proses transaksi yang terjadi langsung antara merchant dengan customer. Sehingga, hal ini memberikan suatu kemudahan karena tidak perlu suatu proses transaksi yang berbelit-belit dan cenderung lama, yang pada akhirnya hal ini memberikan kenikmatan terhadap customer dalam melakukan transaksi perdagangan melalui internet.
Disintermediation adalah proses meniadakan calo dan pedagang perantara. Dengan kata lain, konsumen tidak perlu membayar lebih untuk sebuah barang atau jasa yang dibelinya. Penggunaan e-commerce merupakan proses transaksi langsung antara merchat dengan customer tanpa memerlukan perantara meskipun keberadaan para pihaknya jauh atau berbeda negara, dengan e-commerce customer dapat mengecek langsung keberadaan barang yang dibutuhkan, serta mendapatkan harga yang langsung diberikan oleh merchant, sehingga biaya yang dikeluarkan tidak jauh lebih mahal. Hal ini berbeda dengan perdagangan secara konvensional, ketika seseorang dari suatu negara membutuhkan barang atau jasa dari luar negeri, orang tersebut tidak mungkin mendatangi langsung penjual barang tersebut di negaranya, karena hal tersebut tentu saja menambah biaya dan memerlukan cukup banyak waktu itupun belum termasuk dengan keberadaan barang yang dibutuhkan apakah masih ada atau telah habis, sehingga orang yang membutuhkan barang tersebut tentu saja membutuhkan perantara pedagang lain dalam hal ini adalah importir yang tentu saja harga barang yang dibutuhkan akan semakin mahal.
Menggunakan digital cash atau elektronik cash (e-cash). Tanpa harus membayar dengan uang tunai. Maksudnya adalah customer tidak perlu membawa uang tunai untuk membayar transaksi jual beli yang dilakukannya dengan pihak merchant, dimana pembayaran yang dilakukan oleh customer cukup dengan mentransfer sejumlah uang sesuai dengan harga barang yang dipesan plus ongkos kirim kepada rekening yang telah disediakan oleh pihak merchant, atau juga hanya dengan memasukan nomor kartu kredit yang dimiliki oleh customer dalam form pembayaran yang telah disediakan oleh pihak merchant. Sehingga dengan cara yang demikian semakin memberikan kemudahan dalam bertransaksi yang kemudian memberikan rasa aman karena tidak perlu membawa uang tunai dalam jumlah yang tidak sedikit untuk diserahkan kepada merchant yang penuh resiko terhadap tindak kejahatan seperti perampokan dan sebagainya.
Memberikan kesempatan konsumen yang berada di belahan dunia manapun untuk dapat menggunakan sebuah produk atau service yang dihasilkan dari belahan dunia yang berbeda dan melakukan transaksi dan meraih informasi dari pihak pertama sepanjang tahun tanpa terbatas oleh ruang dan waktu.
Memberikan kesempatan konsumen untuk mendapatkan produk atau service terbaik dari berbagai pilihan yang ada karena konsumen mendapat kesempatan untuk memilih berbagai jenis produk atau service secara langsung.
Memberikan kesempatan bagi konsumen yang terpisah tempat tinggalnya dari produsen untuk berinteraksi, berdiskusi, dan bertukar pengalaman. Sehingga akan sangat menguntungkan produsen untuk meningkatkan kualitas produk atau service sesuai dengan yang diinginkan oleh konsumen.
Keuntungan Masyarakat Umum dan Pemerintah
Semakin banyak manusia yang bekerja dan beraktifitas di rumah dengan menggunakan internet berarti mengurangi perjalanan untuk bekerja, belanja, dan aktifitas lainnya, sehingga mengurangi kemacetan jalan dan mereduksi polusi udara.
Meningkatkan daya beli dan kesempatan masyarakat untuk mendapatkan produk atau service yang terbaik karena perusahaan yang mengeluarkan produk atau service dapat menjualnya lebih murah karena biaya produksi yang rendah.
Mengurangi pengangguran karena masyarakat semakin bergairah untuk berbisnis karena cara kerja yang gampang dan tanpa modal yang besar.
Meningkatkan daya kreatifitas masyarakat, berbagai jenis produk dapat dipasarkan dengan baik, sehingga akhirnya juga membantu pemerintah untuk menggairahkan perdagangan khususnya usaha kecil menengah.
Kecakapan dalm kontrak e-commerce?
Beberapa situs mempersyaratkan customer untuk melakukan transaksi haruslah telah berumur minimal 18 tahun. Syarat ini dapat ditemukan pada saat customer mengisi form pendaftaran yang berisi mengenai data diri dari customer, dimana terdapat suatu kolom yang berisi mengenai tanggal lahir, serta adanya suatu box yang harus di check (√) yang menyatakan bahwa si customer telah berusia 18 tahun. Sehingga kecakapan customer dapat terlihat pada saat ia melakukan pengisian form.
Hal tsb tertuang dalam salah satu bagian Your User Aggrement eBay http://www.ebay.com dimana dituliskan: “use the Sites if you are not able to form legally binding contracts, are under the age of 18, or are temporarily or indefinitely suspended from our Sites” (seseorang tidak berhak menggunakan web eBay tersebut jika tidak mampu atau cakap untuk membuat kontrak menurut hukum, berusia dibawah 18 tahun, atau pihak eBay untuk sementara waktu atau dengan waktu tak terbatas melarang seseorang tersebut untuk mengakses atau menggunakan situs tersebut).
Selain itu dalam Conditions Of Use website Amazon pada bagian Your Account juga disebutkan bahwa: “…. If you are under 18, you may use Amazon.com only with involvement of a parent or guardian….” (seseorang yang berusia dibawah 18 tahun, hanya boleh menggunakan Amazon.com dengan keterlibatan orang tua atau wali).
Hal ini menunjukan bahwa untuk dapat bertransaksi dengan layanan Amazon maka seseorang haruslah berusia 18 tahun ke atas, jika berusia dibawah 18 tahun haruslah diwakilkan kepada orang tua atau walinya.
Sesuatu Hal Tertentu dlm e-commerce?
Sesuatu hal tertentu dalam hal ini yaitu adanya suatu benda yang dijadikan obyek dalam suatu perjanjian, jika dihubungkan dengan apa yang ada dalam e-commerce yang menyediakan berbagai macam benda atau produk yang ditawarkan dan costomer bebas memilih terhadap salah satu atau beberapa jenis benda atau produk yang dinginkannya, berdasar hasil penelitian ditemukan bahwa setelah customer melakukan pemilihan produk, diakhir proses transaksi merchant akan menampilkan informasi mengenai barang beserta harganya atas apa yang dipilih apakah benar atau tidak. Sehingga apa yang dipilih customer menjadi obyek dalam perjanjian tersebut.
Suatu Sebab yang Halal dlm e-commerce?
Kontrak e-commerce yang dibuat haruslah memenuhi norma-norma yang hidup dalam masyarakat, bahwa di dalam persyaratan mengadakan pendaftaran anggota sebagai syarat untuk melakukan transaksi pihak merchant (contoh lihat situs eBay) menegaskan dan mengharuskan customer untuk membaca dan memperhatikan bagian Prohibited and Restricted Items yang mana bagian tersebut berisi mengenai apa saja produk yang tidak boleh diperdagangkan.
Adanya aturan yang jelas mengenai hal-hal apa saja yang boleh dan tidak boleh dilakukan beserta sanksinya yang disebutkan oleh penjual/merchant memberikan pengertian bahwa kontrak yang terjadi dalam e-commerce secara tidak langsung telah memenuhi syarat suatu sebab yang halal, bahwa kontrak atau perjanjian yang dilakukan antar para pihaknya mempunyai sebab yang halal sebagai dasar perjanjian.
Masalah2 Hk E-Commerce
Keaslian Data.
Keabsahan (validity).
Kerahasiaan (confidentiality/privacy).
Keberadaan barang (availability).
Pembuktian kecakapan para pihak.
Yurisdiksi.
Keabsahan (validity)
United Nations Commission on International Trade Law (UNCITRAL) Model Law on Electronic Commerce yang menjadi rujukan pembuatan Undang-Undang dan Hukum e-commerce seluruh masyarakat dunia, menyebutkan pada Article 5 UNCITRAL Model Law on Electronic Commerce bahwa: ” Information shall not be denied legal effect, validity or enforceability solely on the grounds that it is in the form of a data message ” (sebuah informasi, efek, validitas, atau keberdayaan hukumnya, tidak dapat ditolak semata-mata atas dasar karena ia dalam bentuk data message).
Dengan penjelasan Article 5 tersebut dapat dikatakan bahwa tidak ada keraguan atas keabsahan dari data message sebagai dasar dari kesepakatan atau perjanjian dalam e-commerce. Data message yang dimaksud bila mana keotentikannya telah dapat dibuktikan dengan menggunakan teknik dan instrumen sebagai mana mestinya. Sehingga kontrak dalam e-commerce yang dibuat oleh pihak yang berlainan negara, dengan adanya aturan tersebut memberikan jaminan hukum terhadap kontrak yang dibuat.
Selain itu dapat digunakan Undang-Undang No 8 Tahun 1997 tentang Dokumen Perusahaan sebagai jaminan terhadap penggunaan data digital, dalam Pasal 12 ayat 1 disebutkan bahwa ”dokumen perusahaan dapat dialihkan ke dalam mikrofilm atau media lainnya” maksud dari media lainnya adalah media yang tingkat pengamanan menjamin keaslian dokumen yang dialihkan atau ditransformasikan, misalnya Compact Disk-Read Only Memory (CD-ROM), dan Write-Once-Read-Many (WORM), dimana pengalihan bentuk kedalam CD-ROM tentu saja menggunakan data digital, sehingga hal ini dapat dijadikan dasar sebagai jaminan atas keabsahan data digital dalam kontrak elektronik. Hal ini memberikan jaminan terhadap suatu kontrak e-commerce yang dibuat oleh para pihak yang berkedudukan di wilayah Indonesia.
Teori Pilihan Hukum (Yurisdiksi)
Mail box theory (Teori Kotak Pos); dalam hal transaksi e-commerce, maka hukum yang berlaku adalah hukum dimana pembeli mengirimkan pesanan melalui komputernya yang dapat berarti hukum si customer. Untuk ini diperlukan konfirmasi dari merchant. Jadi perjanjian atau kontrak terjadi pada saat jawaban yang berisikan penerimaan tawaran tersebut dimasukkan ke dalam kotak pos (mail box).
Acceptance theory (Teori Penerimaan); hukum yang berlaku adalah hukum dimana pesan dari pihak yang menerima tawaran tersebut disampaikan. Jadi hukumnya si merchant.
Proper Law of Contract ; hukum yang berlaku adalah hukum yang paling sering dipergunakan pada saat pembuatan perjanjian. Misalnya, bahasa yang dipakai adalah bahasa Indonesia, kemudian mata uang yang dipakai dalam transaksinya Rupiah, dan arbitrase yang dipakai menggunakan BANI, maka yang menjadi pilihan hukumnya adalah hukum Indonesia.
The most characteristic connection; hukum yang dipakai adalah hukum pihak yang paling banyak melakukan prestasi.
Mengenai Saya
Senin, 31 Mei 2010
Senin, 19 April 2010
Setting Virtual Privat Network
Langkah - Langkah Setting Virtual Private Network
1. Menyiapkan VPN di Windows adalah proses dua langkah.
2. Set up satu komputer untuk berbagi file (server).
3. Set up komputer lain untuk mengaksesnya (klien)
4. Mulailah dengan menyiapkan server:
5. Buka browser web Anda dan pergi ke www. Whatismyip.com. Anda akan membutuhkannya untuk mengkonfigurasi klien.
6. Klik tombol Start dan klik Run.
7. Jenis DNS dan tekan Enter.
8. Klik Sambungan Jaringan dan Internet.
9. Klik Sambungan Jaringan
10. Klik Buat New Connection, yang merupakan pilihan pertama pada toolbar kiri.
11. New Connection Wizard akan terbuka. Click Next . Klik Next.
12. Pilih Set up koneksi maju, elemen terakhir dalam daftar. Click Next . Klik Next.
13. Pilih Terima koneksi masuk. Click Next . Klik Next.
14. Anda akan melihat layar Sambungan Device untuk masuk. Do not select anything on this screen. Jangan pilih apa-apa di layar ini. Click Next . Klik Next.
15. Pilih Izinkan koneksi pribadi virtual. Click Next . Klik Next.
16. Pilih kepada siapa Anda ingin memberikan akses. Klik Next. Jika pengguna tidak terdaftar, Anda harus menambahkan account. Lihat "Terkait Wikihows" untuk informasi lebih lanjut.
17. Jangan mengubah apapun di layar Software Jaringan . Klik Next.
18. Itu saja! Komputer Anda sekarang ditetapkan untuk memungkinkan untuk VPN. Klik Finish untuk menyelesaikan wizard.
19. Sekarang lanjutkan untuk menghubungkan klien:
20. Klik tombol Start dan klik Run.
21. Jenis DNS dan tekan Enter.
22. Klik Sambungan Jaringan dan Internet.
23. Klik Sambungan Jaringan.
24. Klik Buat New Connection, yang merupakan pilihan pertama pada toolbar kiri.
25. New Connection Wizard akan terbuka. Klik Next.
26. Pilih Connect ke jaringan di tempat kerja saya dan klik Next.
27. Pilih Virtual Private Network koneksi dan klik Next.
28. Ketik nama jaringan Anda di kotak kosong. Klik Next.
29. Masukkan alamat IP Anda menuliskan sebelumnya dan klik Next.
30. Pilih Tambah cara pintas ke sambungan ini ke desktop dan klik Finish.
selain langkah-lankah di atas ada beberapa hal yang harus di perhtikan juga antara lain :
-Kedua komputer harus terhubung ke internet.
-Nama pengguna dan sandi harus dimasukkan persis seperti yang Anda menyelamatkan mereka.
-Alamat IP harus ditulis persis seperti tercantum di layar.
-Jika tidak bekerja VPN, matikan firewall Anda
Ada yang perlu dipersiapkan pula :
-Dua komputer dengan Windows XP
-Server Alamat IP
-Koneksi internet berkecepatan tinggi
Warning
-Jangan memberikan akses ke account "guest". Ia tidak memerlukan sandi, yang memungkinkan orang untuk mengakses VPN.
1. Menyiapkan VPN di Windows adalah proses dua langkah.
2. Set up satu komputer untuk berbagi file (server).
3. Set up komputer lain untuk mengaksesnya (klien)
4. Mulailah dengan menyiapkan server:
5. Buka browser web Anda dan pergi ke www. Whatismyip.com. Anda akan membutuhkannya untuk mengkonfigurasi klien.
6. Klik tombol Start dan klik Run.
7. Jenis DNS dan tekan Enter.
8. Klik Sambungan Jaringan dan Internet.
9. Klik Sambungan Jaringan
10. Klik Buat New Connection, yang merupakan pilihan pertama pada toolbar kiri.
11. New Connection Wizard akan terbuka. Click Next . Klik Next.
12. Pilih Set up koneksi maju, elemen terakhir dalam daftar. Click Next . Klik Next.
13. Pilih Terima koneksi masuk. Click Next . Klik Next.
14. Anda akan melihat layar Sambungan Device untuk masuk. Do not select anything on this screen. Jangan pilih apa-apa di layar ini. Click Next . Klik Next.
15. Pilih Izinkan koneksi pribadi virtual. Click Next . Klik Next.
16. Pilih kepada siapa Anda ingin memberikan akses. Klik Next. Jika pengguna tidak terdaftar, Anda harus menambahkan account. Lihat "Terkait Wikihows" untuk informasi lebih lanjut.
17. Jangan mengubah apapun di layar Software Jaringan . Klik Next.
18. Itu saja! Komputer Anda sekarang ditetapkan untuk memungkinkan untuk VPN. Klik Finish untuk menyelesaikan wizard.
19. Sekarang lanjutkan untuk menghubungkan klien:
20. Klik tombol Start dan klik Run.
21. Jenis DNS dan tekan Enter.
22. Klik Sambungan Jaringan dan Internet.
23. Klik Sambungan Jaringan.
24. Klik Buat New Connection, yang merupakan pilihan pertama pada toolbar kiri.
25. New Connection Wizard akan terbuka. Klik Next.
26. Pilih Connect ke jaringan di tempat kerja saya dan klik Next.
27. Pilih Virtual Private Network koneksi dan klik Next.
28. Ketik nama jaringan Anda di kotak kosong. Klik Next.
29. Masukkan alamat IP Anda menuliskan sebelumnya dan klik Next.
30. Pilih Tambah cara pintas ke sambungan ini ke desktop dan klik Finish.
selain langkah-lankah di atas ada beberapa hal yang harus di perhtikan juga antara lain :
-Kedua komputer harus terhubung ke internet.
-Nama pengguna dan sandi harus dimasukkan persis seperti yang Anda menyelamatkan mereka.
-Alamat IP harus ditulis persis seperti tercantum di layar.
-Jika tidak bekerja VPN, matikan firewall Anda
Ada yang perlu dipersiapkan pula :
-Dua komputer dengan Windows XP
-Server Alamat IP
-Koneksi internet berkecepatan tinggi
Warning
-Jangan memberikan akses ke account "guest". Ia tidak memerlukan sandi, yang memungkinkan orang untuk mengakses VPN.
Jumat, 26 Maret 2010
USE CASE DIAGRAM
USE CASE DIAGRAM
PEMODELAN SISITEM INFORMASI
USE CASE DIAGRAM
Usecase Diagram digunakan untuk mengambarkan interaksi antara pengguna sistem (actor) dengan kasus (use case) yang disesuaikan dengan langkah-langkah (scenario) yang telah ditentukan. Sejak tahun 1992, dengan adanya pengembang UML, yaitu Jacob Et All, menjadikan Use case sebagai model utama atau yang dibutuhkan (Requeirment Model) pada UML.
LAMBANG USE CASE
Use Case Diagram
Menggambarkan kebutuhan system dari sudut pandang user
Mengfokuskan pada proses komputerisasi (automated processes)
Menggambarkan hubungan antara use case dan actor
Use case menggambarkan proses system
(kebutuhan system dari sudut pandang user)
USE CASE DIAGRAM
USE CASE DIAGRAM
ACTOR-USE CASE DIAGRAM
Actor menggambarkan orang, system atau external entitas / stakeholder yang menyediakan atau menerima informasi dari system
Actor memberi input atau menerima informasi dari system
Actor biasanya menggunakan Noun
Actor digambarkan dengan gambar stick figure atau dengan gambar visual
atau atau dll
Tidak boleh ada komunikasi langsung antar actor (Actors don’t interact with one another )
Indikasi <> untuk sebuah actor yang merupakan sebuah system
Adanya actor bernama “Time” yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan)
ACTOR-USE CASE DIAGRAM
Letakkan actor utama anda pada pojok kiri atas dari diagram (in western culture people read from left to right, top to bottom)
Actor jangan digambarkan ditengah-tengah use cases (actors are placed to the outside of the diagram, and not the middle of it)
Association - Use Case Diagram
Ada 4 jenis relasi yang bisa timbul pada use case diagram
Association antara actor dan use case
Association antara use case
Generalization/Inheritance antara use case
Generalization/Inheritance antara actors
Associations bukan menggambarkan aliran data/informasi
Associations digunakan untuk menggambarkan bagaimana actor terlibat dalam use case
Assocciation – Use Case Diagram
Association - Use Case Diagram
<>
termasuk didalam use case lain (required) / (diharuskan)
Pemanggilan use case oleh use case lain
contohnya adalah Pemanggilan sebuah fungsi program
Gambarkan association <> secara horizontal
Tanda panah terbuka harus terarah ke sub use case
Tidak boleh actor dihubungkan pada use case <>
Association - Use Case Diagram
Association antara use case
<>
Perluasan dari use case lain jika kondisi atau syarat terpenuhi (Optional Behaviour)
Kurangi penggunaan association Extend ini, terlalu banyak pemakaian association ini membuat diagram sulit dipahami.
Tanda panah terbuka harus terarah ke parent/base use case
Gambarkan association extend secara vertical (picture extending use case below than base/parent use case)
Tidak boleh actor dihubungkan pada use case <>
Association - Use Case Diagram
Generalization/inheritance
Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum
Harus digambarkan secara vertikal
Generalization/inheritance antara use case
Dibuat ketika ada sebuah keadaan yang lain/perlakuan khusus
Inheriting use case dibawah base/parent use case
Generalization/inheritance antara actor
Dibuat ketika ada sebuah actor baru terbentuk dan mempunyai atribut dan methode yang sama dengan actor yang sudah ada
Inheriting actor dibawah base/parent actor
System Boundary Boxes - Use Case Diagram
Digambarkan dengan kotak disekitar use case, untuk menggambarkan jangkauan system anda (scope of of your system).
Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan
System boundary boxes are optional
Contoh:
Lain-lain Use Case Diagram
Association <>,<> atau <> yang digunakan pada versi UML sebelumnya, sudah tidak terpakai lagi.
<> dan <> keduanya digantikan <>
<> dikembangkan ke <> dan generalization
Avoid more than 2 level of use case association
CONTOH
PEMODELAN SISITEM INFORMASI
USE CASE DIAGRAM
Usecase Diagram digunakan untuk mengambarkan interaksi antara pengguna sistem (actor) dengan kasus (use case) yang disesuaikan dengan langkah-langkah (scenario) yang telah ditentukan. Sejak tahun 1992, dengan adanya pengembang UML, yaitu Jacob Et All, menjadikan Use case sebagai model utama atau yang dibutuhkan (Requeirment Model) pada UML.
LAMBANG USE CASE
Use Case Diagram
Menggambarkan kebutuhan system dari sudut pandang user
Mengfokuskan pada proses komputerisasi (automated processes)
Menggambarkan hubungan antara use case dan actor
Use case menggambarkan proses system
(kebutuhan system dari sudut pandang user)
USE CASE DIAGRAM
USE CASE DIAGRAM
ACTOR-USE CASE DIAGRAM
Actor menggambarkan orang, system atau external entitas / stakeholder yang menyediakan atau menerima informasi dari system
Actor memberi input atau menerima informasi dari system
Actor biasanya menggunakan Noun
Actor digambarkan dengan gambar stick figure atau dengan gambar visual
atau atau dll
Tidak boleh ada komunikasi langsung antar actor (Actors don’t interact with one another )
Indikasi <
Adanya actor bernama “Time” yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan)
ACTOR-USE CASE DIAGRAM
Letakkan actor utama anda pada pojok kiri atas dari diagram (in western culture people read from left to right, top to bottom)
Actor jangan digambarkan ditengah-tengah use cases (actors are placed to the outside of the diagram, and not the middle of it)
Association - Use Case Diagram
Ada 4 jenis relasi yang bisa timbul pada use case diagram
Association antara actor dan use case
Association antara use case
Generalization/Inheritance antara use case
Generalization/Inheritance antara actors
Associations bukan menggambarkan aliran data/informasi
Associations digunakan untuk menggambarkan bagaimana actor terlibat dalam use case
Assocciation – Use Case Diagram
Association - Use Case Diagram
<
termasuk didalam use case lain (required) / (diharuskan)
Pemanggilan use case oleh use case lain
contohnya adalah Pemanggilan sebuah fungsi program
Gambarkan association <
Tanda panah terbuka harus terarah ke sub use case
Tidak boleh actor dihubungkan pada use case <
Association - Use Case Diagram
Association antara use case
<
Perluasan dari use case lain jika kondisi atau syarat terpenuhi (Optional Behaviour)
Kurangi penggunaan association Extend ini, terlalu banyak pemakaian association ini membuat diagram sulit dipahami.
Tanda panah terbuka harus terarah ke parent/base use case
Gambarkan association extend secara vertical (picture extending use case below than base/parent use case)
Tidak boleh actor dihubungkan pada use case <
Association - Use Case Diagram
Generalization/inheritance
Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum
Harus digambarkan secara vertikal
Generalization/inheritance antara use case
Dibuat ketika ada sebuah keadaan yang lain/perlakuan khusus
Inheriting use case dibawah base/parent use case
Generalization/inheritance antara actor
Dibuat ketika ada sebuah actor baru terbentuk dan mempunyai atribut dan methode yang sama dengan actor yang sudah ada
Inheriting actor dibawah base/parent actor
System Boundary Boxes - Use Case Diagram
Digambarkan dengan kotak disekitar use case, untuk menggambarkan jangkauan system anda (scope of of your system).
Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan
System boundary boxes are optional
Contoh:
Lain-lain Use Case Diagram
Association <
<
<
Avoid more than 2 level of use case association
CONTOH
SISTEM OPERASI
Sistem operasi
Pendahuluan
Istilah Sistem Operasi sering kali ditujukan kepada seluruh perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perngkat lunak terinstall. Sistem operasi (operating system, OS) adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta preses operasi dasar sistem, termasuk menjalankan software aplikasi yang ada seperti word processor, browser web, dll.
Jadi Sistem Operasi merupakan perangkat lunak lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dihidupkan. Sedangkan perangkat lunak lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan memberikan layanannya terhadap perangkat lunak –perangkat lunak yang terinstal di computer Layanan yang dimaksudkan adalah melakukan pengelolaan (manajemen) terhadap memory, prosesor, perangkat input-output dan arsip (file) yang berupa proses akses ke disk, manajemen penggunaan memori, pengaturan dan penjadwalan peritah (task scheduling), dan control antar-muka user (user interface). Sehingga masing-masing perangkat lunak tidak perlu lagi melakukan tugas tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas tersebut dinamakan dengan "kernel" suatu Sistem Operasi
Jika sistem komputer terdiri dari lapisan-lapisan, maka Sistem Operasi merupakan penghubung antara lapisan perangkat keras dan lapisan perangkat lunak. Selain itu, Sistem Operasi melakukan semua tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. sistem operasi menjamin aplikasi perangkat lunak yang lain dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka sistem operasi mengatur jadwal secara tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu library dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi tersebut, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut berulang kali.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Library yang merupakan penyedia kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Beberapa sistem operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sesuai perkembangan teknologi maka pada masa sekarang ini hampir semua sistem operasi mampu meng-handle beberapa aplikasi yang berjalan secara simultan pada waktu yang bersamaan. Sistem operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX)
Ada juga sistem operasi yang berukuran sangat besar dan kompleks, inputnya tergantung pengguna yang biasa disebut sebagai Desktop OS, sedangkan sistem operasi yang lain sangat kecil, terbatas dan dibuat khusus dengan asumsi bekerja tanpa intervensi manusia sama sekali dan biasa dikatakan sebagai Real-Time OS
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.
Layanan inti umum
Dengan makin berkembangnya sistem operasi, maka semakin beretambah layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Proses
Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
Kernel
Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengaksesperangkat keras komputer secara aman.
Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.
Beberapa desain Kernel
Beberapa desain kernel sistem operasi
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat kerassecara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.
Kernel monolitik
Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
Kernel sistem operasi GNU/Linux, Linux.
Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
Mikrokernel
Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
Beberapa sistem operasi yang menggunakan microkernel:
IBM AIX, sebuah versi UNIX dari IBM
Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X
Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA Phone.
Kernel hibrida
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.
Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan berbasis IBM PC dan kompatibelnya.
Microsoft Windows NT (dan semua keturunannya).
Exokernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.
Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.
Contoh implementasi kernel
Windows
Pada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel ini menangani manajemen memori, operasi masukan / keluaran dan interrupt. Ketika boot Windows,kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasi memorikernel32.dll, akan muncul pesan kesalahan "invalid page fault".
Pendahuluan
Istilah Sistem Operasi sering kali ditujukan kepada seluruh perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perngkat lunak terinstall. Sistem operasi (operating system, OS) adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta preses operasi dasar sistem, termasuk menjalankan software aplikasi yang ada seperti word processor, browser web, dll.
Jadi Sistem Operasi merupakan perangkat lunak lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dihidupkan. Sedangkan perangkat lunak lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan memberikan layanannya terhadap perangkat lunak –perangkat lunak yang terinstal di computer Layanan yang dimaksudkan adalah melakukan pengelolaan (manajemen) terhadap memory, prosesor, perangkat input-output dan arsip (file) yang berupa proses akses ke disk, manajemen penggunaan memori, pengaturan dan penjadwalan peritah (task scheduling), dan control antar-muka user (user interface). Sehingga masing-masing perangkat lunak tidak perlu lagi melakukan tugas tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas tersebut dinamakan dengan "kernel" suatu Sistem Operasi
Jika sistem komputer terdiri dari lapisan-lapisan, maka Sistem Operasi merupakan penghubung antara lapisan perangkat keras dan lapisan perangkat lunak. Selain itu, Sistem Operasi melakukan semua tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. sistem operasi menjamin aplikasi perangkat lunak yang lain dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka sistem operasi mengatur jadwal secara tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu library dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi tersebut, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut berulang kali.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Library yang merupakan penyedia kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Beberapa sistem operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sesuai perkembangan teknologi maka pada masa sekarang ini hampir semua sistem operasi mampu meng-handle beberapa aplikasi yang berjalan secara simultan pada waktu yang bersamaan. Sistem operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX)
Ada juga sistem operasi yang berukuran sangat besar dan kompleks, inputnya tergantung pengguna yang biasa disebut sebagai Desktop OS, sedangkan sistem operasi yang lain sangat kecil, terbatas dan dibuat khusus dengan asumsi bekerja tanpa intervensi manusia sama sekali dan biasa dikatakan sebagai Real-Time OS
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.
Layanan inti umum
Dengan makin berkembangnya sistem operasi, maka semakin beretambah layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Proses
Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
Kernel
Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengaksesperangkat keras komputer secara aman.
Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.
Beberapa desain Kernel
Beberapa desain kernel sistem operasi
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat kerassecara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.
Kernel monolitik
Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
Kernel sistem operasi GNU/Linux, Linux.
Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
Mikrokernel
Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
Beberapa sistem operasi yang menggunakan microkernel:
IBM AIX, sebuah versi UNIX dari IBM
Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X
Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA Phone.
Kernel hibrida
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.
Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan berbasis IBM PC dan kompatibelnya.
Microsoft Windows NT (dan semua keturunannya).
Exokernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.
Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.
Contoh implementasi kernel
Windows
Pada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel ini menangani manajemen memori, operasi masukan / keluaran dan interrupt. Ketika boot Windows,kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasi memorikernel32.dll, akan muncul pesan kesalahan "invalid page fault".
Rabu, 24 Maret 2010
Cache
Memori cepat dg kapasitas yg sedikit
Terletak antara main memory dengan CPU
Bisa saja diletakkan dalam chip CPU atau module tersendiri
Terletak antara main memory dengan CPU
Bisa saja diletakkan dalam chip CPU atau module tersendiri
Organisasi dan arsitektur computer
.: Definisi Organisasi Komputer
Organisasi komputer berkaitan dengan unit-unit
operasional dan interkoneksinya yang merealisasikan spesifikasi arsitektural
Misal : teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol
.: Definisi Arsitektur Komputer
Arsitektur komputer berkaitan dengan atribut – atribut yang mempunyai dampak langsung pada eksekusi logis sebuah program.[William Stalling]
Misal : Set Instruksi, jumlah bit yang digunakan untuk penyajian data, mekanisme I/O, teknik pengalamantan (addressing techniques).
Perbedaan arsitektur dan organisasi komputer
Arsitektur sama, organisasi dapat berbeda
Arsitektur bertahan lama, organisasi menyesuaikan perkembangan teknologi
Semua Intel familix86 memiliki arsitektur dasar yang sama
Famili IBM System/370 memiliki arsitektur dasar yang sama
Memberikan compatibilitas instruksi level mesin
Organisasi antar versi memiliki perbedaan
Organisasi komputer berkaitan dengan unit-unit
operasional dan interkoneksinya yang merealisasikan spesifikasi arsitektural
Misal : teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol
.: Definisi Arsitektur Komputer
Arsitektur komputer berkaitan dengan atribut – atribut yang mempunyai dampak langsung pada eksekusi logis sebuah program.[William Stalling]
Misal : Set Instruksi, jumlah bit yang digunakan untuk penyajian data, mekanisme I/O, teknik pengalamantan (addressing techniques).
Perbedaan arsitektur dan organisasi komputer
Arsitektur sama, organisasi dapat berbeda
Arsitektur bertahan lama, organisasi menyesuaikan perkembangan teknologi
Semua Intel familix86 memiliki arsitektur dasar yang sama
Famili IBM System/370 memiliki arsitektur dasar yang sama
Memberikan compatibilitas instruksi level mesin
Organisasi antar versi memiliki perbedaan
Senin, 22 Maret 2010
arsitektur dan organisasi komputer
ORGANISASI & ARSITEKTUR KOMPUTER
Oleh : Drs. Slamet Soelaeman MT
Text Book
William Stalling, “Computer Organization & Architecture”, Prentice Hall, 2000
Andrew S. Tanenbaum,” Structured Computer Organization”, Prentice Hall, 1999
MATERI
DEFINISI ARSITEKTUR KOMPUTER
DEFINISI ORGANISASI KOMPUTER
APA ITU KOMPUTER
STRUKTUR & FUNGSI KOMPUTER
PENJELASAN
EVOLUSI KOMPUTER
.: Definisi Organisasi Komputer
Organisasi komputer berkaitan dengan unit-unit
operasional dan interkoneksinya yang merealisasikan spesifikasi arsitektural
Misal : teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol
.: Definisi Arsitektur Komputer
Arsitektur komputer berkaitan dengan atribut – atribut yang mempunyai dampak langsung pada eksekusi logis sebuah program.[William Stalling]
Misal : Set Instruksi, jumlah bit yang digunakan untuk penyajian data, mekanisme I/O, teknik pengalamantan (addressing techniques).
Arsitektur & Organisasi 1
Semua Keluarga Intel x86 mempunyai arsitektur dasar yang sama
Sistem IBM System/Keluarga 370 mempunyai arsitektur dasar yang sama
Memberikan compatibilitas instruksi level
At least backwards
Mesin organisasi antar versi memiliki perbedaan
Struktur & Fungsi
Struktur adalah sistem yang berinteraksi dengan cara tertentu dengan dunia luar.
Fungsi adalah operasi dari masing-masing komponen yang merupakan bagian dari struktur
.: Organisasi Vs Arsitektur 1
Ilustrasi, perbedaan antara arsitektur dan organisasi, pabrik komputer menawarkan sekelompok model komputer, yang semuanya memiliki arsitektur yang sama tetapi dengan organisasi yang berbeda.
Akibatnya, model – model yang berbeda akan memiliki harga dan karakteristik kinerja yang berbeda. Selain itu suatu arsitektur dapat bertahan selama bertahun – tahun dan meliputi sejumlah model komputer yang berbeda, namun organisasinya dapat berubah – ubah sesuai seiring dengan perkembangan teknologi.
.: Organisasi Vs Arsitektur 2
Arsitektur sama, organisasi dapat berbeda
Arsitektur bertahan lama, organisasi menyesuaikan perkembangan teknologi
Semua Intel familix86 memiliki arsitektur dasar yang sama
Famili IBM System/370 memiliki arsitektur dasar yang sama
Memberikan compatibilitas instruksi level mesin
Organisasi antar versi memiliki perbedaan
.: Apa itu Komputer ?
Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung. Dalam bahasa Inggris disebut to compute.
Definisi komputer : sekumpulan alat elektronik yang saling bekerja sama, dapat menerima data (input), mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya.
Semua komputer memiliki 4 fungsi:
Pengolahan data - Data processing
Penyimpanan data - Data storage
Pemindahan data - Data movement
Kendali - Control
Unit Fungsional Dasar Komputer
Gambar Fungsi
Gambar dari Fungsi Komputer
Operasi (1)
Fungsi Operasi Pemindahan Data
Contoh : keyboard ke screen
Operasi (2)
Fungsi Operasi Penyimpanan Data
contoh : Internet download to disk
Operasi (3)
Proses dari/ke unit penyimpanan
Contoh : Updating bank statement
Operasi (4)
Proses dari unit penyimpanan ke I/O
Contoh : Printing a bank statement
Struktur - Top Level
Struktur - CPU
Struktur – Unit Kontrol
Struktur dan fungsi komputer
Penjelasan
Fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur. Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut:
1. Input Device (Alat Masukan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer. Contoh : keyboard
2. Output Device (Alat Keluaran)
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.
3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini.
4. CPU (Central Processing Unit)
CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer.
5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang hanya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.
6. Data Bus
Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menerima data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.
7. Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.
8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 sampai 10 jalur paralel.
Mechanical devices
Electromechanical Machines
• Based on Relays
– Konrad Zuse (1910-1995)
The Zuse Z3 & Z4
.: Evolusi Komputer :.
KOMPUTER GENERASI PERTAMA (1941)
Pemicu Perang Dunia II
Penggunaan Vacum Tube & instruksi menggunakan bahasa mesin
ENIAC (Electronic Numerical Integrator and Computer) : 18000 tabung, 30 ton.
Electronic Computers
KOMPUTER GENERASI KETIGA (1958)
penggunaan IC (Integrated Circuit )
mengkombinasikan tiga komponen elektronik dalam sebuah piringan silikon kecil yang terbuat dari pasir kuarsa
munculnya chip semikonduktor : gabungan banyak IC dalam 1 chip yang dapat diprogram sesui dengan kebutuhan
KOMPUTER GENERASI KEEMPAT (1980)
Setelah IC, tujuan pengembangan menjadi lebih jelas: mengecilkan ukuran sirkuit dan komponen-komponen elektrik.
Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip.
Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal.
Mikroprosesor : penggabungan seluruh komponen komputer ( CPU , memori, kendali I/O) dan diprogram sesuai dengan kebutuhan.
Munculnya PC
Komputer Generasi Kelima
Sudah tidak berorientasi pada kecepatan atau ukuran fisik, namun lebih menonjolkan performance Artificial Intelegence
Patern recognation, bioinformatika
Kesimpulan
Komputer adalah sebuah mesin elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut seperangkat instruksi yang tersimpan dalam
komputer dan menghasilkan keluaran informasi yang dihasilkan setelah diolah.
Organisasi Komputer adalah bagian yang terkait erat dengan unit–unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya.
Arsitektur Komputer lebih cenderung pada kajian atribut–atribut sistem komputer yang terkait dengan seorang programmer.
Struktur internal komputer meliputi: Central Processing Unit(CPU), Struktur internal CPU meliputi: Control Unit, Aritmetic And Logic Unit (ALU), Register, CPU Interkoneksi.
Fungsi dasar sistem komputer adalah Fungsi Operasi Pengolahan Data, Penyimpanan Data, Fungsi Operasi Pemindahan Data, Fungsi Operasi Kontrol.
Organisasi Komputer Dosen : Drs. Slamet Soelaeman,MT Handbook : Computer Organization and architecture 5th Edition – Prentice Hall by William Stalling
Materi 2 Evolusi dan Kinerja Komputer
Latar Belakang - ENIAC
ENIAC (Electronic Numerical Integrator And Computer)
Ditemukan oleh John Presper Eckert dan John Mauchly
Penelitian di University of Pennsylvania
Jarak dan tabel lintasan peluru kendali
Dimulai 1943, Selesai 1946
Terlalu telat untuk digunakan dalam PD II
Digunakan hingga 1955
ENIAC – Lebih lengkap
Menggunakan bilangan desimal (tdk biner)
20 akumulator yang menampung 10 digits
Di program secara manual dengan switch
Terdiri dari 18,000 tabung hampa
Dengan berat 30 tons
Meggunakan lokasi 15,000 kaki bujur sangkar
Konsumsi daya sebesar 140 kW
Melakukan 5.000 operasi penjumlahan perdetik
von Neumann/Turing
Konsep Stored Program
Memori utama untuk menyimpan program dan data
ALU beroperasi atas data biner
Unit Kontrol menginterprestasikan instruksi dari memori dan mengeksekusinya
Perangkat I/O dioperasikan oleh unit kontrol
Princeton Institute for Advanced Studies
IAS
Selesai tahun 1952
Structure of von Nuemann machine
Penjelasan - IAS
1000 x 40 bit words
Bilangan biner
2 x 20 bit instruksi
Pengaturan register (terdapat dalam CPU)
Memory Buffer Register (MBR)
Memory Address Register (MAR)
Instruction Register (IR)
Instruction Buffer Register (IBR)
Program Counter (PC)
Accumulator (AC)
Multiplier Quotient (MQ)
Struktur IAS - detail
Komputer Komersil
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
Kalkulasi dari US Bureau of Census - 1950
Menjadi bagian dari Sperry-Rand Corporation
Late 1950s - UNIVAC II
Lebih cepat
Memori lebih besar
IBM
Peralatan pemroses punched-card
1953 – IBM seri 701
Komputer terprogram pertama dari IBM
Untuk perhitungan aplikasi ilmiah
1955 - IBM 702
Aplikasi bisnis
IBM menjadi pemimpin seri 700/7000
Transistors
Menggantikan tabung hampa (vacuum tubes)
Lebih kecil
Lebih murah
Disipasi panas rendah
Perangkat padat (Solid State device)
Dibuat dari Silicon (Sand)
Ditemukan tahun 1947 di Laboratorium Bell
Oleh William Shockley dan kawan-kawan.
Komputer berbasis Transistor
Mesin generasi kedua
NCR & RCA memproduksi mesin kesil menngunakan transistor
IBM 7000
DEC - 1957
Memproduksi komputer PDP-1
Mikroelektronik
Diartikan “small electronics”
Sebuah komputer dibuat atas gerbang-gerbang logika, sel-sel memori dan interkoneksinya
Ini dapat diproduksi pada sebuah bahan semikonduktor
Misalnya : silicon wafer
Generasi Komputer
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration (SSI) - 1965
Lebih dari 100 perangkat dalam satu chip
Medium scale integration (MSI) - 1971
Sekitar 100-3.000 perangkat dalam satu chip
Large scale integration (LSI) - 1971-1977
3.000 – 100.000 perangkat dalam satu chip
Very large scale integration (VLSI) - 1978 - sekarang
100.000 – 100.000.000 perangkat dalam satu chip
Ultra large scale integration (ULSI)
Lebih dari 100.000.000 perangkat dalam satu chip
Hukum Moore
Peningkatan muatan komponen dalam chip
Gordon Moore – salah satu pendiri Intel
Jumlah transistors pada sebuah chip meningkat dua kali lipat setiap tahunnya
Sejak 1970-an perkambangan sedikit melambat
Jumlah transistor betambah dua kali lipat setiap 18 bulan
Biaya sebuah chip tidak berubah baik satu maupun banyak
Muatan pengepakan yang lebih tinggi berarti memperpendek jalur listrik, akan menghasilkan kinerja yang lebih tinggi juga
Ukuran yang senakin kecil, flesibelitas meningkat
Mereduksi daya dan membutuhkan pendingin
Interkoneksi semakin sedikit meningkatkan reabilitasnya
Pertumbuhan jumlah transistor CPU
IBM seri 360
1964
Menggantikan (& tidak kompatibel dengan) seri 7000
Rancangan pertama “Keluarga ” Komputer
Instruksi set yang sama atau identik
Sistem operasi yang sama atau identik
Peningkatkan kecepatan
Peningkatan jumlah port I/O (tambahan terminal)
Peningkatan ukuran memori
Peningkatan biaya
Struktur switch dimultipleks
DEC PDP-8
1964
Minicomputer pertama
Tidak membutuhkan ruangan khusus
Cukup kecil untuk ditemapkan di lab
Aplikasi embedded & OEM
Menggunakan struktur bus
Bus Strukture DEC - PDP-8
Memori Semikonduktor
1970
Diperkenalkan oleh Fairchild
Ukuran pada sebuah cincin (core)
Penyimpan 1 bit magnetic core
Mampu menamping hingga 256 bits
Membaca dengan pola Non-destructive
Jauh lebih cepat
Kapasitasnya diperkirakan meningkat dua kali setiap tahunnya
Intel
1971 - 4004
Microprocessor pertama
Semua komponen CPU pada satu chip
4 bit
Diawali pada tahun 1972 dengan 8008
8 bit
Dirancang untuk aplikasi tertentu
1974 - 8080
Mikroprosesor Intel pertama untuk tujuan umum
1978 - 8086, 80286
1985 - 80386
1989 - 80486
Perkembangan selanjutnya
Pipelining
On board cache
On board L1 & L2 cache
Branch prediction
Data flow analysis
Speculative execution
Persoalan Kinerja
Kecepatan prosesor meningkat
Kapasitas memory naik
Kecepatan memory selalu tertinggal oleh kecepatan prosesor
Karakteristik Prosesor dan DRAM
Trend dalam penggunaan DRAM
Solusi
Pertambahan jumlah bit dilakukan sekali
Buat DRAM “lebih lebar” dari pada “lebih dalam”
Perubahan antarmuka DRAM
Cache
Kurangi frequency of memory access
Cache yang lebih kompleks dan cache pada chip
Peningkatan bandwidth interkoneksi
Buse- bus kecepatan tinggi
Bus-bus yang disusun secara hierarkis
Pentium
CISC
Menggunakan teknik-teknik superscalar
Eksekusi instruksi secara parallel
P6 : menggunakan:
Brach prediction
Data flow analisys
Specultive execution
P7 : menggunakan teknologi berbasis RISC
PowerPC
Sistem RISC superscalar
Hasil kerjasama IBM – Motorolla - Apple
Diturunkan dari arsitektur POWER (IBM RS/6000)
Keluarga PowerPC:
601: 32-bit
603: low-end desktop dan komputer portabel
604: desktop dan low-end user
620: 64-bit penuh, high-end user
Internet Resources
Karakteristik Memori
Lokasi
Kapasitas
Unit transfer
Metode Akses
Kinerja
Jenis fisik
Sifat-sifat fisik
Organisasi
Lokasi
CPU (register)
Internal (main memori)
External (secondary memori)
Kapasitas
Ukuran Word
Satuan alami organisasi memori
Banyaknya words
atau Bytes
Satuan Transfer
Internal
Jumlah bit dalam sekali akses
Sama dengan jumlah saluran data (= ukuran word)
External
Dalam satuan block yg merupakan kelipatan word
Addressable unit
Lokasi terkecil yang dpt dialamati secara uniq
Secara internal biasanya sama dengan Word
Untuk disk digunakan satuan Cluster
Metode Akses
Sekuensial
Mulai dari awal sampai lokasi yang dituju
Waktu akses tergantung pada lokasi data dan lokasi sebelumnya
Contoh tape
Direct
Setiap blocks memilki address yg unique
Pengaksesan dengan cara lompat ke kisaran umum (general vicinity) ditambah pencarian sekuensial
Waktu akses tdk tergantung pada lokasi dan lokasi sebelumnya
contoh disk
Metode Akses
Random
Setiap lokasi memiliki alamat tertentu
Waktu akses tdk tergantung pada urutan akses sebelumnya
Contoh RAM
Associative
Data dicari berdasarkan isinya bukan berdasarkan alamatnya
Waktu akses tdk tergantung terhadap lokasi atau pola akses sebelumnya
Contoh: cache
Hierarki Memori
Register
Dalam CPU
Internal/Main memory
Bisa lebih dari satu level dengan adanya cache
“RAM”
External memory
Penyimpan cadangan
Performance
Access time
Waktu untuk melakukan operasi baca-tulis
Memory Cycle time
Diperlukan waktu tambahan untuk recovery sebelum akses berikutnya
Access time + recovery
Transfer Rate
Kecepatan transfer data ke/dari unit memori
Jenis Fisik
Semiconductor
RAM
Magnetic
Disk & Tape
Optical
CD & DVD
Others
Bubble
Hologram
Karakteristik
Decay
Volatility
Erasable
Power consumption
Organisasi
Susunan fisik bit-bit untuk membentuk word
Kendala Rancangan
Berapa banyak?
Capacity
Seberapa cepat?
Time is money
Berapa mahal?
Hierarki
Registers
L1 Cache
L2 Cache
Main memory
Disk cache
Disk
Optical
Tape
Ingin Komputer yg Cepat?
Komputer hanya menggunakan static RAM
Akan sangat cepat
Tidak diperlukan cache
Apa perlu cache untuk cache?
Harga menjadi sangat mahal
Locality of Reference
Selama berlangsungnya eksekusi suatu program, referensi memori cenderung untuk mengelompok (cluster)
Contoh: loops
Memori Semiconductor
RAM
Penamaan yang salah karena semua memori semiconductor adalah random access (termasuk ROM)
Read/Write
Volatile
Penyimpan sementara
Static atau dynamic
Dynamic RAM
Bit tersimpan berupa muatan dalam capacitor
Muatan dapat bocor
Perlu di-refresh
Konstruksi sederhana
Ukuran per bit nya kecil
Murah
Perlu refresh-circuits
Lambat
Main memory
Static RAM
Bit disimpan sebagai switches on/off
Tidk ada kebocoran
Tdk perlu refreshing
Konstruksi lebih complex
Ukuran per bit lebih besar
Lebih mahal
Tidak memerlukan refresh-circuits
Lebih cepat
Cache
Read Only Memory (ROM)
Menyimpan secara permanen
Untuk
Microprogramming
Library subroutines
Systems programs (BIOS)
Function tables
Jenis ROM
Ditulisi pada saat dibuat
Sangat mahal
Programmable (once)
PROM
Diperlukan peralatan khusus untuk memprogram
Read “mostly”
Erasable Programmable (EPROM)
Dihapus dg sinar UV
Electrically Erasable (EEPROM)
Perlu waktu lebih lama untuk menulisi
Flash memory
Menghapus seleuruh memori secara electris
Organisasi
16Mbit chip dapat disusun dari 1M x 16 bit word
1 bit/chip memiliki 16 lots dengan bit ke 1 dari setiap word berada pada chip 1
16Mbit chip dapat disusun dari array: 2048 x 2048 x 4bit
Mengurangi jumlah addres pins
Multiplex row address dg column address
11 pins untuk address (211=2048)
Menambah 1 pin kapasitas menjadi 4x
Refreshing
Rangkaian Refresh dimasukkan dalam chip
Disable chip
Pencacahan melalui baris
Read & Write back
Perlu waktu
Menurunkan kinerja
Contoh: 16 Mb DRAM (4M x 4)
Packaging
Organisation Module
Organisation Modul (2)
Koreksi kesalahan
Rusak berat
Cacat/rusak Permanent
Rusak ringan
Random, non-destructive
Rusak non permanent
Dideteksi menggunakan Hamming code
Error Correcting Code Function
Cache
Memori cepat dg kapasitas yg sedikit
Terletak antara main memory dengan CPU
Bisa saja diletakkan dalam chip CPU atau module tersendiri
Operasi pada Cache
CPU meminta isi data dari lokasi memori tertentu
Periksa data tersebut di cache
Jika ada ambil dari cache (cepat)
Jika tidak ada, baca 1 block data dari main memory ke cache
Ambil dari cache ke CPU
Cache bersisi tags untuk identitas block dari main memory yang berada di cache
Desain Cache
Ukuran (size)
Fungsi Mapping
Algoritma penggantian (replacement algrthm)
Cara penulisan (write policy)
Ukuran Block
Jumlah Cache
Size
Cost
Semakin besar semakin mahal
Speed
Semakin besar semakin cepat
Check data di cache perlu waktu
Organisasi Cache
Fungsi Mapping
Ukuran Cache 64kByte
Ukuran block 4 bytes
diperlukan 16k (214) alamat per alamat 4 bytes
Jumlah jalur alamat cache 14
Main memory 16MBytes
Jalur alamat perlu 24 bit
(224=16M)
Direct Mapping
Setiap block main memory dipetakan hanya ke satu jalur cache
Jika suatu block ada di cache, maka tempatnya sudah tertentu
Address terbagi dalam 2 bagian
LS-w-bit menunjukkan word tertentu
MS-s-bit menentukan 1 blok memori
MSB terbagi menjadi field jalur cache r dan tag sebesar s-r (most significant)
Struktur Alamat Direct Mapping
24 bit address
2 bit : word identifier (4 byte block)
22 bit: block identifier
8 bit tag (=22-14)
14 bit slot atau line
2 blocks pada line yg sama tidak boleh memiliki tag yg sama
Cek isi cache dengan mencari line dan Tag
Table Cache Line pada Direct Mapping
Cache line blocks main memori
0 0, m, 2m, 3m…2s-m
1 1,m+1, 2m+1…2s-m+1
m-1 m-1, 2m-1,3m-1…2s-1
Organisai Cache Direct Mapping
Contoh Direct Mapping
Keuntungan & Kerugian Direct Mapping
Sederhana
Murah
Suatu blok memiliki lokasi yang tetap
Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sanagat tinggi
Associative Mapping
Blok main memori dpt di simpan ke cache line mana saja
Alamat Memori di interpresi sbg tag dan word
Tag menunjukan identitas block memori
Setiap baris tag dicari kecocokannya
Pencarian data di Cache menjadi lama
Organisasi Cache Fully Associative
Contoh Associative Mapping
Struktur Address Associative Mapping
22 bit tag disimpan untuk blok data 32 bit
tag field dibandingkan dg tag entry dalam cache untuk pengecekan data
LS 2 bits dari address menunjukkan 16 bit word yang diperlukan dari 32 bit data block
contoh
Address Tag Data Cache line
FFFFFC FFFFFC 24682468 3FFF
Set Associative Mapping
Cache dibagi dalam sejumlah sets
Setiap set berisi sejumlah line
Suatu blok di maps ke line mana saja dalam set
misalkan Block B dapat berada pada line mana saja dari set i
Contoh: per set ada 2 line
2 way associative mapping
Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set
Contoh Set Associative Mapping
Nomor set 13 bit
Nomor Block dlm main memori adl modulo 213
000000, 00A000, 00B000, 00C000 … map ke set yang sama
Organisasi Cache: Two Way Set Associative
Struktur Address: Set Associative Mapping
set field untuk menentukan set cache set yg dicari
Bandingkan tag field untuk mencari datanya
Contoh:
Address Tag Data Set number
1FF 7FFC 1FF 12345678 1FFF
001 7FFC 001 11223344 1FFF
Contoh Two Way Set Associative Mapping
Replacement Algorithms (1) Direct mapping
Tidak ada pilihan
Setiap block hanya di map ke 1 line
Ganti line tersebut
Replacement Algorithms (2) Associative & Set Associative
Hardware implemented algorithm (speed)
Least Recently used (LRU)
e.g. in 2 way set associative
Which of the 2 block is lru?
First in first out (FIFO)
replace block that has been in cache longest
Least frequently used
replace block which has had fewest hits
Random
Write Policy
Must not overwrite a cache block unless main memory is up to date
Multiple CPUs may have individual caches
I/O may address main memory directly
Write through
All writes go to main memory as well as cache
Multiple CPUs can monitor main memory traffic to keep local (to CPU) cache up to date
Lots of traffic
Slows down writes
Remember bogus write through caches!
Write back
Updates initially made in cache only
Update bit for cache slot is set when update occurs
If block is to be replaced, write to main memory only if update bit is set
Other caches get out of sync
I/O must access main memory through cache
N.B. 15% of memory references are writes
Pentium Cache
Foreground reading
Find out detail of Pentium II cache systems
NOT just from Stallings!
Newer RAM Technology (1)
Basic DRAM same since first RAM chips
Enhanced DRAM
Contains small SRAM as well
SRAM holds last line read (c.f. Cache!)
Cache DRAM
Larger SRAM component
Use as cache or serial buffer
Newer RAM Technology (2)
Synchronous DRAM (SDRAM)
currently on DIMMs
Access is synchronized with an external clock
Address is presented to RAM
RAM finds data (CPU waits in conventional DRAM)
Since SDRAM moves data in time with system clock, CPU knows when data will be ready
CPU does not have to wait, it can do something else
Burst mode allows SDRAM to set up stream of data and fire it out in block
SDRAM
Newer RAM Technology (3)
Foreground reading
Check out any other RAM you can find
See Web site:
The RAM Guide
Oleh : Drs. Slamet Soelaeman MT
Text Book
William Stalling, “Computer Organization & Architecture”, Prentice Hall, 2000
Andrew S. Tanenbaum,” Structured Computer Organization”, Prentice Hall, 1999
MATERI
DEFINISI ARSITEKTUR KOMPUTER
DEFINISI ORGANISASI KOMPUTER
APA ITU KOMPUTER
STRUKTUR & FUNGSI KOMPUTER
PENJELASAN
EVOLUSI KOMPUTER
.: Definisi Organisasi Komputer
Organisasi komputer berkaitan dengan unit-unit
operasional dan interkoneksinya yang merealisasikan spesifikasi arsitektural
Misal : teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol
.: Definisi Arsitektur Komputer
Arsitektur komputer berkaitan dengan atribut – atribut yang mempunyai dampak langsung pada eksekusi logis sebuah program.[William Stalling]
Misal : Set Instruksi, jumlah bit yang digunakan untuk penyajian data, mekanisme I/O, teknik pengalamantan (addressing techniques).
Arsitektur & Organisasi 1
Semua Keluarga Intel x86 mempunyai arsitektur dasar yang sama
Sistem IBM System/Keluarga 370 mempunyai arsitektur dasar yang sama
Memberikan compatibilitas instruksi level
At least backwards
Mesin organisasi antar versi memiliki perbedaan
Struktur & Fungsi
Struktur adalah sistem yang berinteraksi dengan cara tertentu dengan dunia luar.
Fungsi adalah operasi dari masing-masing komponen yang merupakan bagian dari struktur
.: Organisasi Vs Arsitektur 1
Ilustrasi, perbedaan antara arsitektur dan organisasi, pabrik komputer menawarkan sekelompok model komputer, yang semuanya memiliki arsitektur yang sama tetapi dengan organisasi yang berbeda.
Akibatnya, model – model yang berbeda akan memiliki harga dan karakteristik kinerja yang berbeda. Selain itu suatu arsitektur dapat bertahan selama bertahun – tahun dan meliputi sejumlah model komputer yang berbeda, namun organisasinya dapat berubah – ubah sesuai seiring dengan perkembangan teknologi.
.: Organisasi Vs Arsitektur 2
Arsitektur sama, organisasi dapat berbeda
Arsitektur bertahan lama, organisasi menyesuaikan perkembangan teknologi
Semua Intel familix86 memiliki arsitektur dasar yang sama
Famili IBM System/370 memiliki arsitektur dasar yang sama
Memberikan compatibilitas instruksi level mesin
Organisasi antar versi memiliki perbedaan
.: Apa itu Komputer ?
Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung. Dalam bahasa Inggris disebut to compute.
Definisi komputer : sekumpulan alat elektronik yang saling bekerja sama, dapat menerima data (input), mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya.
Semua komputer memiliki 4 fungsi:
Pengolahan data - Data processing
Penyimpanan data - Data storage
Pemindahan data - Data movement
Kendali - Control
Unit Fungsional Dasar Komputer
Gambar Fungsi
Gambar dari Fungsi Komputer
Operasi (1)
Fungsi Operasi Pemindahan Data
Contoh : keyboard ke screen
Operasi (2)
Fungsi Operasi Penyimpanan Data
contoh : Internet download to disk
Operasi (3)
Proses dari/ke unit penyimpanan
Contoh : Updating bank statement
Operasi (4)
Proses dari unit penyimpanan ke I/O
Contoh : Printing a bank statement
Struktur - Top Level
Struktur - CPU
Struktur – Unit Kontrol
Struktur dan fungsi komputer
Penjelasan
Fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur. Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut:
1. Input Device (Alat Masukan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer. Contoh : keyboard
2. Output Device (Alat Keluaran)
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.
3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini.
4. CPU (Central Processing Unit)
CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer.
5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang hanya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.
6. Data Bus
Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menerima data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.
7. Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.
8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 sampai 10 jalur paralel.
Mechanical devices
Electromechanical Machines
• Based on Relays
– Konrad Zuse (1910-1995)
The Zuse Z3 & Z4
.: Evolusi Komputer :.
KOMPUTER GENERASI PERTAMA (1941)
Pemicu Perang Dunia II
Penggunaan Vacum Tube & instruksi menggunakan bahasa mesin
ENIAC (Electronic Numerical Integrator and Computer) : 18000 tabung, 30 ton.
Electronic Computers
KOMPUTER GENERASI KETIGA (1958)
penggunaan IC (Integrated Circuit )
mengkombinasikan tiga komponen elektronik dalam sebuah piringan silikon kecil yang terbuat dari pasir kuarsa
munculnya chip semikonduktor : gabungan banyak IC dalam 1 chip yang dapat diprogram sesui dengan kebutuhan
KOMPUTER GENERASI KEEMPAT (1980)
Setelah IC, tujuan pengembangan menjadi lebih jelas: mengecilkan ukuran sirkuit dan komponen-komponen elektrik.
Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip.
Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal.
Mikroprosesor : penggabungan seluruh komponen komputer ( CPU , memori, kendali I/O) dan diprogram sesuai dengan kebutuhan.
Munculnya PC
Komputer Generasi Kelima
Sudah tidak berorientasi pada kecepatan atau ukuran fisik, namun lebih menonjolkan performance Artificial Intelegence
Patern recognation, bioinformatika
Kesimpulan
Komputer adalah sebuah mesin elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut seperangkat instruksi yang tersimpan dalam
komputer dan menghasilkan keluaran informasi yang dihasilkan setelah diolah.
Organisasi Komputer adalah bagian yang terkait erat dengan unit–unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya.
Arsitektur Komputer lebih cenderung pada kajian atribut–atribut sistem komputer yang terkait dengan seorang programmer.
Struktur internal komputer meliputi: Central Processing Unit(CPU), Struktur internal CPU meliputi: Control Unit, Aritmetic And Logic Unit (ALU), Register, CPU Interkoneksi.
Fungsi dasar sistem komputer adalah Fungsi Operasi Pengolahan Data, Penyimpanan Data, Fungsi Operasi Pemindahan Data, Fungsi Operasi Kontrol.
Organisasi Komputer Dosen : Drs. Slamet Soelaeman,MT Handbook : Computer Organization and architecture 5th Edition – Prentice Hall by William Stalling
Materi 2 Evolusi dan Kinerja Komputer
Latar Belakang - ENIAC
ENIAC (Electronic Numerical Integrator And Computer)
Ditemukan oleh John Presper Eckert dan John Mauchly
Penelitian di University of Pennsylvania
Jarak dan tabel lintasan peluru kendali
Dimulai 1943, Selesai 1946
Terlalu telat untuk digunakan dalam PD II
Digunakan hingga 1955
ENIAC – Lebih lengkap
Menggunakan bilangan desimal (tdk biner)
20 akumulator yang menampung 10 digits
Di program secara manual dengan switch
Terdiri dari 18,000 tabung hampa
Dengan berat 30 tons
Meggunakan lokasi 15,000 kaki bujur sangkar
Konsumsi daya sebesar 140 kW
Melakukan 5.000 operasi penjumlahan perdetik
von Neumann/Turing
Konsep Stored Program
Memori utama untuk menyimpan program dan data
ALU beroperasi atas data biner
Unit Kontrol menginterprestasikan instruksi dari memori dan mengeksekusinya
Perangkat I/O dioperasikan oleh unit kontrol
Princeton Institute for Advanced Studies
IAS
Selesai tahun 1952
Structure of von Nuemann machine
Penjelasan - IAS
1000 x 40 bit words
Bilangan biner
2 x 20 bit instruksi
Pengaturan register (terdapat dalam CPU)
Memory Buffer Register (MBR)
Memory Address Register (MAR)
Instruction Register (IR)
Instruction Buffer Register (IBR)
Program Counter (PC)
Accumulator (AC)
Multiplier Quotient (MQ)
Struktur IAS - detail
Komputer Komersil
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
Kalkulasi dari US Bureau of Census - 1950
Menjadi bagian dari Sperry-Rand Corporation
Late 1950s - UNIVAC II
Lebih cepat
Memori lebih besar
IBM
Peralatan pemroses punched-card
1953 – IBM seri 701
Komputer terprogram pertama dari IBM
Untuk perhitungan aplikasi ilmiah
1955 - IBM 702
Aplikasi bisnis
IBM menjadi pemimpin seri 700/7000
Transistors
Menggantikan tabung hampa (vacuum tubes)
Lebih kecil
Lebih murah
Disipasi panas rendah
Perangkat padat (Solid State device)
Dibuat dari Silicon (Sand)
Ditemukan tahun 1947 di Laboratorium Bell
Oleh William Shockley dan kawan-kawan.
Komputer berbasis Transistor
Mesin generasi kedua
NCR & RCA memproduksi mesin kesil menngunakan transistor
IBM 7000
DEC - 1957
Memproduksi komputer PDP-1
Mikroelektronik
Diartikan “small electronics”
Sebuah komputer dibuat atas gerbang-gerbang logika, sel-sel memori dan interkoneksinya
Ini dapat diproduksi pada sebuah bahan semikonduktor
Misalnya : silicon wafer
Generasi Komputer
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration (SSI) - 1965
Lebih dari 100 perangkat dalam satu chip
Medium scale integration (MSI) - 1971
Sekitar 100-3.000 perangkat dalam satu chip
Large scale integration (LSI) - 1971-1977
3.000 – 100.000 perangkat dalam satu chip
Very large scale integration (VLSI) - 1978 - sekarang
100.000 – 100.000.000 perangkat dalam satu chip
Ultra large scale integration (ULSI)
Lebih dari 100.000.000 perangkat dalam satu chip
Hukum Moore
Peningkatan muatan komponen dalam chip
Gordon Moore – salah satu pendiri Intel
Jumlah transistors pada sebuah chip meningkat dua kali lipat setiap tahunnya
Sejak 1970-an perkambangan sedikit melambat
Jumlah transistor betambah dua kali lipat setiap 18 bulan
Biaya sebuah chip tidak berubah baik satu maupun banyak
Muatan pengepakan yang lebih tinggi berarti memperpendek jalur listrik, akan menghasilkan kinerja yang lebih tinggi juga
Ukuran yang senakin kecil, flesibelitas meningkat
Mereduksi daya dan membutuhkan pendingin
Interkoneksi semakin sedikit meningkatkan reabilitasnya
Pertumbuhan jumlah transistor CPU
IBM seri 360
1964
Menggantikan (& tidak kompatibel dengan) seri 7000
Rancangan pertama “Keluarga ” Komputer
Instruksi set yang sama atau identik
Sistem operasi yang sama atau identik
Peningkatkan kecepatan
Peningkatan jumlah port I/O (tambahan terminal)
Peningkatan ukuran memori
Peningkatan biaya
Struktur switch dimultipleks
DEC PDP-8
1964
Minicomputer pertama
Tidak membutuhkan ruangan khusus
Cukup kecil untuk ditemapkan di lab
Aplikasi embedded & OEM
Menggunakan struktur bus
Bus Strukture DEC - PDP-8
Memori Semikonduktor
1970
Diperkenalkan oleh Fairchild
Ukuran pada sebuah cincin (core)
Penyimpan 1 bit magnetic core
Mampu menamping hingga 256 bits
Membaca dengan pola Non-destructive
Jauh lebih cepat
Kapasitasnya diperkirakan meningkat dua kali setiap tahunnya
Intel
1971 - 4004
Microprocessor pertama
Semua komponen CPU pada satu chip
4 bit
Diawali pada tahun 1972 dengan 8008
8 bit
Dirancang untuk aplikasi tertentu
1974 - 8080
Mikroprosesor Intel pertama untuk tujuan umum
1978 - 8086, 80286
1985 - 80386
1989 - 80486
Perkembangan selanjutnya
Pipelining
On board cache
On board L1 & L2 cache
Branch prediction
Data flow analysis
Speculative execution
Persoalan Kinerja
Kecepatan prosesor meningkat
Kapasitas memory naik
Kecepatan memory selalu tertinggal oleh kecepatan prosesor
Karakteristik Prosesor dan DRAM
Trend dalam penggunaan DRAM
Solusi
Pertambahan jumlah bit dilakukan sekali
Buat DRAM “lebih lebar” dari pada “lebih dalam”
Perubahan antarmuka DRAM
Cache
Kurangi frequency of memory access
Cache yang lebih kompleks dan cache pada chip
Peningkatan bandwidth interkoneksi
Buse- bus kecepatan tinggi
Bus-bus yang disusun secara hierarkis
Pentium
CISC
Menggunakan teknik-teknik superscalar
Eksekusi instruksi secara parallel
P6 : menggunakan:
Brach prediction
Data flow analisys
Specultive execution
P7 : menggunakan teknologi berbasis RISC
PowerPC
Sistem RISC superscalar
Hasil kerjasama IBM – Motorolla - Apple
Diturunkan dari arsitektur POWER (IBM RS/6000)
Keluarga PowerPC:
601: 32-bit
603: low-end desktop dan komputer portabel
604: desktop dan low-end user
620: 64-bit penuh, high-end user
Internet Resources
Karakteristik Memori
Lokasi
Kapasitas
Unit transfer
Metode Akses
Kinerja
Jenis fisik
Sifat-sifat fisik
Organisasi
Lokasi
CPU (register)
Internal (main memori)
External (secondary memori)
Kapasitas
Ukuran Word
Satuan alami organisasi memori
Banyaknya words
atau Bytes
Satuan Transfer
Internal
Jumlah bit dalam sekali akses
Sama dengan jumlah saluran data (= ukuran word)
External
Dalam satuan block yg merupakan kelipatan word
Addressable unit
Lokasi terkecil yang dpt dialamati secara uniq
Secara internal biasanya sama dengan Word
Untuk disk digunakan satuan Cluster
Metode Akses
Sekuensial
Mulai dari awal sampai lokasi yang dituju
Waktu akses tergantung pada lokasi data dan lokasi sebelumnya
Contoh tape
Direct
Setiap blocks memilki address yg unique
Pengaksesan dengan cara lompat ke kisaran umum (general vicinity) ditambah pencarian sekuensial
Waktu akses tdk tergantung pada lokasi dan lokasi sebelumnya
contoh disk
Metode Akses
Random
Setiap lokasi memiliki alamat tertentu
Waktu akses tdk tergantung pada urutan akses sebelumnya
Contoh RAM
Associative
Data dicari berdasarkan isinya bukan berdasarkan alamatnya
Waktu akses tdk tergantung terhadap lokasi atau pola akses sebelumnya
Contoh: cache
Hierarki Memori
Register
Dalam CPU
Internal/Main memory
Bisa lebih dari satu level dengan adanya cache
“RAM”
External memory
Penyimpan cadangan
Performance
Access time
Waktu untuk melakukan operasi baca-tulis
Memory Cycle time
Diperlukan waktu tambahan untuk recovery sebelum akses berikutnya
Access time + recovery
Transfer Rate
Kecepatan transfer data ke/dari unit memori
Jenis Fisik
Semiconductor
RAM
Magnetic
Disk & Tape
Optical
CD & DVD
Others
Bubble
Hologram
Karakteristik
Decay
Volatility
Erasable
Power consumption
Organisasi
Susunan fisik bit-bit untuk membentuk word
Kendala Rancangan
Berapa banyak?
Capacity
Seberapa cepat?
Time is money
Berapa mahal?
Hierarki
Registers
L1 Cache
L2 Cache
Main memory
Disk cache
Disk
Optical
Tape
Ingin Komputer yg Cepat?
Komputer hanya menggunakan static RAM
Akan sangat cepat
Tidak diperlukan cache
Apa perlu cache untuk cache?
Harga menjadi sangat mahal
Locality of Reference
Selama berlangsungnya eksekusi suatu program, referensi memori cenderung untuk mengelompok (cluster)
Contoh: loops
Memori Semiconductor
RAM
Penamaan yang salah karena semua memori semiconductor adalah random access (termasuk ROM)
Read/Write
Volatile
Penyimpan sementara
Static atau dynamic
Dynamic RAM
Bit tersimpan berupa muatan dalam capacitor
Muatan dapat bocor
Perlu di-refresh
Konstruksi sederhana
Ukuran per bit nya kecil
Murah
Perlu refresh-circuits
Lambat
Main memory
Static RAM
Bit disimpan sebagai switches on/off
Tidk ada kebocoran
Tdk perlu refreshing
Konstruksi lebih complex
Ukuran per bit lebih besar
Lebih mahal
Tidak memerlukan refresh-circuits
Lebih cepat
Cache
Read Only Memory (ROM)
Menyimpan secara permanen
Untuk
Microprogramming
Library subroutines
Systems programs (BIOS)
Function tables
Jenis ROM
Ditulisi pada saat dibuat
Sangat mahal
Programmable (once)
PROM
Diperlukan peralatan khusus untuk memprogram
Read “mostly”
Erasable Programmable (EPROM)
Dihapus dg sinar UV
Electrically Erasable (EEPROM)
Perlu waktu lebih lama untuk menulisi
Flash memory
Menghapus seleuruh memori secara electris
Organisasi
16Mbit chip dapat disusun dari 1M x 16 bit word
1 bit/chip memiliki 16 lots dengan bit ke 1 dari setiap word berada pada chip 1
16Mbit chip dapat disusun dari array: 2048 x 2048 x 4bit
Mengurangi jumlah addres pins
Multiplex row address dg column address
11 pins untuk address (211=2048)
Menambah 1 pin kapasitas menjadi 4x
Refreshing
Rangkaian Refresh dimasukkan dalam chip
Disable chip
Pencacahan melalui baris
Read & Write back
Perlu waktu
Menurunkan kinerja
Contoh: 16 Mb DRAM (4M x 4)
Packaging
Organisation Module
Organisation Modul (2)
Koreksi kesalahan
Rusak berat
Cacat/rusak Permanent
Rusak ringan
Random, non-destructive
Rusak non permanent
Dideteksi menggunakan Hamming code
Error Correcting Code Function
Cache
Memori cepat dg kapasitas yg sedikit
Terletak antara main memory dengan CPU
Bisa saja diletakkan dalam chip CPU atau module tersendiri
Operasi pada Cache
CPU meminta isi data dari lokasi memori tertentu
Periksa data tersebut di cache
Jika ada ambil dari cache (cepat)
Jika tidak ada, baca 1 block data dari main memory ke cache
Ambil dari cache ke CPU
Cache bersisi tags untuk identitas block dari main memory yang berada di cache
Desain Cache
Ukuran (size)
Fungsi Mapping
Algoritma penggantian (replacement algrthm)
Cara penulisan (write policy)
Ukuran Block
Jumlah Cache
Size
Cost
Semakin besar semakin mahal
Speed
Semakin besar semakin cepat
Check data di cache perlu waktu
Organisasi Cache
Fungsi Mapping
Ukuran Cache 64kByte
Ukuran block 4 bytes
diperlukan 16k (214) alamat per alamat 4 bytes
Jumlah jalur alamat cache 14
Main memory 16MBytes
Jalur alamat perlu 24 bit
(224=16M)
Direct Mapping
Setiap block main memory dipetakan hanya ke satu jalur cache
Jika suatu block ada di cache, maka tempatnya sudah tertentu
Address terbagi dalam 2 bagian
LS-w-bit menunjukkan word tertentu
MS-s-bit menentukan 1 blok memori
MSB terbagi menjadi field jalur cache r dan tag sebesar s-r (most significant)
Struktur Alamat Direct Mapping
24 bit address
2 bit : word identifier (4 byte block)
22 bit: block identifier
8 bit tag (=22-14)
14 bit slot atau line
2 blocks pada line yg sama tidak boleh memiliki tag yg sama
Cek isi cache dengan mencari line dan Tag
Table Cache Line pada Direct Mapping
Cache line blocks main memori
0 0, m, 2m, 3m…2s-m
1 1,m+1, 2m+1…2s-m+1
m-1 m-1, 2m-1,3m-1…2s-1
Organisai Cache Direct Mapping
Contoh Direct Mapping
Keuntungan & Kerugian Direct Mapping
Sederhana
Murah
Suatu blok memiliki lokasi yang tetap
Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sanagat tinggi
Associative Mapping
Blok main memori dpt di simpan ke cache line mana saja
Alamat Memori di interpresi sbg tag dan word
Tag menunjukan identitas block memori
Setiap baris tag dicari kecocokannya
Pencarian data di Cache menjadi lama
Organisasi Cache Fully Associative
Contoh Associative Mapping
Struktur Address Associative Mapping
22 bit tag disimpan untuk blok data 32 bit
tag field dibandingkan dg tag entry dalam cache untuk pengecekan data
LS 2 bits dari address menunjukkan 16 bit word yang diperlukan dari 32 bit data block
contoh
Address Tag Data Cache line
FFFFFC FFFFFC 24682468 3FFF
Set Associative Mapping
Cache dibagi dalam sejumlah sets
Setiap set berisi sejumlah line
Suatu blok di maps ke line mana saja dalam set
misalkan Block B dapat berada pada line mana saja dari set i
Contoh: per set ada 2 line
2 way associative mapping
Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set
Contoh Set Associative Mapping
Nomor set 13 bit
Nomor Block dlm main memori adl modulo 213
000000, 00A000, 00B000, 00C000 … map ke set yang sama
Organisasi Cache: Two Way Set Associative
Struktur Address: Set Associative Mapping
set field untuk menentukan set cache set yg dicari
Bandingkan tag field untuk mencari datanya
Contoh:
Address Tag Data Set number
1FF 7FFC 1FF 12345678 1FFF
001 7FFC 001 11223344 1FFF
Contoh Two Way Set Associative Mapping
Replacement Algorithms (1) Direct mapping
Tidak ada pilihan
Setiap block hanya di map ke 1 line
Ganti line tersebut
Replacement Algorithms (2) Associative & Set Associative
Hardware implemented algorithm (speed)
Least Recently used (LRU)
e.g. in 2 way set associative
Which of the 2 block is lru?
First in first out (FIFO)
replace block that has been in cache longest
Least frequently used
replace block which has had fewest hits
Random
Write Policy
Must not overwrite a cache block unless main memory is up to date
Multiple CPUs may have individual caches
I/O may address main memory directly
Write through
All writes go to main memory as well as cache
Multiple CPUs can monitor main memory traffic to keep local (to CPU) cache up to date
Lots of traffic
Slows down writes
Remember bogus write through caches!
Write back
Updates initially made in cache only
Update bit for cache slot is set when update occurs
If block is to be replaced, write to main memory only if update bit is set
Other caches get out of sync
I/O must access main memory through cache
N.B. 15% of memory references are writes
Pentium Cache
Foreground reading
Find out detail of Pentium II cache systems
NOT just from Stallings!
Newer RAM Technology (1)
Basic DRAM same since first RAM chips
Enhanced DRAM
Contains small SRAM as well
SRAM holds last line read (c.f. Cache!)
Cache DRAM
Larger SRAM component
Use as cache or serial buffer
Newer RAM Technology (2)
Synchronous DRAM (SDRAM)
currently on DIMMs
Access is synchronized with an external clock
Address is presented to RAM
RAM finds data (CPU waits in conventional DRAM)
Since SDRAM moves data in time with system clock, CPU knows when data will be ready
CPU does not have to wait, it can do something else
Burst mode allows SDRAM to set up stream of data and fire it out in block
SDRAM
Newer RAM Technology (3)
Foreground reading
Check out any other RAM you can find
See Web site:
The RAM Guide
e-bisnis
E-Bisnis
Hendarman, M.Pd, M.Kom.
Pengenalan e-Commerce
e-Commerce mencakup seluruh proses online pengembangan, pemasaran, penjualan, pengiriman, pelayanan, dan pembayaran untuk produk dan jasa.
Sistem e-Commerce mengandalkan sumber dari Internet, intranet, ekstranet, dan teknologi-teknologi lainnya yang mendukung setiap langkah dari proses transaksi e-Commerce.
Ruang Lingkup e-Commerce
Saat ini kebanyakan perusahaan mengambil bagian atau mensponsori tiga kategori dasar dari aplikasi e-Commerce: B2C (Business-to-Consumer), B2B (Business-to-Business), dan C2C (Consumer-to-Consumer).
Teknologi e-Commerce
Esensi e-Commerce
Trend e-Commerce
E-Commerce B2C
Khususnya bisnis yang menjual produk dan jasa ke konsumen pada website e-commerce yang menyediakan halaman Web yang menarik, katalog multimedia, proses pemesanan yang interaktif, sistem pembayaran elektronik yang aman, dan dukungan kustomer secara online.
E-Commerce B2B
Aplikasi e-commerce B2B yang melibatkan katalog elektronik, pertukaran, dan pangsa pasar pelelangan yang menggunakan website dan portal Internet, intranet, dan ekstranet untuk menyatukan pembeli dan penjual
Banyak portal e-commerce B2B dibangun dan dioperasikan untuk berbagai industri oleh perusahaan pihak ketiga marker-marker yang disebut infomediaries, yang mana boleh mewakili konsortium dari perusahaan utama.
• E-commerce B2B juga meliputi aplikasi seperti pertukaran data elektronis, yang mana secara otomatis melakukan pertukaran dokumen bisnis di Internet.
Faktor-Faktor Kesuksesan e-Commerce
Pemilihan dan Nilai. Pemilihan produk yang menarik, harga yang kompetitif, jaminan kepuasan, dan dukungan terhadap kustomer setelah mereka membeli.
Dayaguna dan Layanan. Cepat, navigasi yang mudah, berbelanja, dan pembelian, dan pengiriman barang dengan segera.
Lihat dan Rasakan (Look and Feel). Web yang menarik, area website untuk berbelanja, halaman katalog produk multimedia, dan fitur-fitur berbelanja.
Iklan dan Insentif. Penargetan iklan halaman web dan promosi lewat email, diskon dan penawaran khusus, termasuk iklan pada situs afiliansi.
Perhatian secara Pribadi. Halaman Web pribadi, merekomendasikan produk yang sesuai dengan selera, iklan Web dan pemberitahuan melalui email, dan dukungan interaktif untuk semua kustomer.
Hubungan Komunitas. Komunitas virtual untuk kostomer, suplier, perusahaan representatif dan lainnya via newsgroup, ruang chat, dan link ke situs yang berhubungan.
Keamanan dan Dapat Dipercaya. Keamanan informasi kustomer, transaksi melalui website, informasi produk yang terpercaya, dan penyelesain pengiriman yang dapat dipercaya.
Tipe-Tipe Pangsa Pasar e-Commerce
One to many: Pangsa pasar di sisi penjualan. Suplier utama, yang menentukan penawaran katalog produk dan harga. Contoh: Cisco.com dan Dell.com.
Many to one: Pangsa pasar disisi pembelian. Menarik beberapa suplier menjadi rekanan bisnis untuk melakukan pertukaran penawaran pada bisnis dari pembeli utama seperti GE atau AT&T.
Some to many: Pangsa pasar distribusi. Persatuan suplier utama, yang mengkombinasikan katalog produk mereka untuk menarik audien pembeli yang lebih banyak. Contoh: VerticalNet dan Works.com.
Many to some: Pangsa pasar perolehan. Persatuan pembeli utama, yang mengkombinasikan katalog pembelian mereka untuk menarik lebih banyak suplier dan kemudian lebih berkompetisi dan harga pun menurun. Contoh: the auto industry’s Covisint dan energy industry’s Pantellos.
Many to many: Pangsa pasar pelelangan digunakan oleh banyak pembeli dan penjual yang bisa menciptakan berbagai pelelangan pembeli’ atau penjual’ sehingga harganya optimal dinamis. Contoh: eBay dan FreeMarkets.
Hendarman, M.Pd, M.Kom.
Pengenalan e-Commerce
e-Commerce mencakup seluruh proses online pengembangan, pemasaran, penjualan, pengiriman, pelayanan, dan pembayaran untuk produk dan jasa.
Sistem e-Commerce mengandalkan sumber dari Internet, intranet, ekstranet, dan teknologi-teknologi lainnya yang mendukung setiap langkah dari proses transaksi e-Commerce.
Ruang Lingkup e-Commerce
Saat ini kebanyakan perusahaan mengambil bagian atau mensponsori tiga kategori dasar dari aplikasi e-Commerce: B2C (Business-to-Consumer), B2B (Business-to-Business), dan C2C (Consumer-to-Consumer).
Teknologi e-Commerce
Esensi e-Commerce
Trend e-Commerce
E-Commerce B2C
Khususnya bisnis yang menjual produk dan jasa ke konsumen pada website e-commerce yang menyediakan halaman Web yang menarik, katalog multimedia, proses pemesanan yang interaktif, sistem pembayaran elektronik yang aman, dan dukungan kustomer secara online.
E-Commerce B2B
Aplikasi e-commerce B2B yang melibatkan katalog elektronik, pertukaran, dan pangsa pasar pelelangan yang menggunakan website dan portal Internet, intranet, dan ekstranet untuk menyatukan pembeli dan penjual
Banyak portal e-commerce B2B dibangun dan dioperasikan untuk berbagai industri oleh perusahaan pihak ketiga marker-marker yang disebut infomediaries, yang mana boleh mewakili konsortium dari perusahaan utama.
• E-commerce B2B juga meliputi aplikasi seperti pertukaran data elektronis, yang mana secara otomatis melakukan pertukaran dokumen bisnis di Internet.
Faktor-Faktor Kesuksesan e-Commerce
Pemilihan dan Nilai. Pemilihan produk yang menarik, harga yang kompetitif, jaminan kepuasan, dan dukungan terhadap kustomer setelah mereka membeli.
Dayaguna dan Layanan. Cepat, navigasi yang mudah, berbelanja, dan pembelian, dan pengiriman barang dengan segera.
Lihat dan Rasakan (Look and Feel). Web yang menarik, area website untuk berbelanja, halaman katalog produk multimedia, dan fitur-fitur berbelanja.
Iklan dan Insentif. Penargetan iklan halaman web dan promosi lewat email, diskon dan penawaran khusus, termasuk iklan pada situs afiliansi.
Perhatian secara Pribadi. Halaman Web pribadi, merekomendasikan produk yang sesuai dengan selera, iklan Web dan pemberitahuan melalui email, dan dukungan interaktif untuk semua kustomer.
Hubungan Komunitas. Komunitas virtual untuk kostomer, suplier, perusahaan representatif dan lainnya via newsgroup, ruang chat, dan link ke situs yang berhubungan.
Keamanan dan Dapat Dipercaya. Keamanan informasi kustomer, transaksi melalui website, informasi produk yang terpercaya, dan penyelesain pengiriman yang dapat dipercaya.
Tipe-Tipe Pangsa Pasar e-Commerce
One to many: Pangsa pasar di sisi penjualan. Suplier utama, yang menentukan penawaran katalog produk dan harga. Contoh: Cisco.com dan Dell.com.
Many to one: Pangsa pasar disisi pembelian. Menarik beberapa suplier menjadi rekanan bisnis untuk melakukan pertukaran penawaran pada bisnis dari pembeli utama seperti GE atau AT&T.
Some to many: Pangsa pasar distribusi. Persatuan suplier utama, yang mengkombinasikan katalog produk mereka untuk menarik audien pembeli yang lebih banyak. Contoh: VerticalNet dan Works.com.
Many to some: Pangsa pasar perolehan. Persatuan pembeli utama, yang mengkombinasikan katalog pembelian mereka untuk menarik lebih banyak suplier dan kemudian lebih berkompetisi dan harga pun menurun. Contoh: the auto industry’s Covisint dan energy industry’s Pantellos.
Many to many: Pangsa pasar pelelangan digunakan oleh banyak pembeli dan penjual yang bisa menciptakan berbagai pelelangan pembeli’ atau penjual’ sehingga harganya optimal dinamis. Contoh: eBay dan FreeMarkets.
Minggu, 21 Maret 2010
TUGAS JARINGAN KOMPUTER 2 “MEMBUAT WAP DENGAN D-LINK DIR 300”
Alat dan Bahan
- D-LINK DIR 300
- Cable UTP dengan RJ45
- Komputer atau laptop
Step 1. Persiapan AP
Nyalakan AP anda
tunggu hingga AP siap untuk di konfigurasi
Step 2.Menghubungkan AP
Pasang cable utp pada port RJ-45 di AP dan di komputer / laptop untuk mengkonfigurasi AP anda
Step 3. Setting AP
Buka browser pada komputer anda bisa menggunakan mozilla atau browser yang lain
lalu arahkan URL ke alamat 192.168.1.1
lalu tekan enter
Step 3. Setting AP
Masukkan Username dan password AP
yaitu
user name : admin
Password :admin
Step 3. Setting AP
pilih quick setup untuk konfigurasi pertama
pilih AP router karena kita akan membuat AP kita mem-broadcast signal
Step 3. Setting AP
Pada WAN connection type pilih Dynamic IP
lalu pilih next
pada table wireless kite enable kan wireless radio
lalu masukkan SSID
yang kita inginkan lalu pilih next
Step 4. Setting Security
Pilih wireless setting scroll ke bawah maka akan ada pilihan enable wireless security centang pilihan tersebut
Step 4. Setting Security
Pada kolom key type ubah nilai disable menjadi 32 atau 64 bit, ini di gunakan untuk jenis password wep yang akan di pasang pada access poin
Step 4. Setting Security
Setelah memasukkan WEP key yang di inginkan klik tombol save
Setting AP Selesai
Setelah konfigurasi WEP selesai maka AP kite siap melaksanakan tugas
demikianlah sedikit tutorial setting
D-LINK DIR 300
Semoga bermanfaat
- D-LINK DIR 300
- Cable UTP dengan RJ45
- Komputer atau laptop
Step 1. Persiapan AP
Nyalakan AP anda
tunggu hingga AP siap untuk di konfigurasi
Step 2.Menghubungkan AP
Pasang cable utp pada port RJ-45 di AP dan di komputer / laptop untuk mengkonfigurasi AP anda
Step 3. Setting AP
Buka browser pada komputer anda bisa menggunakan mozilla atau browser yang lain
lalu arahkan URL ke alamat 192.168.1.1
lalu tekan enter
Step 3. Setting AP
Masukkan Username dan password AP
yaitu
user name : admin
Password :admin
Step 3. Setting AP
pilih quick setup untuk konfigurasi pertama
pilih AP router karena kita akan membuat AP kita mem-broadcast signal
Step 3. Setting AP
Pada WAN connection type pilih Dynamic IP
lalu pilih next
pada table wireless kite enable kan wireless radio
lalu masukkan SSID
yang kita inginkan lalu pilih next
Step 4. Setting Security
Pilih wireless setting scroll ke bawah maka akan ada pilihan enable wireless security centang pilihan tersebut
Step 4. Setting Security
Pada kolom key type ubah nilai disable menjadi 32 atau 64 bit, ini di gunakan untuk jenis password wep yang akan di pasang pada access poin
Step 4. Setting Security
Setelah memasukkan WEP key yang di inginkan klik tombol save
Setting AP Selesai
Setelah konfigurasi WEP selesai maka AP kite siap melaksanakan tugas
demikianlah sedikit tutorial setting
D-LINK DIR 300
Semoga bermanfaat
Sistem Operasi
Sistem operasi
Pendahuluan
Istilah Sistem Operasi sering kali ditujukan kepada seluruh perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perngkat lunak terinstall. Sistem operasi (operating system, OS) adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta preses operasi dasar sistem, termasuk menjalankan software aplikasi yang ada seperti word processor, browser web, dll.
Jadi Sistem Operasi merupakan perangkat lunak lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dihidupkan. Sedangkan perangkat lunak lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan memberikan layanannya terhadap perangkat lunak –perangkat lunak yang terinstal di computer Layanan yang dimaksudkan adalah melakukan pengelolaan (manajemen) terhadap memory, prosesor, perangkat input-output dan arsip (file) yang berupa proses akses ke disk, manajemen penggunaan memori, pengaturan dan penjadwalan peritah (task scheduling), dan control antar-muka user (user interface). Sehingga masing-masing perangkat lunak tidak perlu lagi melakukan tugas tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas tersebut dinamakan dengan "kernel" suatu Sistem Operasi
Jika sistem komputer terdiri dari lapisan-lapisan, maka Sistem Operasi merupakan penghubung antara lapisan perangkat keras dan lapisan perangkat lunak. Selain itu, Sistem Operasi melakukan semua tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. sistem operasi menjamin aplikasi perangkat lunak yang lain dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka sistem operasi mengatur jadwal secara tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu library dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi tersebut, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut berulang kali.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Library yang merupakan penyedia kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Beberapa sistem operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sesuai perkembangan teknologi maka pada masa sekarang ini hampir semua sistem operasi mampu meng-handle beberapa aplikasi yang berjalan secara simultan pada waktu yang bersamaan. Sistem operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX)
Ada juga sistem operasi yang berukuran sangat besar dan kompleks, inputnya tergantung pengguna yang biasa disebut sebagai Desktop OS, sedangkan sistem operasi yang lain sangat kecil, terbatas dan dibuat khusus dengan asumsi bekerja tanpa intervensi manusia sama sekali dan biasa dikatakan sebagai Real-Time OS
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.
Layanan inti umum
Dengan makin berkembangnya sistem operasi, maka semakin beretambah layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Proses
Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
Kernel
Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengaksesperangkat keras komputer secara aman.
Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.
Beberapa desain Kernel
Beberapa desain kernel sistem operasi
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat kerassecara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.
Kernel monolitik
Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
Kernel sistem operasi GNU/Linux, Linux.
Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
Mikrokernel
Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
Beberapa sistem operasi yang menggunakan microkernel:
IBM AIX, sebuah versi UNIX dari IBM
Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X
Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA Phone.
Kernel hibrida
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.
Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan berbasis IBM PC dan kompatibelnya.
Microsoft Windows NT (dan semua keturunannya).
Exokernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.
Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.
Contoh implementasi kernel
Windows
Pada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel ini menangani manajemen memori, operasi masukan / keluaran dan interrupt. Ketika boot Windows,kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasi memorikernel32.dll, akan muncul pesan kesalahan "invalid page fault".
Pendahuluan
Istilah Sistem Operasi sering kali ditujukan kepada seluruh perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perngkat lunak terinstall. Sistem operasi (operating system, OS) adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta preses operasi dasar sistem, termasuk menjalankan software aplikasi yang ada seperti word processor, browser web, dll.
Jadi Sistem Operasi merupakan perangkat lunak lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dihidupkan. Sedangkan perangkat lunak lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan memberikan layanannya terhadap perangkat lunak –perangkat lunak yang terinstal di computer Layanan yang dimaksudkan adalah melakukan pengelolaan (manajemen) terhadap memory, prosesor, perangkat input-output dan arsip (file) yang berupa proses akses ke disk, manajemen penggunaan memori, pengaturan dan penjadwalan peritah (task scheduling), dan control antar-muka user (user interface). Sehingga masing-masing perangkat lunak tidak perlu lagi melakukan tugas tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas tersebut dinamakan dengan "kernel" suatu Sistem Operasi
Jika sistem komputer terdiri dari lapisan-lapisan, maka Sistem Operasi merupakan penghubung antara lapisan perangkat keras dan lapisan perangkat lunak. Selain itu, Sistem Operasi melakukan semua tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. sistem operasi menjamin aplikasi perangkat lunak yang lain dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka sistem operasi mengatur jadwal secara tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu library dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi tersebut, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut berulang kali.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Library yang merupakan penyedia kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Beberapa sistem operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sesuai perkembangan teknologi maka pada masa sekarang ini hampir semua sistem operasi mampu meng-handle beberapa aplikasi yang berjalan secara simultan pada waktu yang bersamaan. Sistem operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX)
Ada juga sistem operasi yang berukuran sangat besar dan kompleks, inputnya tergantung pengguna yang biasa disebut sebagai Desktop OS, sedangkan sistem operasi yang lain sangat kecil, terbatas dan dibuat khusus dengan asumsi bekerja tanpa intervensi manusia sama sekali dan biasa dikatakan sebagai Real-Time OS
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.
Layanan inti umum
Dengan makin berkembangnya sistem operasi, maka semakin beretambah layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang akan dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Proses
Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
Kernel
Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengaksesperangkat keras komputer secara aman.
Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.
Beberapa desain Kernel
Beberapa desain kernel sistem operasi
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat kerassecara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.
Kernel monolitik
Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
Kernel sistem operasi GNU/Linux, Linux.
Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
Mikrokernel
Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
Beberapa sistem operasi yang menggunakan microkernel:
IBM AIX, sebuah versi UNIX dari IBM
Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X
Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA Phone.
Kernel hibrida
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.
Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan berbasis IBM PC dan kompatibelnya.
Microsoft Windows NT (dan semua keturunannya).
Exokernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.
Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.
Contoh implementasi kernel
Windows
Pada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel ini menangani manajemen memori, operasi masukan / keluaran dan interrupt. Ketika boot Windows,kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasi memorikernel32.dll, akan muncul pesan kesalahan "invalid page fault".
Langganan:
Postingan (Atom)