Jumat, 10 Juni 2011

video from youtube...









moo.....

Super Junior KRY - she

Penjadwalan CPU

Penjadwalan CPU

Penjadwalan CPU adalah basis dari multi programming sistem operasi. Dengan men-switch CPU diantara proses. Akibatnya sistem operasi bisa membuat komputer produktif. Dalam bab ini kami akan mengenalkan tentang dasar dari konsep penjadwalan dan beberapa algoritma penjadwalan. Dan kita juga memaparkan masalah dalam memilih algoritma dalam suatu sistem.

Konsep Dasar

Tujuan dari multi programming adalah untuk mempunyai proses berjalan secara bersamaan, unutk memaksimalkan kinerja dari CPU. Untuk sistem uniprosesor, tidak pernah ada proses yang berjalan lebih dari satu. Bila ada proses yang lebih dari satu maka yang lain harus mengantri sampai cpu bebas.

Ide dari multi porgamming sangat sederhana. Ketika sebuah proses dieksekusi yang lain harus menunggu sampai selesai. Di sistem komputer yang sederhana CPU akan banyak dalam posisi idle.Semua waktu ini sangat terbunag,. Dengan multiprogamming kita mencoba menggunakan waktu secara produktif. Beberapa proses di simpan dalam memori dalam satu waktu. Ketika proses harus menuggu. Sistem operasi mengmbil cpu untuk memproses proses tersebut dan meninggalkan proses yang sedang dieksekusi.

penjadwalan adalah fungsi dasar dari suatu sistem opersai. Hampir semua sumber komputer dijadwalkan sebelum digunakan. CPU salah satu sumber dari komputer yang penting yang menjadi sentral dari sentral penjadwalan di sistem operasi.
Siklus Burst CPU-I/O

 Keberhasilan dari penjadwalan CPU tergantung dari beberapa properti prosesor. Proses eksekusi mengandung siklus CPU ekskusi dan I/o Wait. Proses hanya akan bolak-balik dari dua state ini. Poses eksekusi dimulai dengan CPU Burst, setelah itu dikikuti oleh I/O burst, dan dilakukan secara bergiliran. 

 Durasi dari CPU bust ini ditelah diukur secara ekstensif, walaupun mereka sangat berbeda dari proses ke prose. Mereka mempunyai frekeunsi kurva yang sama seperti yang diperlihatkan gambar dibawah ini. 


Penjadwalan CPU

 Kapanpun CPU menjadi idle, sistem opersai harus memilih salah satu proses untuk masuk kedalam antrian ready (siap) untuk dieksekusi. Pemilihan tersebut dilakukan oleh penjadwal short term. Penjadwalan memilih dari sekian proses yang ada di memori yang sudah siap dieksekusi, den mengalokasikan CPU untuk mengeksekusinya 

 Penjadwalan CPU mungkin akan dijalankan ketika proses : 

 Berubah dari running ke waiting state 

 Berubah dari running ke ready state 

 Berubah dari waiting ke ready 

 Terminates 


 Penjadwalan dari no 1 sampai 4 non premptive sedangkan yang lain premptive. Dalam penjadwalan nonpreemptive sekali cpu telah dialokasikan untuk sebuah proses , maka tidak bisa di ganggu, penjadwalan model seperti ini digunakan oleh windows 3.x; windows 95 telah menggunakan penjadwalan preemptive. 
Dispatcher

 Komponen yang lain yang terlibat dalam penjadwalan CPU adalan dispatcher. Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang fungsinya adalah : 

 Switching context 

 Switching to user mode 

 Lompat dari suatu bagian di porgam user untuk mengulang progam. 

 Dispatcher seharusnya secepat mungkin, 

Kriteria Penjadwalan

 Algoritma penjadwalan CPU yang berbeda mempunyai property yang berbeda. Dalam memilih algoritma yang digunakan untuk situasi tertentu, kita harus memikirkan properti yang berbeda untuk algoritma yang berbeda. Banyak kriteria yang dianjurkan utnuk membandingkan penjadwalan CPU algoritma. Kritria yang biasanya digunakan dalam memilh adalah : 

 CPU utilization : kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 ke 100 persen. Di sistem yang sebenarnya seharusnya ia mempunyai range dari 40 persen samapi 90 persen 

 Throughput : jika cpu sibuk mengeksekusi proses, jika begitu kerja telah dilaksanakan. Salah satu ukuran kerja adalah banyak proses yang diselesaikan per unit waktu, disebut througput. Untuk proses yang lama mungkin 1 proses per jam ; untuk proses yang sebentar mungkin 10 proses perdetik. 

 Turnaround time : dari sudur pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Interval dari waktu yang dijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah prose disebut turn around time. Trun around time adalah jumlah periode untuk menunggu untuk bisa ke memori, menunggu di ready queue, eksekusi di CPU, dan melakukan I/O 

 Waiting time : algoritma penjadwalan cpu tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O; itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah periode menghabiskan di antrian ready. 

 Response time : di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses bisa memproduksi output diawal, dan bisa meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke user. Ukuran yang lain adalah waktu dari pengiriamn permintaan sampai respon yang pertama di berikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untu respon tersebut. 

 Biasanya yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan minimalkan turnaround time, waiting time, dan response time dalam kasus tertentu kita mengambil rata-rata.


