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

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".

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

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

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

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.

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

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".