Tugas Sistem Operasi - 2

KERNEL
Bagian ini akan menjelaskan kernel secara umum dan sejarah perkembangan Kernel Linux. Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat 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 di- load 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.

Ada 4 kategori kernel: 

Monolithic kernel. Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.

Microkernel. Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya.

Hybrid (modifikasi dari microkernel). Kernel yang mirip microkernel, tetapi ia juga memasukkan beberapa kode tambahan di kernel agar ia menjadi lebih cepat

Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampir-hampir langsung.

Dari keempat kategori kernel yang disebutkan diatas, kernel Linux termasuk kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux. Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini, mengandung banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan lain.

Kernel Linux pertama yang dipublikasikan adalah versi 0.01, pada tanggal 14 Maret 1991. Sistem berkas yang didukung hanya sistem berkas Minix. Kernel pertama dibuat berdasarkan kerangka Minix (sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum). Tetapi, kernel tersebut sudah mengimplementasi proses UNIX secara tepat.

Pada tanggal 14 Maret 1994 dirilis versi 1.0, yang merupakan tonggak sejarah Linux. Versi ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan. Versi 1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional. Dukungan juga diberikan terhadap modul kernel yang loadable dan unloadable secara dinamis.

Satu tahun kemudian dirilis kernel versi 1.2. Kernel ini mendukung variasi perangkat keras yang lebih luas. Pengembang telah memperbaharui networking stack untuk menyediakan support bagi protokol IPX, dan membuat implementasi IP lebih lengkap dengan memberikan fungsi accounting dan firewalling. Kernel 1.2 ini merupakan kernel Linux terakhir yang PC-only. Konsentrasi lebih diberikan pada dukungan perangkat keras dan memperbanyak implementasi lengkap pada fungsi-fungsi yang ada.

Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Versi ini memiliki dua kemampuan baru yang penting, yaitu dukungan terhadap multiple architecture dan multiprocessor architectures. Kode untuk manajemen memori telah diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat. Untuk pertama kalinya, file system caching dikembangkan ke networked file systems, juga sudah didukung writable memory mapped regions. Kernel 2.0 sudah memberikan kinerja TCP/IP yang lebih baik, ditambah dengan sejumlah protokol jaringan baru. Kemampuan untuk memakai remote netware dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan pada versi terbaru ini. Tambahan lain adalah dukungan internal kernel threads, penanganan dependencies antara modul-modul loadable, dan loading otomatis modul berdasarkan permintaan (on demand). Konfigurasi dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi interface yang baru dan standar.

Semenjak Desember 2003, telah diluncurkan Kernel versi 2.6, yang dewasa ini (2008) telah mencapai patch versi 2.6.26.1 ( http://kambing.ui.edu/kernel-linux/v2.6/). Hal-hal yang berubah dari versi 2.6 ini ialah: 

Subitem M/K yang dipercanggih.
Kernel yang pre-emptif.
Penjadwalan Proses yang dipercanggih.
Threading yang dipercanggih.
Implementasi ALSA (Advanced Linux Sound Architecture) dalam kernel.

Dukungan sistem berkas seperti: ext2, ext3, reiserfs, adfs, amiga ffs, apple macintosh hfs, cramfs, jfs, iso9660, minix, msdos, bfs, free vxfs, os/2 hpfs, qnx4fs, romfs, sysvfs, udf, ufs, vfat, xfs, BeOS befs (ro), ntfs (ro), efs (ro). 


THREAD
Thread adalah rangkaian eksekusi dari sebuah aplikasi java dan setiap program java minimal memiliki satu buah thread. Sebuah thread bisa berada di salah satu dari 4 status, yaitu new, runnable, blocked, dan dead.

Status Thread

• New, Thread yang berada di status ini adalah objek dari kelas Thread yang baru dibuat, yaitu saat instansiasi objek dengan statement new. Saat thread berada di status new,belum ada sumber daya yang dialokasikan, sehingga thread belum bisa menjalankan perintah apapun.

• Runnable. Agar thread bisa menjalankan tugasnya, method start() dari kelas Thread harus dipanggil. Ada dua hal yang terjadi saat pemanggilan method start(), yaitu alokasi memori untuk thread yang dibuat dan pemanggilan method run(). Saat method run() dipanggil, status thread berubah menjadi runnable, artinya thread tersebut sudah memenuhi syarat untuk dijalankan oleh JVM. Thread yang sedang berjalan juga berada di status runnable.

• Blocked. Sebuah thread dikatakan berstatus blocked atau terhalang jika terjadi blocking statement, misalnya pemanggilan method sleep(). sleep() adalah suatu method yang menerima argumen bertipe integer dalam bentuk milisekon. Argumen tersebut menunjukkan seberapa lama thread akan “tidur”. Selain sleep(), dulunya dikenal method suspend(), tetapi sudah disarankan untuk tidak digunakan lagi karena mengakibatkan terjadinya deadlock. Thread akan menjadi runnable kembali jika interval method sleep()-nya sudah berakhir, atau pemanggilan method resume() jika untuk menghalangi thread tadi digunakan method suspend()

• Dead. Sebuah thread berada di status dead bila telah keluar dari method run(). Hal ini bisa terjadi karena thread tersebut memang telah menyelesaikan pekerjaannya di method run(), maupun karena adanya pembatalan thread. Status jelas dari sebuah thread tidak dapat diketahui, tetapi method isAlive() mengembalikan nilai boolean untuk mengetahui apakah thread tersebut dead atau tidak.

Thread dan Proses
Thread dan proses adalah metode dari parallelizing aplikasi. Namun, proses adalah unit pelaksanaan independen yang berisi informasi negara mereka sendiri, menggunakan ruang alamat mereka sendiri, dan hanya berinteraksi dengan satu sama lain melalui mekanisme komunikasi interprocess (umumnya dikelola oleh sistem operasi). Aplikasi yang biasanya dibagi ke dalam proses selama fase desain, dan proses master secara eksplisit memunculkan sub-proses ketika masuk akal untuk fungsionalitas aplikasi secara logis terpisah signifikan. Proses, dengan kata lain, adalah arsitektur membangun.
Sebaliknya, thread adalah coding membangun yang tidak mempengaruhi arsitektur aplikasi. Proses tunggal mungkin berisi beberapa thread; semua thread dalam proses berbagi negara yang sama dan sama ruang memori, dan dapat berkomunikasi satu sama lain secara langsung, karena mereka berbagi variabel yang sama.

Keuntungan Thread
• Responsiveness : pada aplikasi yang interaktif dapat membuat program terus berjalan meskipun bagian dari program tersebut diblok atau sedang menjalankan operasi yang panjang
• Resource sharing : sebuah aplikasi dapat mempunyai beberapa thread yang berbeda dalam sebuah alamat memori yang sama karena Thread berbagi memori dan sumber daya dari proses yang memilikinya.
• Economy: karena mahal untuk mengalokasikan memori dan sumber daya untuk pembuatan proses. Alternatifnya adalah dengan pengunaan thread, akan lebih ekonomis untuk membuat sebuah thread daripada menggunakan memory baru.
• Utilization of multiproccesor architectures: dalam arsitektur multiprosesor, dimana setiap thread dapat berjalan secara pararel pada prosesor yang berbeda.

cakeep... :D

Kamis, 09 Juni 2011

Tugas Sistem Operasi - 1

1.   Jenis-Jenis RAM dan ROM
a.   Jenis RAM
-     NVRAM (Non-Volatile Random Access Memory)


NVRAM adalah jenis RAM yang umumnya dipakai untuk menyimpan data/informasi biasanya berupa konfigurasi yang dihasilkan oleh firmware, seperti BIOS atau firmware-firmware lainnya yang terdapat (tersimpan permanen) pada suatu perangkat tertentu. NVRAM akan tetap menyimpan data walaupun listrik tidak berjalan. NVRAM dibuat dengan teknologi manufaktur CMOS(Complimentary Metal-Oxide Semiconductor) sehingga daya yang dibutuhkannya juga kecil.

-     SRAM (Static Random Access Memory)



SRAM bersifat volatile, atau menyimpan data selama listrik berjalan. SRAM tidak seperti RAM dinamik (DRAM) yang selalu harus di-refresh  secara periodik. Hal ini dikarenakan SRAM didesain menggunakan transistor tanpa kapasitor. Tidak adanya kapasitor membuat tidak ada daya yang bocor sehingga SRAM tidak membutuhkan refresh periodik.

-     DRAM (Dynamic Random Access Memory)


DRAM adalah bentuk paling umum dari RAM. Random akses memori dinamis (DRAM) merupakan jenis random akses memori yang menyimpan setiap bit data yang terpisah dalam kapasitor dalam satu sirkuit terpadu. Karena kapasitornya selalu bocor, informasi atau data yang tersimpan akhirnya hilang kecuali harus selalu di refresh untuk menjaga informasi atau data yang disimpan.

-     FPM DRAM (Fast Page Mode Dynamic Random Access Memory)

FPM DRAM Adalah RAM yang paling pertama kali ditancapkan pada slot memori 30 pin mainboard komputer, dimana RAM ini dapat kita temui pada komputer type 286 dan 386. Memori jenis ini sudah tidak lagi diproduksi. FPM DRAM ini juga adalah merupakan bentuk asli dari DRAM.  Masalah yang sering muncul dari FPM DRAM adalah kecepatan transfernya yang lambat yakni maksimum 50MHz

-  EDORAM


EDORAM adalah jenis memori yang dapat menyimpan dan mengambil isi memori secara simultan. EDORAM memiliki kecepatan maksimal 50MHz EDO RAM uga harus membutuhkan L2 Cache untuk membuat semuanya berjalan dengan cepat, namun jika user tidak memilikinya, maka EDO RAM akan berjalan jauh lebih lambat. Yaitu, RAM yang kepingannya terdiri dari 72 pin dan umumnya pada PC yang menggunakan prosesor intel Pentium 1 dan AMD ke- 5 dan ke- 6.RAM jenis ini harus dipasang pada socketnya dalam jumlah genap ( minimal terdiri dari 2 keping ).Dan memiliki Bus Speed sebesar 66 Mhz atau PC 66. RAM yang kemampuan kecepatannya lebih cepat daripada EDORAM dan kepingannya terdiri dari 168 pin.PC denganprosesor intel Pentium 1, Pentium II, Pentium III, AMD ke- 5, AMD ke- 6, AMD ke- 7.Dengan memiliki Bus Speed sebesar 66 Mhz ( PC 66 Mhz ) dan PC 100 Mhz

-     SDRAM (Synchronous Dynamic Random Access Memory )

Synchronous Dynamic Random Access Memory merupakan sebuah jenis memori komputer dinamis yang digunakan dalam PC dari tahun 1996 hingga 2003. SDRAM juga merupakan salah satu jenis dari memori komputer kategori solid-state.
SDRAM, pada awalnya berjalan pada kecepatan 66 MHz untuk dipasangkan dengan prosesor Intel Pentium Pro/Intel Pentium MMX/Intel Pentium II, dan terus ditingkatkan menjadi kecepatan 100 MHz (dipasangkan dengan Intel Pentium III/AMD Athlon), hingga mentok pada kecepatan 133 MHz (dipasangkan dengan Intel Pentium 4 dan AMD Athlon/Duron). Popularitasnya menurun saat DDR-SDRAM yang mampu mentransfer data dua kali lipat SDRAM muncul di pasaran dengan chipset yang stabil. Setelah itu, akibat produksinya yang semakin dikurangi, harganya pun melonjak tinggi, dengan permintaan pasar yang masih banyak; dengan kapasitas yang sama dengan DDR-SDRAM, harganya berbeda kira-kira Rp. 150000 hingga 250000. RAM yang kemampuan kecepatannya lebih cepat daripada EDORAM dan kepingannya terdiri dari 168 pin.PC denganprosesor intel Pentium 1, Pentium II, Pentium III, AMD ke- 5, AMD ke- 6, AMD ke- 7.Dengan memiliki Bus Speed sebesar 66 Mhz ( PC 66 Mhz ) dan PC 100 Mhz

-     DDR DRAM (Double Data Rate Synchronous DRAM)


DDR-DRAM pada dasarnya merupakan SDRAM yang telah dimodifikasi sehingga performanya dapat lebih baik dan lebih cepat. DDR-DRAM merupakan singkatan dari Double Data Rate – Dynamic Random Access Memory. Teknologi yang dimiliki oleh DDR-DRAM memungkinkan untuk meningkatkan kecepatan dua kali lebih besar dibandingkan dengan SDRAM. Dari hal itulah kata “Double Data Rate” didapatkan.

-     Rambus DRAM

Rambus DRAM (RDRAM) adalah RAM yang dikembangkan oleh RAMBUS, Inc., Pengembangan ini menjadi polemik karena Intel berusaha memperkenalkan PC133MHz. RDRAM ini memiliki jalur data yang sempit (8 bit) tapi kinerjanya tidak dapat diungguli oleh DRAM jenis lain yang jalur datanya lebih lebar dari RDRAM yaitu 16 bit atau bahkan 32 bit. Hal ini karena RDRAM ini memiliki Memory Controller yang dipercanggih.

b.   Jenis ROM

-     Mask ROM




Data pada ROM dimasukkan langsung melalui mask pada saat perakitan chip. Hal ini membuatnya sangat ekonomis terutama jika kita memproduksi dalam jumlah banyak. Namun hal ini juga menjadi sangat mahal karena tidak fleksibel. Sebuah perubahan walaupun hanya satu bit membutuhkan mask baru yang tentu saja tidak murah. Karena tidak fleksibel maka jarang ada yang menggunakannya lagi. Aplikasi lain yang mirip dengan ROM adalah CD-ROM prerecorded yang familiar dengan kita, salah satunya CD musik. Berbeda dengan pendapat banyak orang bahwa CD-ROM ditulis dengan laser, kenyataannya data pada CD-ROM lebih tepatnya dicetak pada piringan plastik.

-     PROM (Programable ROM)

Yaitu  ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram. PROM kependekan dari Programmable Read Only Memory. PROM adalah salah satu jenis ROM, merupakan alat penyimpan berupa memori (memory device) yang hanya bisa dibaca isinya. PROM memang tergolong memori non-volatile, artinya program yang tersimpan di dalamnya tidak akan hilang walaupun komputer dimatikan (tidak mendapatkan daya listrik). Program yang tersimpan di dalamnya bersifat permanen. Biasanya digunakan untuk menyimpan program bahasa mesin yang sudah menjadi bagian hardware (perangkat keras) komputer. Contohnya adalah program yang men-start komputer ketika komputer baru dinyalakan (di-on-kan).
Program yang ada di dalam PROM diisi oleh pabrik pembuatnya. Pengisian program ke dalam PROM menggunakan alat khusus bernama PROM burner, atau PROM Writer Program atau informasi yang telah diisikan atau direkamkan ke dalam PROM, tidak dapat dihapus lagi.

-     RPROM (Re-Programable ROM)

Merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan.

-     EPROM (Erasable Program ROM)

EPROM kependekan dari Erasable Programmable Read Only Memory. EPROM berbeda dengan PROM. EPROM adalah jenis chip memori yang dapat ditulisi program secara elektris. Program atau informasi yang tersimpan di dalam EPROM dapat dihapus bila terkena sinar ultraviolet dan dapat ditulisi kembali. Kesamaannya dengan PROM adalah keduanya merupakan jenis ROM, termasuk memori non-volatile, data yang tersimpan di dalamnya tidak bisa hilang walaupun komputer dimatikan, tidak membutuhkan daya listrik untuk mempertahankan atau menjaga informasi atau program yang tersimpan di dalamnya. Alat yang dapat digunakan untuk menghapus isi chip EPROM adalah UV PROM eraser. Alat ini akan menyinarkan sinar ultraviolet ke memori tempat data disimpan dalam chip EPROM (disinarkan tepat pada lubang kuarsa bening). Dengan demikian, chip EPROM dapat digunakan kembali dan dapat diisikan informasi/program baru ke dalamnya. Informasi lain menyebutkan bahwa alat yang dapat digunakan untuk menghapus isi EPROM adalah EPROM Rewriter.Merupakan ROM yangdapat kita hapus dan program kembali, tapi cara penghapusannya dengan menggunakan sinar ultraviolet.

-     EEPROM (Electrically Erasable Program ROM)

EEPROM kependekan dari Electrically Erasable Programmable Read Only Memory. Seperti halnya PROM dan EPROM, EEPROM merupakan memori non-volatile. Informasi, data atau program yang tersimpan di dalamnya tidak akan hilang walaupun komputer dimatikan, dan tidak membutuhkan daya listrik untuk mempertahankan atau menjaga informasi atau program yang tersimpan di dalamnya.
EEPROM adalah komponen yang banyak digunakan dalam komputer dan peralatan elektronik lain untuk menyimpan konfigurasi data pada peralatan elektronik tersebut. Kapasitas atau daya tampung simpan datanya sangat terbatas. Pada sistem hardware komputer, chip EEPROM umumnya digunakan untuk menyimpan data konfigurasi BIOS dan pengaturan (setting) sistem yang berhubungan dengannya.
EEPROM memiliki kelebihan tersendiri dibandingkan EPROM. EEPROM dapat dihapus secara elektris menggunakan sinar ultraviolet, sehingga proses penghapusannya lebih cepat dibandingkan EPROM. Penghapusan juga dapat dilakukan secara elektrik dari papan circuit dengan menggunakan perangkat lunak EEPROM Programmer. Alat yang dapat digunakan untuk menghapus isi EEPROM disebut EEPROM Rewriter. Produk EEPROM versi awal, hanya dapat dihapus dan diisi ulang kurang lebih sebanyak 100 kali. Sedangkan produk-produk terbaru dapat dihapus dan diisi ulang (erase-rewrite) sampai ribuan kali (bahkan beberapa informasi menyebutkan mampu sampai 100 ribu kali)Perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan menggunakan teknikelektrik. EEPROM ini merupakan jenis yang paling banyak digunakan saat ini.

-       Flash Memory

Flash memory yang dikenal pula dengan sebutan memori flash, adalah memori sejenis EEPROM yang memberikan banyak lokasi memori untuk dihapus atau ditulisi dalam suatu operasi pemrograman. Flash memory tetap dapat menyimpan data tanpa memerlukan penyediaan listrik. Penulisan ke dalam flash memori dapat dilakukan dengan menggunakan alat yang disebut EEPROM Writer atau software yang dapat menulisi Flash ROM. Sedangkan penghapusan datanya dapat dilakukan dengan menggunakan alat yang disebut EEPROM Writer, atau langsung secara elektrik dari papan sirkuit dengan menggunakan software Flash BIOS Programmer.
Memori jenis ini banyak digunakan dalam kartu memori, drive flash USB, kamera digital, pemutar MP3, hingga telepon genggam.

1.     Proses ALU dan Contoh ALU

a.        Proses ALU

       ALU ( Arithmetical Logical Unit )Fungsi unit ini adalah untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika. ALU terdiri dari registerregister untuk menyimpan informasi. Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. Sirkuit yang digunakan oleh ALU ini disebut dengan adder karena operasi yang dilakukan dengan dasar penjumlahan. Tugas lain dari ALU adalah melakukan keputusan dari operasi sesuai dengan instruksi program yaitu operasi logika (logical operation). Operasi logika meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
      Sama dengan (=), Tidak sama dengan ( <> ), Kurang dari ( < ), Kurang atau sama dengan dari ( <= ),  Lebih besar dari ( > ) dan Lebih besar atau sama dengan dari ( >= )

b.       Contoh ALU

      Matematika John von Neumann mengusulkan konsep ALU tahun 1945, ketika ia menulis sebuah laporan di atas fondasi untuk komputer baru yang disebut EDVAC . Penelitian ALUs tetap menjadi bagian penting dari ilmu komputer , jatuh di bawah dan logika struktur Aritmatika di ACM Computing S
       Insinyur dapat mendesain Arithmetic Logic Unit untuk menghitung operasi apapun. Semakin kompleks operasi, semakin mahal ALU adalah, semakin banyak ruang menggunakan dalam prosesor, semakin besar kekuasaannya menghilang. Oleh karena itu, insinyur kompromi. Mereka membuat ALU cukup kuat untuk membuat cepat prosesor, tapi namun tidak begitu rumit untuk menjadi penghalang.
        Misalnya, menghitung akar kuadrat dari jumlah mereka bisa menggunakan:
        1.                   Perhitungan dalam sebuah jam tunggal. Desain sebuah kompleks ALU luar biasa yang menghitung akar kuadrat dari angka apapun dalam satu langkah.
       2.                   Perhitungan Desain pipa yang sangat kompleks ALU yang menghitung akar kuadrat dari angka apapun dalam beberapa langkah. Hasil antara pergi melalui serangkaian sirkuit diatur seperti sebuah jalur produksi pabrik. ALU dapat menerima nomor baru untuk menghitung bahkan sebelum memiliki selesai yang sebelumnya. ALU sekarang dapat menghasilkan sejumlah secepat ALU satu jam, meskipun hasilnya mulai mengalir keluar dari ALU hanya setelah penundaan awal.
       3.                   Perhitungan interaktif Desain ALU kompleks yang menghitung akar kuadrat melalui beberapa langkah. Hal ini biasanya bergantung pada kontrol dari kompleks unit kontrol dengan built-in microcode .
      4.                   Co-prosesor Desain ALU sederhana di prosesor, dan menjual prosesor khusus dan mahal terpisah bahwa pelanggan dapat menginstal tepat di samping ini, dan melaksanakan salah satu opsi di atas.
     5.                   Software perpustakaan Katakan programer bahwa tidak ada co-prosesor dan tidak ada persaingan , sehingga mereka akan harus menulis algoritma mereka sendiri untuk menghitung akar kuadrat oleh perangkat lunak.
     6.                   Perangkat lunak emulasi Emulasikan keberadaan prosesor-co , yaitu, setiap kali sebuah program mencoba untuk melakukan perhitungan akar kuadrat, membuat prosesor memeriksa jika ada co-prosesor ini dan menggunakannya jika ada satu, jika tidak ada satu, mengganggu proses program dan memohon sistem operasi untuk melakukan perhitungan akar kuadrat melalui beberapa algoritma perangkat lunak.

      Pilihan di atas pergi dari yang tercepat dan paling mahal untuk satu paling lambat dan paling mahal. Oleh karena itu, sementara bahkan komputer sederhana dapat menghitung rumus paling rumit, komputer paling sederhana biasanya akan memakan waktu lama melakukan hal itu karena beberapa langkah untuk menghitung formula.
    
      Powerfull seperti prosesor Intel Core dan AMD64 menerapkan opsi # 1 untuk beberapa operasi yang sederhana, # 2 untuk kompleks operasi paling umum dan # 3 untuk operasi yang sangat kompleks.Dalam praktik modern, insinyur biasanya merujuk ke ALU sebagai rangkaian yang melakukan operasi aritmatika integer (seperti dua's melengkapi dan BCD ). Sirkuit yang menghitung lebih kompleks format seperti floating point , bilangan kompleks , dll biasanya menerima nama yang lebih spesifik seperti FPU.

REGISTER
Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.
Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya.
Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit
Register terbagi menjadi beberapa kelas:
  • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
  • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
  • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
  • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
  • Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
  • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
  • Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
  • Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.     
SCHEDULE TASK
Sering kali, beberapa hal perlu dijalankan pada komputer secara otomatis. Beberapa hal tersebut diantaranya seperti virus dan malware scan, disk defragment, atau beberapa hal yang cukup “membosankan” lainnya.
Dengan menggunakan fasilitas scheduler (penjadwalan) yang telah terintegrasi pada komputer, akan memungkinkan Anda untuk membuat sebuah event tanpa harus repot mengingatnya. Karena komputer akan melakukannya secara otomatis untuk Anda.
Berikut ini merupakan langkah-langkah untuk membuat scheduled task pada Windows XP (pada sistem operasi lain, pada prinsipnya tidak jauh berbeda):
1.      Untuk membuka Scheduled Task, klik tombol Start > All Program > Accessories > System Tools > Scheduled   Tasks.
2.      Dan untuk membuat sebuah schedule baru, klik ganda Add Scheduled Task untuk menjalankan Scheduled Task Wizard, dan kemudian klik tombol Next.
3.      Pilih “task” yang ingin dijalankan, seperti menjalankan program, script, dokumen atau lainnya. Klik tombol Next jika telah selesai.
4.      Beri nama task tersebut, dan sesuaikan waktu pengerjaan task. Apakah setiap hari (daily), seminggu sekali (weekly), atau pilihan lainnya. Klik tombol Next.
5.      Masukkan nama dan password pengguna yang berhubungan dengan task tersebut. Pastikan Anda memberikan permission pada pengguna yang sesuai.
6.      Klik tombol Next dan Finish.
Untuk menjalankan scheduled task pada sistem operasi berbeda, Anda dapat mengetahuinya di alamat website berikut ini: Linux, Vista, Mac OS X Panther

2.     Keuntungan dan kekurangan OS

a.        Windows
-      Keunggulan :
·      merupakan sistem operasi yang user-friendly.
·      Instalasi-nya pun lebih mudah bila dibanding OS yang lain
·      Banyak software berbasis Windows
·      Tampilannya begitu bersahabat bagi user. Selain itu, dukungan hardware yang lengkap, banyaknya aplikasi yang diperuntukkan bagi platform Windows semakin melengkapi nilai tambahnya.
  ·         Dukungan driver yang lebih banyak
 ·    Banyak orang menggunakan Windows sehingga banyak perusahan membuat aplikasinya menggunakan dasar Windows. Ada beberapa aplikasi yang hanya ada di Windows dan tidak di OS yang lainnya. Bahkan beberapa aplikasi vital dunia kerja.
·     Karena systemnya sudah dishare untuk bisa dikembangkan (bukan di open), maka semakin mudah siapa saja membuat software untuk dijalankan di Mircosoft Windows. Terutama dunia usaha yang membutuhkan aplikasi yang sesuai dengan kebutuhannya.
·         Perkembangan paling cepat dibanding software lainnya karena banyak perusahaan software yang konsisten menciptakan kemajuan pada sistem operasi Windows.
·         Banyak gratisan GPL dan Freeware ditawarkan untuk Windows.
·         Kalau ada masalah mudah menyelesaikannya sebab hampir semua orang bisa, dan mencari ahlinya juga tidak sulit disekitar kita. 

-      Kekurangan :
·      Windows ini rentan terhadap virus dan malware.
·      Harga lisensi nya pun masih sulit terjangkau, terutama oleh masyarakat Indonesia.
·      Sistem keamanan yang terbilang masih kurang
·      Sistem masih kurang satabil
·      Komunitas terlalu sedikit, karena bersifat closed-source
·      Banyaknya virus yang sering menyerang Windows
·      Banyak orang tahu bahasa pemrogamannya dan banyak orang pakai karena itu banyak juga yang buat virus untuk Windows dibanding yang lainnya.
·      Ada banyak versi sehingga kalau mau yang powerfull harus bayar lebih mahal.
b.       Linux
-      Keunggulan :
·      Linux merupakan sistem operasi bebas dan terbuka. Sehingga dapat dikatakan, tidak terdapat biaya lisensi untuk membeli atau menggunakan Linux.
·      Lebih kebal terhadap virus
·      Sistemnya relatif stabil
·      Linux mempunyai kompatibilitas ke belakang yang lebih baik (better backward-compatibilty). Jadi hardware lama masih bisa berguna.
·      Linux mudah digunakan. Dulu, Linux dikatakan merupakan sistem operasi yang sulit dan hanya dikhususkan untuk para hacker. Namun, kini, pandangan ini salah besar. Linux mudah digunakan dan dapat dikatakan hampir semudah menggunakan Windows.
·      Hampir semua aplikasi yang terdapat di Windows, telah terdapat alternatifnya di Linux. Kita dapat mengakses situs web Open Source as Alternative untuk memperoleh informasi yang cukup berguna dan cukup lengkap tentang alternatif aplikasi Windows di Linux. 
·      Keamanan yang lebih unggul daripada Windows. Dapat dikatakan, hampir semua pengguna Windows pasti pernah terkena virus, spyware, trojan, adware, dsb. Hal ini, hampir tidak terjadi pada Linux.
-      Kekurangan :
·      Dukungan perangkat keras dari vendor-vendor tertentu yang tidak terlalu baik pada Linux.
·      Proses instalasi software / aplikasi yang tidak semudah di Windows.
·      Banyak pengguna yang belum terbiasa dengan Linux dan masih ‘Windows minded’. Hal ini dapat diatasi dengan pelatihan-pelatihan atau edukasi kepada pengguna agar mulai terbiasa dengan Linux.
·      Proses instalasi software / aplikasi yang tidak semudah di Windows. Instalasi software di Linux, akan menjadi lebih mudah bila terkoneksi ke internet atau bila mempunyai CD / DVD repository-nya. Bila tidak, maka kita harus men-download satu per satu package yang dibutuhkan beserta dependencies-nya.
·      Bagi administrator sistem yang belum terbiasa dengan Unix-like (seperti Linux), maka mau tidak mau harus mempelajari hal ini. Sehingga syarat untuk menjadi administrator adalah manusia yang suka belajar hal-hal baru dan terus-menerus belajar.
c.        Machintos
-       Keunggulan :
·         Tidak mudah terkena virus
Dirancang dengan security oriented, Mac OS tidak diganggu oleh serangan konstan dari PC virus dan malware. Namun tidak juga akan memperlambat Anda dengan peringatan keamanan konstan dan  interupsi lainnya.
·         Performanya yang tinggi
Khususnya pada Mac OS X - dengan prosesor Intel terbaru dan inovasi terbaik lainnya, Mac dapat melakukan semua hal yang hanya dapat dilakukan Mac - dengan kecepatan yang menakjubkan
·         Sistem operasi yang User-friendly, ditambah dengan GUI yang sangat menarik
Dengan tampilan GUI yang sangat menarik, menjadikan Mac OS sebagai salah satu OS yang banyak diminati khususnya oleh para graphic designer.


-       Kekurangan :
·         Mac tidak bisa dirakit sendiri karena Apple sudah tidak memberi license untuk perusahaan lain untuk membuat hardware yang bisa menggunakan Mac OS
·         Software di Mac OS tidak begitu lengkap
Pengaruh dominansi Microsoft Windows selama bertahun-tahun membuat user sudah sangat terbiasa dan enggan beradaptasi dengan OS terbaru. Dasar pemikiran yang sama juga menjadi alasan melimpahnya aplikasi terbaru dengan system requirement Windows.
·         Harganya mahal
·         Hanya berguna untuk graphic designer
·         Tidak dapat digunakan dalam waktu bersamaan
·          Softwarenya tidak lengkap dan tidak cocok bermain game karena tampilannya kurang bagus.

System call :

1. Kontrol proses

- mengakhiri (end) dan membatalkan (abort)
- mengambil (load) dan eksekusi (execute)
- membuat dan mengakhiri proses
- menentukan dan mengeset atribut proses
- mengalokasikan dan membebaskan memori

2. Manipulasi File

- membuat dan menghapus file
- membuka dan menutup file
- membaca dan menulis file

3. manipulasi device

- meminta dan membebaskan device
- menentukan dan mengeset atribut device

4. Information maintainance

- mengambil atau mengeset waktu atau tanggal
- mengambil atau mengeset sistem data
- mengambil atau mengeset proses, file atau atribut device

5. komunikasi

- membuat dan menghapus sambungan komunikasi
- mengirim dan menerima pesan
- menstransfer status informasi

6. proteksi