Rabu, 30 Maret 2011

Pirates Of Silicon Valley

film Pirates Of Silicon Valley diangkat dari kisah nyata perjalanan karir Bill Gates dan Steve Jobs.  yang menceritakan persaingan antara Bill Gates vs Steve Jobs.
Steve Jobs adalah pendiri Apple Computer yang terkenal dengan produk Ipod dan Macintosh. sedangkan Bil Gates adalah pendiri Microsoft yang softwarenya sangat terkenal diseluruh dunia.

Konsep Management Proses pada sistem operasi UNIX

Setiap kali instruksi diberikan pada Shell Unix, kernel akan menciptakan proses-id. Proses-id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (dapat dilihat dalam daftar urutan pada /etc /inittab). Proses-proses sistem terbagi dalam tiga tipe utama, yaitu :

Senin, 21 Maret 2011

Mengenal Sistem Operasi UNIX

1. Pengertian Operating System
Komputer tanpa Operating System (Sistem Operasi) sama dengan memiliki Walkman tanpa kaset, yang artinya sama saja bohong. Operating System BUKAN aplikasi. Masyarakat sering tertukar antara pengertian Software dan Aplikasi. Pengertian mudahnya, software adalah segala macam jenis program yang digunakan untuk mengoperasikan komputer dan peralatannya.
Sedangkan software terbagi menjadi dua :
· Operating Systems : software yang digunakan untuk mengoperasikan komputer
· Applications : program yang dioperasikan di dalam sebuah lingkungan Operating System untuk keperluan-keperluan tertentu, misal : Programming, Office Work, dan Gaming. 1. Pengertian Operating System
Komputer tanpa Operating System (Sistem Operasi) sama dengan memiliki Walkman tanpa kaset, yang artinya sama saja bohong. Operating System BUKAN aplikasi. Masyarakat sering tertukar antara pengertian Software dan Aplikasi. Pengertian mudahnya, software adalah segala macam jenis program yang digunakan untuk mengoperasikan komputer dan peralatannya.
Sedangkan software terbagi menjadi dua :
· Operating Systems : software yang digunakan untuk mengoperasikan komputer
· Applications : program yang dioperasikan di dalam sebuah lingkungan Operating System untuk keperluan-keperluan tertentu, misal : Programming, Office Work, dan Gaming.

2. Operating System Terkini
Operating System berkembang mengikuti perkembangan teknologi dan kebutuhan manusia. Secara umum Operating System dibuat untuk jenis komputer tertentu, antara lain sebagai berikut:

· Microsoft Windows untuk Personal Computer (PC)
· VMS untuk DEC
· OS/2, AIX, OS/390 untuk IBM
· MacOS untuk Apple Macintosh
· SunOS untuk Sun Computer
· Microsoft Windows CE untuk Palmtop UNIX adalah induk Operating System yang mampu diimplementasikan untuk segala macam jenis mesin komputer yang ada hingga saat ini.

Daftar Operating System dengan versi terakhirnya (dengan urutan random):

1.Microsoft Windows Me
2.Microsoft Windows 2000
3.Novell Netware 5
4.MacOS 9 Beta dan MacOS X Server
5.Linux RedHat 7.0, Mandrake 7.2, YellowDog 1.2, MkLinux R1, LinuxPPC 2000, Slackware 7.1, Caldera OpenLinux 2.4, SuSE 7.0, Debian 2.2 6.FreeBSD 4.2 7.Solaris 7 8.BeOS Release 5


3. Konsep Kernel dan Shell
Kernel adalah jembatan antara hardware dan aplikasi-aplikasi yang menerjemahkan bahasa software sehingga mampu dimengerti oleh hardware dan hardware akan segera memprosesnya sesuai dengan permintaan. Akibatnya hal tersebut memungkinkan pengguna untuk menggunakan atau bekerja dengan komputernya melalui software. Hal-hal yang dilakukan oleh Kernel :
· interrupt handler – yang mampu menangani I/O request
· memory management Untuk melakukan hal-hal tersebut, beberapa orang/kelompok mempunyai pertimbangan dan arahan pengembangan yang berbeda.
Hal ini yang menyebabkan Operating System muncul dalam berbagai jenis, seperti :
· Windows 3.11 dengan metoda non pre-emptive multitasking yang kemudian dikembangkan dalam Windows 9x menjadi Pre-Emptive MultiTasking.
· Windows yang menggunakan Driver untuk mengakses hardware, berbeda dengan Unix lainnya yang memasukkannya ke dalam kernel. Linux, MacOS dan BeOS adalah hibrid dari dua konsep ini, sebagian (yang esensial) dimasukkan ke dalam kernel dan sisanya dijadikan module-module (karena tidak semua komputer perlu/sama). Sedangkan shell adalah jembatan antara User Input dengan Kernel, berfungsi memberikan fasilitas pada Pengguna agar bisa berinteraksi dengan Komputer (baik Software maupun Hardware). Ilustrasi Shell: Shell dalam Windows95 dikenal sebagai Windows Explorer, sedangkan untuk Windows 98 telah diubah menjadi Internet Explorer (4.0 dan 5.0). Alternatif lain shell untuk Windows adalah LiteStep, yang memberikan tampilan Windows menyerupai XWindow Afterstepnya Unix. Shell lebih dikenal oleh para pengguna Unix, antara lain : csh, tcsh, bash, pdksh, sh, dan lain-lain.

4. Pengertian Unix
Unix adalah sebuah Operating System yang pada awalnya dikembangkan oleh Bell Labs pada tahun 1969 sebagai sebuah sistem yang berkonsep ‘interaktif time-sharing’. Pencipta dari Unix adalah Ken Thompson dan Dennis Ritchie. Pada tahun 1974, Unix menjadi Operating System pertama yang ditulis dalam bahasa C dan sistem operasi yang sifatnya terbuka atau standard. Unix telah terstandardisasi oleh IEEE sebagai Portable Operating System Interface (POSIX). Karakteristik Unix
1. Multitasking – dapat menjalankan lebih dari satu jenis aplikasi pada saat yang bersamaan.
2. Multiuser – dapat digunakan oleh lebih dari satu user pada waktu yang bersamaan.
3.Line/Text Command Based – menyerupai DOS yang menggunakan perintah yang di’ketik’an sebagai sarana ‘memerintah’ komputer. Meskipun demikian telah dikembangkan aplikasi-aplikasi GUI yang dapat menggantikan perintah ‘ketik’ tersebut dengan menjalankan XWindows. Analog dengan DOS dan Win311, di mana Win311 belum dapat dikatakan sebagai sebuah Operating System.
4.Secure – memiliki tingkat keamanan yang cukup dibandingkan Operating System lainnya. Di mana setiap file, user dan group memiliki ‘set’ ijin yang tersendiri, sehingga tidak memungkinkan seorang user untuk menghapus atau meng’edit’ tanpa memiliki ijin yang cukup. 5.Ready-for-Network ? karena sejarah pembuatannya memiliki tujuan sebagai sarana komunikasi antar komputer, maka Unix hingga saat ini masih unggul dalam hal Computer-Networking.

4.1 Sejarah Unix

1965 Bell Laboratories bergabung dengan MIT dan General Electric untuk dukungan pengembangan sistem operasi yang baru, Multics, yang bisa menyediakan multi-user, multi-prosesor dan multi-level file system.

1969 AT&T merasa kurang yakin dan keluar dari proyek Multics. Beberapa programmer proyek itu, Ken Thompson, Dennis Ritchie, Rudd Canaday dan Doug McIlroy merancang dan mengimplementasikan file sistem unix pertama, dan diberi nama UNIX oleh Brian Kernighan.

1970 1 Januari ditetapkan sebagai waktu 0 UNIX

1971 Sistem mulai berjalan di atas PDP-11 dengan 16kb memory, termasuk 8 kb untuk program dan 512kb disk. Penggunaan secara nyata dipakai di Laboratorium Bell sebagai alat pengolah kata.


UNIX banyak dipakai di antara programmer karena:
· berfungsi di lingkungan programmer
· user interface yang mudah
· utiliti yang sederhana dengan kinerja tinggi
· sistem file yang hirarkis
· interface yang sederhana dalam format file
· multi-user dan multi-prosesing
· arsitektur yang independen dan transparan terhadap user.
· 1973 Kode Unix ditulis ulang dalam bahasa C, sebuah bahasa pemrograman baru yang dikembangkan oleh Dennis Ritchie. Ditulis ulang ke dalam bahasa yang high-level sehingga memudahkan diporting ke komputer/mesin baru.
· 1974 Thompson dan Ritchie mempopulerkan sistem operasi Unix baru yang mengakibatkan antusias yang tinggi di kalangan akademik sebagai alat yang potensial dalam pengembangan sistem programming. Sejak AT&T menarik dari publik tahun 1956, mereka melisensikan ke universitas untuk kegunaan pendidikan dan juga sebagai produk komersil.
· 1977 Ada 500 Unix sites di seluruh dunia.
· 1980 BSD 4.1 (Berkeley Software Development)
· 1983 SunOS, BSD 4.2, SysV
· 1984 Ada sekitar 100.000 Unix sites dengan platform yang berbeda-beda.
· 1988 AT&T dan Sun Microsystems bergabung merancang System V Release 4. Selanjutnya system ini dikembangkan menjadi UnixWare dan Solaris 2.
· 1993 Novell membeli UNIX dari AT&T
· 1994 Novell memberi nama “UNIX” menjadi X/OPEN
· 1995 Santa Cruz Operations (SCO) membeli UnixWare dari Novell. SCO dan HP mengumumkan akan bergabung membangun Unix 64 bit.
· 1996 International Data Corporation memperkirakan di tahun 1997 akan tersebar tiga juta system Unix di seluruh dunia.
4.2 Proyek GNU
The GNU Project’s aim was to develop a complete free Unix-like system. GNU adalah singkatan dari GNU not Unix. Proyek ini diluncurkan tahun 1984 untuk mengembangkan sistem operasi unix-like yang lengkap, dengan kata lain GNU System. Salah satu varian GNU ini menggunakan kernel Linux dan sering disebut sebagai GNU/Linux. Proyek ini terus dikembangkan dengan pembuatan software dan utilitas yang free. Pengembangannya dilakukan secara terpisah-pisah, misalnya Linus Torvalds terus menulis kode kernel, Donal Knuth membuat standar text-formatter (TeX), Bob Scheifler mengembangkan sistem X Window dan lain-lain sampai ke program dan utilitas. Selain GNU ada juga proyek yang secara independen menghasilkan sistem operasi unix-like yang gratis. System ini dikenal dengan nama BSD yang dikembangkan oleh UC Berkeley. Sistem operasi free yang ada sekarang pada umumnya merupakan varian dari sistem GNU atau sistem BSD.
4.3 Apakah arti Free Software?
Free software adalah sebuah bentuk kebebasan, mengacu ke pengguna untuk memakai, mengkopi, mendistribusikan, mempelajari, mengubah maupun meningkatkan software tersebut. Secara spesifik ada 4 arti kebebasan:
1. Bebas menjalankan program [freedom 0].
2. Bebas mempelajari program dan mengadaptasi sesuai kebutuhan [freedom 1].
3. Bebas mendistribusikan ulang [freedom 2].
4. Bebas meningkatkan program dan mempublikasikannya [freedom 3].
Dalam proyek GNU ini digunakan dua lisensi untuk melindungi kebebasan secara legal:
1. Copyleft: siapapun yang mendistribusikan ulang program dengan atau tanpa perubahan harus memberikan kebebasan juga untuk didistribusikan lagi atau diubah. Copyleft menjamin setiap pengguna mempunyai kebebasan.
2. Non-copyleft: siapapun yang mendistribusikan atau mengubah harus mendapat ijin dari pembuat program. Free Software Foundation: http://www.fsf.org/

5. Bedanya dengan Linux???
Linux adalah sebuah sistem operasi yang ‘menyerupai’ UNIX, merupakan implementasi independen dari POSIX, meliputi true multitasking, virtual memory, shared libraries, demand-loading, proper memory management, dan multiuser. Linux seperti layaknya UNIX, mendukung banyak software mulai dari TeX, X Window, GNU C/C++ sampai ke TCP/IP. Linux adalah sistem operasi yang disebarkan secara luas dengan gratis di bawah lisensi GNU General Public License (GPL), yang berarti juga source code Linux tersedia. Itulah yang membuat Linux sangat spesial. Linux masih dikembangkan oleh kelompok-kelompok tanpa dibayar, yang banyak dijumpai di Internet. Mereka tukar-menukar kode, melaporkan bug, dan membenahi segala masalah yang ada. Setiap orang yang tertarik dipersilakan untuk bergabung dalam pengembangan Linux.

6. Mengapa Linux???
Beberapa orang mengatakan bahwa Linux dapat diandalkan dan memiliki tingkat security yang cukup baik. Tambahan lain yaitu Linux yang relatif murah, mudah didapatkan di internet, dan secara periodik di’update’ dengan periode yang cukup singkat dan dikembangkan dengan teknologi yang baru. Dengan kata lain Linux selalu mengikuti perkembangan teknologi komputer. Tambahan dari Penulis : ‘Tidak ada kata tidak bisa oleh Linux, yang ada hanyalah belum bisa’ Keunggulan Linux :
· Linux gratis. Pikirkan Anda mendapat “minuman gratis”. Linux itu 100% gratis, bukan shareware. Meminjam kopian Linux dan menggunakannya pun masih termasuk legal, atau membeli CD-ROM Linux dengan hanya mengganti biaya pembakaran CD dan mungkin beberapa benda lain (manual, aplikasi bonus, dukungan teknis dan lain-lain). Linux bahkan dapat diambil lewat Internet tanpa biaya tetapi akan menghabiskan waktu dan biaya pengambilan yang tidak murah.
· Linux siap pakai. Sistem operasi lain memberikan aplikasi awal yang sangat sedikit, mungkin editor teks, aplikasi grafis sederhana dan beberapa permainan dan pengguna harus membeli aplikasi-aplikasi tambahan lainnya. Linux memberikan hampir semua yang pengguna butuhkan dan inginkan, antara lain: variasi editor teks, aplikasi grafis kompleks, browser, permainan, aplikasi kantor, aplikasi network, kompiler, video, audio dan masih banyak lagi dalam satu paket distribusi.
· Linux mudah diinstal. Pasti banyak orang yang protes mengenai hal ini karena mitos umum adalah Linux sangatlah sulit untuk diinstalasi, tetapi mungkin ini adalah Linux 3 atau 4 tahun lalu. Bacalah instruksi dengan baik dan ketahuilah jenis perangkat keras yang dipunyai maka ………
· Tidak ada hal yang menjadi sulit. Beberapa kesulitan dapat diatasi dengan berdiskusi antar pengguna Linux baik melalui mailing list atau pun menghubungi Kelompok Pengguna Linux di kota masing-masing.
· Linux multitasking. Linux dapat menjalankan beberapa aplikasi dalam waktu yang sama dan masing-masing aplikasi juga dapat melakukan beberapa pekerjaan dalam waktu yang sama (multithreading).
· Linux multiuser. Lebih dari satu orang dapat memakai Linux pada saat yang bersamaan dan hal ini tentunya dilakukan dalam lingkungan jaringan komputer.
· Linux handal. Linux dapat menangani situs web yang mendapat akses jutaan per hari. Dengan tambahan peralatan Linux dapat berkompetisi dengan superkomputer berharga jutaan dolar. Banyak komputer Linux yang berjalan selama tahunan tanpa pernah sekalipun crash dan ini menunjukkan kehandalannya
· Linux fleksibel. Linux tidak peduli apabila dipakai bukan dengan komputer terhebat di pasaran. Ia berjalan dengan baik dengan apapun yang ada misalnya dengan komputer 486 dan memori 8MB. Linux juga dapat berjalan dengan harddisk 50 MB tanpa grafis bahkan untuk sekedar perawatan Linux dapat berjalan dengan hanya satu disket saja.
· Linux kompatibel. Linux dapat dijalankan di berbagai jenis komputer seperti 386/486/Pentium PC, Macintosh dan PowerPC bahkan komputer Alpha dan SPARC. Linux juga mampu menangani multi prosesor dan mampu menangangi hampir semua kartu audio dan video. Linux dapat diinstalasi di harddisk berisi Windows/DOS (selama masih ada ruang sisa) dan tidak mempengaruhi kinerja keduanya. Linux punya tampilan grafis. Banyak orang (terutama reporter) sepertinya berpikir bahwa Linux itu tidak mempunyai tampilan grafis. Padahal tidak hanya mempunyai satu GUI (graphical user interfaceI), tapi Linux mempunyai lusinan GUI. Ingin tampilan seperti Windows 3X, Windows9X, atau Macintosh, Linux bisa menyediakannya.
· Linux aman. Selain fakta keuntungan keamanan jaringannya, Linux juga aman untuk pengunaan rumahan. Hanya dengan beberapa persiapan sekuriti dan sistem rumahan akan aman terhadap virus, lagipula virus tidak dapat mengganggu banyak pada komputer Linux. Apabila pengguna menciptakan user account sendiri untuk penggunaan sehari-hari makan sangatlah mustahil untuk melakukan sesuatu yang bodoh seperti memformat harddisk tanpa sengaja.
· Linux bebas. Tidak seperti sistem operasi pada umumnya, Linux adalah aplikasi gratis. Untuk tambahan penjelasan pertama diatas maka pikirkan “kebebasan berbicara”. Linux disebarkan dengan kode program-nya. Mungkin ada yang berpikiran, “Untuk apa? Saya bukan pemrogram!” Tetapi dengan terdistribusinya kode pembuatan maka tidak ada pihak yang dapat mematikan Linux dengan alasan apapun.
· Linux tidaklah sempurna. Tidak akan jujur sebuah pernyataan apabila tidak mengungkapkan kelemahan. Dengan mengetahui kelemahan Linux maka pengguna dapat mengetahui sejauh mana Linux dapat dikembangkan dan jangan khawatir dari hari ke hari kelemahan Linux makin berkurang (terbukti dengan GUI Linux). Pada umumnya UNIX dibuat untuk keperluan komputer yang akan didedikasikan sebagai SERVER, sedangkan Linux, tanpa melupakan keunggulannya dalam networking, Linux tetap terus mengembangkan diri sebagai Operating System sebagai Server, tetapi Linux juga mengembangkan diri ke arah Operating System yang mampu dijadikan sebagai Workstation. Artikel ini datang dari InfoLINUX

Rabu, 16 Maret 2011

Konsep Management Proses di Sistem Operasi

Secara informal, proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.Secara informal, proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.

Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.

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

Komunikasi antar proses

(Inter Process Communinication / IPC) :
Beberapa proses biasanya berkomunikasi dengan proses lainnya.
Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada proses ke dua dan seterusnya.
Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).

Mekanisme proses untuk komunikasi dan sinkronisasi aksi

Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data.
IPC menyediakan dua operasi :
send(message) – pesan berukuran pasti atau variabel
receive(message)
Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
Membangun jalur komunikasi diantara keduanya
Melakukan pertukaran pesan melaui send/receive
Implementasi jalur komunikasi
physical (shared memory, hardware bus)
logical (logical properties)


Pembuatan Proses (Create)

Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.

Penciptaan proses melibatkan banyak aktivitas, yaitu :

  • Menamai (memberi identitas) proses.
  • Menyisipkan proses pada senarai proses atau tabel proses.
  • Menentukan prioritas awal proses.
  • Menciptakan PCB.
  • Mengalokasikan sumber daya awal bagi proses.
  • Penghancuran Proses (Destroyed)

Penghancuran proses terjadi karena :

  • Selesainya proses secara normal.
  • Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
  • Batas waktu telah terlewati.
  • Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
  • Memori tidak tersedia.
  • Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
  • Pelanggaran terhadap batas memori.
  • Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
  • Terjadi kesalahan karena pelanggaran proteksi.
  • Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis file read only.
  • Terjadi kesalahan aritmatika.
  • Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W.
  • Waktu telah kadaluwarsa.
  • Proses telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian spesfiik.
  • Terjadi kegagalan masukan/keluaran.
  • Kesalahan muncul pada masukan atau keluaran, seprti ketidakmampuan menemukan file, kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid seperti membaca dari line printer).
  • Intruksi yang tidak benar.
  • Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat pencabangan ke daerah data dan berusaha mengeksekusi data tersebut).
  • Terjadi usaha memakai instruksi yang tidak diijinkan.
  • Proses berusaha mengeksekusi instruksi yang disimpan untuk SO.
  • Kesalahan penggunaan data.
  • Bagian data adalah tipe yang salah atau tidak diinisialisasi.
  • Diintervensi oleh SO atau operator.
  • Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi deadlock).
  • Berakhirnya proses induk.
  • Ketika parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu.
  • Atas permintaan proses induk.
  • Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses.

Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :

  • Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
  • Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.

Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :

  • Sumber daya-sumber daya yang dipakai dikembalikan.
  • Proses dihancurkan dari senarai atau tabel sistem.
  • PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

Threads

Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan. Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.

  Keadaan Proses

1) Running, yaitu suatu kondisi pemroses sedang mengeksekusi instruksi. Benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).

2) Ready, yaitu suatu kondisi proses siap dieksekusi, akan tetapi pemroses belum siap atau sibuk.

3) Blocked, yaitu suatu proses menunggu kejadian untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya kerja dari perangkat I/Otersedianya memori yang cukup.
Transisi Status


1) Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul.

2) Penjadwalan mengambil proses lain.

3) Penjadwalan mengambil proses ini (baru).

4) Input telah tersedia.

Implementasi Proses :

Untuk mengimplementasikan model proses, sistem operasi menggunakan suatu tabel / array yang disebut tabel proses dengan 1 entry per-proses.
Setiap entry berisi tentang : status proses, program counter, stack pointer, alokasi memori, status file, informasi schedulling / penjadwalan informasi, dll dari status kerja ke status siap.

3. Penjadwalan Proses

Kriteria untuk mengukur dan optimasi kinerja penjadwalan :

a) Adil (fairness)

Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.

b) Efisiensi (eficiency)

Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu

sibuk pemroses.

c) Waktu tanggap (response time)

Waktu tanggap berbeda untuk :

1) Sistem interaktif

Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.

2) Sistem waktu nyata

Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.

d) Turn around time

Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.

e) Throughput

Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu

Algoritma Penjadwalan

Berikut jenis-jenis algoritma berdasarkan penjadwalan :

Nonpre-emptive, menggunakan konsep :

  • FIFO (First In First Out) atau FCFS (First Come First Serve)
  • SJF (Shortest Job First)
  • HRN (Highest Ratio Next)
  • MFQ (Multiple Feedback Queues)
  • Pre-emptive, menggunakan konsep :
  • RR (Round Robin)
  • SRF (Shortest Remaining First)
  • PS (Priority Schedulling)
  • GS (Guaranteed Schedulling)

Algoritma Pre-emptive

A. Round Robin (RR)

Merupakan :

Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan mudah diimplementasikan.
Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time).
Penjadwalan tanpa prioritas.
Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas tertentu.

Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jika proses masih running sampai akhir quantum, maka CPU akan mempreempt proses itu dan memberikannya ke proses lain.

Algoritma yang digunakan :

1) Jika kwanta habis dan proses belum selesai, maka proses menjadi runnable dan pemroses dialihkan ke proses lain.

2) Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.

3) Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain.

Diimplementasikan dengan :

1) Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.

2) Ambil proses yang berada di ujung depan antrian menjadi running.

3) Bila kwanta belum habis dan proses selesai, maka ambil proses di ujung depan antrian proses ready.

4) Jika kwanta habis dan proses belum selesai, maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.

Masalah yang timbul adalah menentukan besar kwanta, yaitu :

Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehingga menurunkan efisiensi proses.

Penjadwalan ini :

Baik untuk sistem interactive-time sharing dimana kebanyakan waktu dipergunakan menunggu kejadian eksternal.

Contoh : text editor, kebanyakan waktu program adalah untuk menunggu keyboard, sehingga dapat dijalankan proses-proses lain.

Tidak cocok untuk sistem waktu nyata apalagi hard-real-time applications.

B. Priority Schedulling (PS)

Adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi bahwa masing-masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya. Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas 100, proses dari kolonel 90, mayor berprioritas 80, kapten berprioritas 70, letnan berprioritas 60 dan seterusnya. Dalam UNIX perintah untuk mengubah prioritas menggunakan perintah nice.

Pemberian prioritas diberikan secara :

Statis (static priorities)

Berarti prioritas tidak berubah.

Keunggulan :

Mudah diimplementasikan.
Mempunyai overhead relatif kecil.

Kelemahan :

Tidak tanggap terhadap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas.

Dinamis (dynamic priorities)

Merupakan mekanisme untuk menanggapi perubahan lingkungan sistem beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.

Kelemahan :

Implementasi mekanisme prioritas dinamis lebih kompleks dan mempunyai overhead lebih besar. Overhead in diimbangi dengan peningkatan daya tanggap sistem.

Dalam algoritma berprioritas dinamis dituntun oleh keputusan untuk memenuhi kebijaksanaan tertentu yang menjadi tujuan. Layanan yang bagus adalah menset prioritas dengan nilai 1/f, dimana f adalah ration kwanta terakhir yang digunakan proses.

Contoh :

Proses yang menggunakan 2 msec kwanta 100 ms, maka prioritasnya50.
Proses yang berjalan selama 50 ms sebelum blocked berprioritas 2.
Proses yang menggunakan seluruh kwanta berprioritas 1.

C. Multiple Feedback Queues (MFQ)

Merupakan :

Penjadwalan berprioritas dinamis.

Penjadwalan ini untuk mencegah (mengurangi) banyaknya swapping dengan proses-proses yang sangat banyak menggunakan pemroses (karena menyelesaikan tugasnya memakan waktu lama) diberi jatah waktu (jumlah kwanta) lebih banyak dalam satu waktu. Penjadwalan ini juga menghendaki kelas-kelas prioritas bagi proses-proses yang ada. Kelas tertinggi berjalan selama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelas berikutnya berjalan empat kwanta, dan seterusnya.

Ketentuan yang berlaku adalah sebagai berikut :

Jalankan proses pada kelas tertinggi.
Jika proses menggunakan seluruh kwanta yang dialokasikan, maka diturunkan kelas prioritasnya.
Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.

Mekanisme ini mencegah proses yang perlu berjalan lama swapping berkali-kali dan mencegah proses-proses interaktif yang singkat harus menunggu lama.

D. Shortest Remaining First (SRF)

Merupakan :

Penjadwalan berprioritas dinamis.
Adalah preemptive untuk timesharing.
Melengkapi SJF.

Pada SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan, termasuk proses-proses yang baru tiba.

Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
Pada SRF, proses yang sedang berjalan (running) dapat diambil alih proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.

Kelemahan :

Mempunyai overhead lebih besar dibanding SJF. SRF perlu penyimpanan waktu layanan yang telah dihabiskan job dan kadang-kadang harus menangani peralihan.
Tibanya proses-proses kecil akan segera dijalankan.
Job-job lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama dibanding pada SJF.

SRF perlu menyimpan waktu layanan yang telah dihabiskan , menambah overhead. Secara teoritis, SRF memberi waktu tunggu minimum tetapi karena overhead peralihan, maka pada situasi tertentu SFJ bisa memberi kinerja lebih baik dibanding SRF.

E. Guaranteed Scheduloing (GS)

Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu.

Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan memiliki penjadwalan berprioritas dinamis.

Algoritma Non Pre-emptive

A. First In First Out (FIFO)

Merupakan :

Penjadwalan tidak berprioritas.

FIFO adalah penjadwalan paling sederhana, yaitu :

Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.

Penjadwalan ini :

Baik untuk sistem batch yang sangat jarang berinteraksi dengan pemakai.

Contoh : aplikasi analisis numerik, maupun pembuatan tabel.

Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak memberi waktu tanggap yang baik.
Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).

B. Shortest Job First (SJF)

Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas.

Masalah yang muncul adalah :

Tidak mengetahui ukuran job saat job masuk.

Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya.

Proses yang tidak datang bersamaan, sehingga penetapannya harus dinamis.

Penjadwalan ini jarang digunakan, karena merupakan kajian teoritis untuk pembandingan turn around time.

C. Highest Ratio Next (HRN)

Merupakan :

Penjadwalan berprioritas dinamis.
Penjadwalan untuk mengoreksi kelemahan SJF.
Adalah strategi penjadwalan dengan prioritas proses tidak hanya merupakan fungsi waktu layanan tetapi juga jumlah waktu tunggu proses. Begitu proses mendapat jatah pemroses, proses berjalan sampai selesai.

Prioritas dinamis HRN dihitung berdasarkan rumus :

Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan

Karena waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus.

Disebut HRN, karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani.

Interupsi

Kerja prosesor pada suatu proses terhenti oleh pensaklaran konteks (perubahan kegiatan prosesor dari proses ke proses yang terjadi diantara proses sistem / proses aplikasi).

2 cara interupsi pada processor :

1. Interupsi langsung

Berasal dari luar prosesor (peripheral / alat mengirim sinyal kepada prosesor untuk meminta pelayanan)

2. Interupsi Tanya / Polling

Berasal dari prosesor (prosesor secara bergiliran mengecek apakah ada peripheral yang memerlukan pelayanan atau tidak)

Interupsi dapat di-enable dan disable tergantung pada levelnya.
Pembangkit interupsi dapat berasal dari :
Program, di dalam program telah dirancang pada bagian tertentu akan terjadi pensaklaran konteks, yang menimbulkan interupsi, contohnya pada saat penggunaan alat / prosesor secara bergantian.
Prosesor, prosesor sendiri dapat membangkitkan interupsi, yang biasa mengolah logika dan aritmatika. Jika melampoi ukuran tampung register di dalam prosesor, maka terjadi kekeliruan yang akan menginterupsi kerjanya sendiri dan menyerahkan kendali prosesor pada sistem operasi. Misalnya pembagian dengan bilangan nol.
Satuan kendali, tugas untuk melaksanakan interupsi terletak pada satuan kendali, sehingga satuan kendali dapat membangkitkan interupsi. Misalnya kekeliruan instruksi
Kunci waktu / clock, menggunakan interupsi berkala. Misalnya pada program looping yang tak terhingga, diinterupsi pada setiap selang waktu 60 detik.
Peripheral I/O, I/O jika akan bekerja memberitahukan pada prosesor dengan interupsi prosesor dan juga ketika pekerjaan selesai atau pada saat terjadi kekeliruan paritas.
Memori, karena terjadi kekeliruan, misalnya ketika prosesor ingin mencapai alamat memori yang terletak di luar bentangan alamat memori yang ada.

Sumber daya lain, misal dibangkitkan oleh operator sistem komputer yang mengerti cara interupsi.

î Interupsi vector : Berisi alamat prosedur service interupsi

î Penerimaan interupsi dan interupsi berganda : ada kalanya interupsi ditolak oleh prosesor atau interupsi yang datang tidak hanya satu sehingga diperlukan prioritas.

Tindak lanjut interupsi :

1. Penata interupsi / interrupt handler

Jika terjadi interupsi, maka kendali prosesor diserahkan ke bagian penata interupsi pada sistem operasi, maka penata interupsi inilah yang melaksanakan interupsi.

Instruksi yang sedang diolah oleh prosesor dibiarkan sampai selesai program.
Penata interupsi merekam semua informasi proses ke dalam blok kendali proses.
Penata interupsi mengidentifikasi jenis dan asal interupsi.
Penata interupsi mengambil tindakan sesuai dengan yang dimaksud interupsi.
Penata interupsi mempersiapkan segala sesuatu untuk pelanjutan proses yang diinterupsi.
2. Penata keliru / error handler

yaitu interupsi karena kekeliruan pada pengolahan proses dan bagian pada sistem operasi yang menata kegiatan akibat kekeliruan adalah penata keliru.

Pemulihan, komputer telah dilengkapi dengan sandi penemuan dan pemulihan kekeliruan, contohnya telah dilengkapi dengan sandi Hamming sehingga ketika menemukan kekeliruan sandi akan mengoreksi kekeliruan itu, proses pulih ke bentuk semula sebelum terjadi kekeliruan.
Pengulangan, mengatur agar proses yang membangkitkan interupsi keliru dikerjakan ulang, jika kekeliruan dapat diatasi maka proses akan berlangsung seperti biasa, jika tidak teratasi maka interupsi akan menempuh tindak lanjut keluar dari proses.
Keluar dari proses, penata keliru menyiapkan tampilan berita keliru dari monitor, setelah itu prosesor keluar dari proses, ini adalah tindakan terakhir jika tidak dapat menolong proses yang keliru tersebut.

Langkah-langkah yang dilakukan sistem operasi pada saat terjadi interupsi :

hardware memasukkan program counter, dl.l.

memasukkan ke dalam stack pencacah program

Hardware memuatkan (load) program counter baru dari vector interrupsi
Prosedur bahasa rakitan menyimpan isi register
Prosedur bahasa rakitan men-set stack yang baru
Prosedur C menandai proses servis siap (ready)
Scheduler / penjadwalan menentukan proses mana yang akan jalan berikutnya
Prosedur C kembali ke modus bahasa rakitan
Prosedur bahasa rakitan memulai proses yang sedang dilaksanakan.

Selasa, 15 Maret 2011

Kisah Pengusaha dan Pegawai sukses

Untuk menjadi pengusaha maupun pegawai yang sukses memang diperlukan kerja keras dan melewati berbagai proses yang panjang. Nah berikut ini merupakan kisah sukses dari seorang pengusaha yang memulai dari nol dan seorang pegawai negeri sipil (PNS) yang ingin menambah pendapatan diluar profesinya dengan hal yang luar biasa Yukk kita simak: 
Kisah pengusaha sukses
kisah yang pertama merupakan kisah sukses seorang pengusaha bengkel di kabupaten banyumas, beliau adalah paman saya. Lulusan SMA ini mengawali bisnisnya menjadi pemilik bengkel sepeda motor dengan 5 cabang dan puluhan karyawan,segalanya tentu ak mudah diraih bahkan beliau pernah menjalni hidup yang keras di sumatera. beliau bernama sugeng supriyadi, sebelum beliau terjun ke dunia otomotif jatuh bangun usahanya telah melewati berbagai rintangan, karena saya penasaran dengan perjalanan suksesnya, akhirnya saya menghubungi beliau lewat telepon yaa maklumlah terkendala jarak dan waktu. Setelah saya menerangkan maksud saya, maka tak lama kemudian paman bercerita:
Terus terang saya suka malu bila dibilang sebagai pengusaha sukses yang punya banyak bengkel motor, bukan tidak mensyukuri tapi saya hanya tidak mau dicap sombong, saya mengawali semua usaha dengan niat sederhana: “tidak mau merepotkan orangtua”.
Orangtua saya bukanlah orang kaya, bahkan boleh dibilang serba kekurangan, sebagai anak bungsu dari 6 bersaudara tidak menjadikan saya diperlakukan special. Sejak kecil saya sudah tebiasa ditempa dengan kerja keras, malah kalau dipikir-pikir saya sudah menjadi pengusaha sejak kecil. Bayangkan sebelum pergi ke sekolah pagi-pagi buta saya harus ikut membawa barang dagangan orang tua saya kepasar, ayah saya seorang penjual ayam dan ibu saya penjual sayuran. Setelah membantu orangtua barulah saya mendapatkan uang saku. Begitulah hidup saya sampai saya menamatkan SMA. Bosan dirumah akhirnya saya memutuskan untuk merantau ke tempat saudara di sumatera, disana saya menjadi petani kopi. Baru 3 bulan berjalan, saya menerima kabar bahwa ayah saya sakit keras dan akhirnya meninggal dunia. Saya memutuskan untuk kembali ke kampung halaman dan meneruskan usaha ayah saya sebagai penjual ayam di pasar. Merasa bosan saya pun beralih berjualan lanting (makanan kecil khas banyumas), makelar motor, sampai jadi tukang ojek pernah saya lakoni.
Tahun 1988 saya menikah dan tahun 1990 anak saya lahir, saat itu saya sudah berprofesi sebagai staff tata usaha di sebuah SMA swasta. Namun gaji yang saya dapatkan tidak mencukupi untuk menghidupi istri dan anak saya, sampai akhirnya saya nekat untuk belajar otomotif dan beniat membuka bengkel sendiri walaupun pada saat itu istri saya tidak menyetujui. Titik cerah muncul dan cita-cita saya tercapai, saya membuka bengkel sendiri dan memulai usaha sampai akhirnya usaha saya berkembang menjadi 5 cabang bengkel yang saya beri nama “ESTU” alias kependekan dari “Enak Susah Tetap Usaha”
Kunci keberhasilan adalah kejujuran yang mengandung itikad baik. Dalam berusaha saya tidak selalu memikirkan untung. Keuntungan hanya membuat kita kaya secara meteri, namun tidak secara batin. Untuk apa kaya kalau tidak bahagia? Bukan berarti saya menganjurkan miskin. Akan lebih rugi bila sudah miskin tidak bahagia. Jadi tujuan hidup bukan miskin atau kaya, tapi bahagia.Yang disebut bahagia adalah orang yang bisa berkarya untuk diri sendiri dan bermanfaat untuk masyarakat. Kalau mau kaya, usahakan jangan sampai orang lain menjadi miskin karenanya. Saya mempunyai filosofi, “lebih baik sedikit tetapi cukup daripada banyak tetapi kurang.” Miskin di sini saya artikan adalah cukup. Kalau sudah merasa sudah cukup, untuk apa memikirkan banyak?
Dalam hidup saya memakai sistem kompromi. Separuh untuk nafkah separuh lagi untuk kehidupan. Karena mencari nafkah itu belum tentu hidup. Apabila sudah bisa menikmati hidup, barulah namanya hidup. Hidup itu sebenarnya mudah karena Tuhan Maha Baik, Dia akan memberikan segala yang diminta hambanya. Manusia itu sering berbicara bahwa Tuhan Maha Tahu, tapi mereka sok. Tuhan Maha Kuasa tapi kita sok kuasa akhirnya kita tidak mau rendah hati. Sebetulnya, kalau rendah hati, hidup ini jadi indah.

Kisah pegawai sukses
Sarno, penemu varietas durian bhineka bawor khas Banyumas yang terkenal hingga mancanegara
Kisah kedua merupakan kisah Sarno ahmad darsono, seorang pria asal desa alasmalang kemranjen banyumas yang berprofesi sebagai PNS di SDN Manggungan I Jl Raya Wijahan – Manggungan, Kecamatan Kemranjen, Kabupaten Banyumas Jawa Tengah. Merupakan sosok guru yang sederhana dan sangat religious di lingkungan tempat tinggalnya. Untuk mengisi waktu luangnya setelah pulang mengajar beliau bereksperimen dengan mengokulasi durian local dengan durian Bangkok. Instingnya terhadap durian begitu kuat. Cukup melihat bijinya, ia tahu jenis durian itu. Pengalaman semasa kecil menemani sang ayah mencari durian hingga ke pelosok desa membuat Sarno Ahmad Darsono terobsesi pada durian. Ia lalu ”menciptakan” pohon durian bhineka bawor, hasil okulasi 20 jenis durian varietas lokal dan luar. ”Begitu banyak jenis durian di negeri ini, kenapa kita kalah dari Thailand?” pikirnya. Permenungan itu menantang Sarno, petani durian dari Desa Alasmalang, Kecamatan Kemranjen, Kabupaten Banyumas, Jawa Tengah, untuk mendapatkan kelebihan dan peningkatan produktivitas durian. Tahun 1996 ia berkeyakinan, pohon durian yang sebelumnya baru berbuah setelah berusia delapan tahun dapat dipersingkat menjadi empat tahun dengan okulasi.
Tetapi, ketika itu dia juga tak pernah berhenti berpikir, apakah okulasi adalah cara yang paling tepat? Sementara itu, ingatannya selalu kembali pada masa kecil, saat ia berjalan dari kebun satu ke kebun yang lain untuk mendapatkan buah durian berkualitas baik.
Pada usia tujuh tahun, Sarno sudah mampu membedakan durian berdasarkan jenisnya. Dengan memegang dan menimbangnya, ia tahu durian yang ada di tangannya telah matang atau belum, berkulit tebal atau tipis. Ketajaman penciuman ikut membantu dia memilah durian yang puket (manis, berlemak, dan beralkohol) atau bukan. Dalam ingatan, dia menyimpan koleksi durian apa saja yang berkualitas baik. Sebut misalnya durian petruk, sunan, dan kuningmas. Kepekaannya itu telah membantu sang ayah mengumpulkan durian, dan menjualnya di pasar-pasar di Banyumas.
Namun, Sarno pun menyadari bahwa kepekaannya pada durian itu tak bisa menjawab pertanyaan yang selalu muncul di kepalanya, mengapa kita kalah dari Thailand? Ia lantas berusaha mendapatkan jawabnya, antara lain lewat buku-buku pertanian.
”Setelah memperoleh bahan informasi yang cukup, saya yakin okulasi bisa meningkat- kan produktivitas durian,” ucapnya.
Meskipun demikian, ia tak melakukan okulasi hanya pada dua pohon durian yang berbeda jenis. Pada percobaan pertama, Sarno langsung mencoba mengokulasi pohon durian montong oranye dengan 20 jenis durian lokal, seperti sunan, petruk, otong, cinimang, kereng, kuningmas, oneng, bluwuk, dan kumba karna.
Dalam percobaannya itu, ia membagi pohon primer, sekunder, dan tersier. Pohon durian montong oranye dijadikan pohon primer. Tubuh pohon itu dilukai pada beberapa bagian untuk menempelkan 10 tunas pohon durian lokal berkualitas baik, seperti petruk, kuningmas, dan kumba karna, yang menjadi pohon sekunder.
Setelah berselang tiga-empat bulan, okulasi pohon primer dengan sekunder mulai melekat. Sarno lalu mencoba membuat okulasi lagi pada pohon-pohon sekunder, dengan melukai pohon-pohon itu untuk menempelkan pohon durian lokal berkualitas sedang sebagai pohon tersier.
Banyaknya pohon durian yang digunakan untuk okulasi membuat pohon primernya tumbuh menyerupai pohon bakau yang akarnya mencuat dari tanah.
Menurut Sarno, tingkatan pada okulasi itu berguna untuk menjamin ketersediaan makanan yang lebih banyak untuk pohon primer. Adapun fungsi pohon sekunder adalah memengaruhi kualitas buah yang dihasilkan pohon primer.
Empat tahun kemudian atau tepatnya akhir tahun 2000, pohon hasil percobaannya sudah menghasilkan 30-40 buah durian montong oranye yang berbeda dari aslinya. Kulitnya tipis, daging lebih tebal, warna daging buah lebih merah seperti durian kuningmas, rasa lebih puket, dan beralkohol seperti durian petruk. Ukurannya sebesar durian kumba karna dengan berat bisa lebih dari 10 kilogram.
Oleh karena itu, lebih dari lima tahun ini dia juga giat mengimbau para petani durian di sekitar Kemranjen, yang umumnya bermukim di kawasan perbukitan, untuk menanam pohon durian ”ciptaannya”.
Kini, setiap bulan Sarno tinggal menunggu pembeli dari Banyumas maupun Jakarta untuk mengambil durian dari pohon hasil ”ciptaannya”. Harganya per kilogram sekitar Rp 17.000, sedangkan bobot per buah 6-12 kilogram.
”Beberapa hari lalu saya menjual durian montong oranye seharga Rp 200.000 karena bobotnya sampai 12 kilogram,” ucapnya.
Tak hanya itu, setiap bulan Sarno juga memperoleh pesanan untuk memasok bibit okulasi bhineka bawor-nya ke Jawa Timur, Sumatera, dan Sulawesi. Untuk satu kali pengiriman bisa sampai 200 bibit. Bibit pohon durian itu dijualnya seharga Rp 75.000-Rp 150.000 per pohon, tergantung jumlah tunas pohon durian yang digunakan untuk okulasi.
Tentang nama bhineka bawor untuk durian ”ciptaannya”, kata Sarno, ”bhineka” diambil dari semboyan negeri ini, Bhinneka Tunggal Ika, yang bermakna keragaman budaya seperti keragaman jenis durian lokal di Indonesia. ”Bawor” diambilnya dari salah satu tokoh wayang yang menjadi simbol Kabupaten Banyumas, dengan ciri khas cablaka atau berbicara apa adanya.
Dengan semangat keragaman itu pula, pengurus Paguyuban Petani Durian Unggul Kemranjen ini menamakan duriannya Sarakapita yang merupakan akronim nama dirinya, sang istri, dan nama ketiga putrinya.
”Buah durian ini juga menjadi simbol kebersamaan keluarga kami,” ucapnya.
"Beberapa warga Suriname pernah datang untuk sekadar menikmati durian bawor ini," kata Koordinator Paguyuban Petani Durian "Bhineka Bawor Tekni Sarakapita", Sarno Ahmad Darsono di Desa Alasmalang, Kecamatan Kemranjen, Banyumas, Selasa (5/1).
Bahkan, kata dia, tidak hanya warga Suriname yang pernah datang tetapi juga Jepang dan Jerman. Selain dikenal di luar negeri, lanjutnya, durian bawor ini juga sangat dikenal di berbagai daerah di Indonesia, seperti Jakarta, Aceh, Medan, dan Surabaya
Selain menyediakan buah durian, kata dia, paguyuban juga menjual bibit durian hasil perkawinan dengan harga mulai Rp50 ribu hingga Rp2 juta. Kompleksitas pemikiran Sarno tak hanya tecermin pada durian, tetapi juga pilihan lapangan tugasnya sebagai guru. Baginya, tak ada tantangan untuk mengajar siswa kelas tiga sampai lima karena siswa relatif sudah dalam kondisi stabil.
Kelas-kelas transisi bagi siswa merupakan pilihan dia, yakni kelas enam serta kelas satu dan kelas dua. Kelas enam, misalnya, menurut Sarno, merupakan lapangan tugas yang ”tiada akhir” lelahnya bagi guru sebab harus mempersiapkan para siswa sampai matang agar bisa lulus SD. Oleh karena itulah, sejak diangkat sebagai guru tahun 1988 hingga 2004, ia menjadi guru kelas enam. Baru empat tahun belakangan ini dia pindah menjadi guru kelas satu dan dua. Kedua kelas ini, menurut Sarno, juga memiliki tantangan yang tak kecil karena siswa umumnya mengalami peralihan dari dunia bermain ke dunia belajar.
”Pada garis-garis berisiko inilah saya menemukan kenikmatan berkarya,” kata Sarno.

Kesimpulan:
Menjadi seorang pengusaha tidaklah mudah, semuanya butuh proses yang panjang dan kerja keras. Tuhan sudah menganugerahi kita dengan akal agar dapat di explorasi dengan maksimal. Asal ada niat dan keyakinan yang tinggi maka semua bukan hanya mimpi belaka. Jika ingin sukses dengan cara yang instan maka lupakanlah sukses dari hidup anda………!!!!!!

Sabtu, 12 Maret 2011

Push Down Automata

Push Down Automata (PDA) merupakan mesin otomata dari bahasa bebas konteks. PDA di gambarkan sebagai tempat penyipanan yang tidak terbatas berupa stack/tumpukan.

Stack ialah kumpulan dari elemen-elemen sejenis dengan sifat penambahan elemen dan pengambilan elemen melalui suatu tempat yang disebut top of stack (puncak stack). Prinsip pada stack adalah LIFO. Pengambilan elemen dari stack dinyatakan dengan operasi pop, sedang memasukkan elemen ke dalam stack dengan operasi push.:)


Push Down Automata (PDA) merupakan mesin otomata dari bahasa bebas konteks. PDA di gambarkan sebagai tempat penyipanan yang tidak terbatas berupa stack/tumpukan.

Stack ialah kumpulan dari elemen-elemen sejenis dengan sifat penambahan elemen dan pengambilan elemen melalui suatu tempat yang disebut top of stack (puncak stack). Prinsip pada stack adalah LIFO. Pengambilan elemen dari stack dinyatakan dengan operasi pop, sedang memasukkan elemen ke dalam stack dengan operasi push.
automata Pushdown berbeda dari mesin negara yang terbatas dalam dua cara:

Mereka dapat menggunakan atas tumpukan untuk menentukan transisi untuk mengambil.
Mereka dapat memanipulasi stack sebagai bagian dari melakukan transisi.

Pushdown transisi otomata memilih dengan mengindeks meja dengan sinyal input, negara saat ini, dan simbol di bagian atas dari stack. Ini berarti bahwa ketiga parameter sepenuhnya menentukan jalur transisi yang dipilih. Hingga mesin negara hanya melihat sinyal masukan dan negara saat ini: mereka tidak memiliki stack untuk bekerja dengan. Pushdown automata menambahkan stack sebagai parameter untuk pilihan.

automata Pushdown juga dapat memanipulasi stack, sebagai bagian dari melakukan transisi. Hingga mesin negara memilih negara baru, hasil berikut transisi. manipulasi ini dapat mendorong simbol tertentu ke puncak stack, atau untuk pop dari atas tumpukan. robot ini alternatif dapat mengabaikan tumpukan, dan biarkan sebagaimana adanya. Pemilihan manipulasi (atau manipulasi tidak) ditentukan oleh tabel transisi.

Masukkan bersama-sama: Mengingat sinyal input, negara saat ini, dan stack simbol, robot dapat mengikuti transisi ke negara lain, dan secara opsional memanipulasi (push atau pop) stack.

Dalam automata pushdown umum mungkin memiliki beberapa perhitungan string masukan yang diberikan, beberapa yang mungkin tersendat-sendat dalam menerima konfigurasi sementara yang lain tidak. Jadi kami memiliki model yang secara teknis dikenal sebagai "otomat pushdown nondeterministic" (NPDA). Nondeterminism berarti bahwa mungkin ada lebih dari satu transisi yang tersedia untuk mengikuti, diberi sinyal input, negara, dan simbol stack. Jika dalam setiap situasi hanya satu transisi tersedia sebagai kelanjutan dari perhitungan, maka hasilnya adalah otomat pushdown deterministik (DPDA), yang lebih lemah perangkat ketat.

Jika kita mengizinkan akses otomat hingga ke dua tumpukan bukan hanya satu, kita mendapatkan perangkat yang lebih kuat, setara dalam daya ke mesin Turing . Sebuah robot dibatasi linier adalah perangkat yang lebih kuat daripada robot pushdown tetapi kurang daripada mesin Turing.

automata Pushdown yang setara dengan tata bahasa bebas konteks : untuk setiap tata bahasa bebas konteks, ada robot pushdown seperti bahwa bahasa dihasilkan oleh tata bahasa identik dengan bahasa yang dihasilkan oleh robot, yang mudah untuk membuktikan. sebaliknya adalah benar, meskipun sulit untuk membuktikan: untuk setiap otomat pushdown terdapat tata bahasa bebas konteks seperti bahwa bahasa yang dihasilkan oleh robot identik dengan bahasa dihasilkan oleh tata bahasa.

Jumat, 11 Maret 2011

Sejarah Sistem Operasi

Seperti kata Bung Karno "JAS MERAH" alias jangan sekali-kali melupakan sejarah. memang betul sih, apalagi kalau tentang sejarah perjuangan bangsa indonesia untuk mencapai kemerdekaan,  eiiiittttssss tapi yang gak kalah penting, kita sebagai generasi yang sudah mengenal dan menikmati teknolgi canggih terutama teknologi komputer tentunya wajib mengetahui sejarahnya juga apalagi mengenai sejarah sistem operasi yang merupakan roh dari komputer.
Nah, berikut ini bakal gue jelasin tentang sejarah sistem operasi berikut perjalanan sistem operasi dari mulai MS-DOS, Mac OS, dan Windows. yukkk mari kita simak.
  1. Generasi ke-nol (1940).
    • Komponen utama tabung hampa udara;
    • Sistem komputer belum menggunakan sistem operasi;
    • Sistem operasi komputer dilakukan secara manual melalui plugboard, dan hanya bisa digunakan untuk menghitung (+,-, dan *).
  2. Generasi pertama (1950).
    • Komponen utama transistor;
    • Sistem operasi berfungsi terutama sebagai pengatur pergantian antar job agar waktu instalasi job berikutnya lebih efisien. Dalam masa ini muncul konsep batch system (semua job sejenis dikumpulkan jadi satu);
    • Input pemakai punch card.
  3. Generasi kedua (1960).
    • Komponen utama IC;
    • Berkembang konsep-konsep:
    • Multiprogramming, satu prosesor mengerjakan banyak program yang ada di memori utama;
    • Multiprosesing, satu job dikerjakan oleh banyak prosesor berguna untuk meningkatkan utilitas;
    • Spooling Simultaneous Peripheral Operation On Line, bertindak sebagai buffer (penyangga) saja, dan mampu menerima pesanan meskipun belum akan dikerjakan;
    • Device Indipendence, masing-masing komponen memiliki sifat yang saling berbeda (misal: tiap-tiap printer memiliki driver);
    • Time Sharing atau Multitasking, sistem bagi waktu yang diberikan oleh CPU terhadap berbagai job yang sedang dijalankan.
    • Real-time system, berguna sebagai kontrol bagi mesin-mesin.
  4. Generasi ketiga (1970)
    • Komponen utama VLSI (Very Large Scale Integrated Circuit);
    • Ditandai dengan berkembangnya konsep general purpose system, sehingga sistem operasi menjadi sangat kompleks, mahal dan sulit untuk dipelajari;
  5. Generasi keempat (pertengahan 1970-an hingga sekarang).
    • PC makin populer;
    • Ditandai dengan berkembangnya sistem operasi untuk jaringan komputer dengan tujuan: data sharing, hardware sharing, dan program sharing;
    • User interface semakin user friendly tanpa harus mengorbankan unjuk kerja.


       Perjalanan sistem operasi:
    MS-DOS

    MS-DOS, singkatan dari Microsoft Disk Operating System, adalah sebuah sistem operasi yang sangat banyak digunakan oleh komputer IBM-PC atau yang kompatibel dengannya.Microsoft membuat MS-DOS sebagai sebuah sistem operasi mainstream, sebelum pada akhirnya menghentikan dukungan MS-DOS secara perlahan ketika mereka membuat sebuah sistem operasi berbasis antarmuka grafis (dikenal juga dengan sebutan GUI) untuk pasar mainstream, yang disebut sebagai Microsoft Windows.
    MS-DOS dirilis pertama kali pada tahun 1981, dan seiring dengan waktu, Microsoft pun meluncurkan versi yang lebih baru dari MS-DOS. Tidak kurang hingga delapan kali Microsoft meluncurkan versi-versi baru MS-DOS dari tahun 1981 hingga Microsoft menghentikan dukungan MS-DOS pada tahun 2000. MS-DOS merupakan salah satu kunci keberhasilan Microsoft dalam memproduksi perangkat lunak, dari sebuah perusahaan kecil pembuat bahasa pemrograman saat didirikan hingga menjadi sebuah perusahaan perangkat lunak yang seolah menguasai dunia. MS-DOS sebenarnya dibuat oleh sebuah perusahaan pembuat komputer, yang bernama seatle computer product (SCP) yang dikepalai oleh Tim patterson yang belakangan direkrut oleh Microsoft untuk mengembangkan DOS pada tahun 1980 sebagai sebuah perangkat lunak sistem operasi dengan nama Q-DOS (singkatan dari Quick and Dirty Operating System), yang selanjutnya diubah namanya menjadi 86-DOS, karena Q-DOS didesain agar dapat berjalan pada komputer dengan prosesor Intel 8086. Microsoft pun membeli lisensinya dengn harga 50.000 dolar Amerika dari SCP, lalu mengubah namanya menjadi MS-DOS. Selanjutnya, saat IBM hendak meluncurkan komputer pribadi yang disebut dengan IBM PC, Microsoft pun menjual lisensi MS-DOS kepada IBM.


    MAC-OS

    Mac OS, yang bererti Macintosh Operating System, atau Sistem Pengoperasi Macintosh, adalah sistem pengoperasi komputer Apple untuk komputer Apple Macintosh. Mac OS merupakan sistem pengoperasian pertama yang menggunakan antarmuka pengguna grafik (Graphical User Interface -- GUI). Pasukan Macintosh termasuk Bill Atkinson, Jef Raskin dan Andy Hertzfeld.

    Terdapat pelbagai pandangan bagaimana Macintosh dibangunkan dan di mana ide asal bermula. Walaupun kaitan antara Macintosh dan projek Alto di Xerox PARC telah luas diperkatakan dalam rekod sejarah, sumbangan awal Sketchpad oleh Ivan Sutherland dan Sistem di Talian (On-Line System) oleh Doug Engelbart tidak kurang pentingnya. Lihat Sejarah GUI, dan Apple v. Microsoft.

    Apple sengaja merendahkan kewujudan sistem pengoperasi pada tahun awal kemunculan Macintosh untuk menjadikan Macintosh kelihatan lebih ramah pengguna dan membezakannya daripada sistem lain seperti MS-DOS, yang digambarkan sebagai ajaib (arcane) dan mencabar secara teknikal. Apple mahu Macintosh digambarkan sebagai sistem yang “terus berfungsi” apabila anda menghidupkannya.
    Versi

    Sistem Operasi Macintosh pada awalnya dikenali sebagai Sistem, seperti “Sistem 6.0.7″ atau “Sistem 7“. Pada awalnya juga dikenali sebagai Kotak Perkakasan “Toolbox”; yang mengandungi himpunan rutin piawaian yang boleh digunakan bagi menggantikan pautan kepada perkakasan komputer itu sendiri.

    Pengabstrakan ini yang membenarkan applikasi Mac ditulis untuk satu generasi sistem digunakan pada generasi berikutnya, sebagai contoh: dari Mac Plus kepada Mac II, kepada PowerBook, kepada Power Macintosh. Pada awalnya Apple sengaja mengaburkan kewujudan sistem operasi ini bagi membezakan Mac daripada sistem lain seperti MS-DOS, yang digambarkan sebagai lebih sukar digunakan berbanding Mac. Istilah seperti “sistem” dan “kotak perkakasan (the toolbox)” merupakan cara mudah untuk merujuk kepada perkhidmatan sistem operasi dan Macintosh API seterusnya mengelakkan penggunaan istilah teknikal (technical jargon). Sehingga kemunculan era sistem G3 (yang dikenali sebagai mesin “dunia baru”), sebahagian besar sistem disimpan dalam ROM fizikal pada papan induk, dan juga komponen sistem pada cakera yang menambah, mengesampingkan (override)atau memperbaiki rutin ROM. Tujuannya ialah untuk mengelakkan penggunaan terlalu banyak ruang simpanan dalam cakera liut yang terhad untuk sistem sokongan, kerana komputer Mac yang terawal tidak mempunyai cakera keras. Sebenarnya cuma satu model Mac yang boleh dijalankan (bootable) menggunakan ROM sahaja, iaitu model Mac Klasik 1991.

    Sistem 7.5.1 merupakan sistem pertama yang memasukkan logo Mac OS (muka tersenyum (smiley face) biru). Mac OS 7.6 (yang dikeluarkan pada 1996) merupakan sistem pertama yang dinamakan Mac OS kerana wujudnya “klon-klon” Mac, sistem yang hampir serupa daripada syarikat-syarikat lain seperti Power Computing dan Motorola, dan Apple hendak memberitahu dengan jelas bahawa sistem operasiannya merupakan hak milik intelektualnya sendiri.

    Sistem Mac OS boleh dibahagikan kepada dua jenis:
    Mac OS “Klasik”, sistem yang mula-mula dikeluarkan untuk Mac yang pertama pada tahun 1984 hinggalah Mac OS 9.
    Mac OS X (huruf “X” itu disebut sepuluh, iaitu nombor Roman) yang lebih baru. Mac OS X memasukkan unsur-unsur BSD Unix, OpenStep, dan Mac OS 9. Sistem tahap rendah asasnya, Darwin yang berasaskan Unix, merupakan sumber terbuka.

    Mac OS Klasik

    Mac OS klasik dikenali sebagai satu sistem yang tidak mempunyai sebarang baris perintah (command line); merupakan sistem yang menggunakan antara muka pengguna grafik (IU) sepenuhnya. Dipuji kerana senang untuk digunakan, sistem ini juga dikritik kerana menggunakan kerjasama multitugas (cooperative multitasking), ketiadaan pengurusan ingatan, dan kecenderungan pertelingkahan tambahan/sambungan. “Tambahan” adalah perisian yang ditambah kepada sistem pengoperasi, untuk memberikan fungsi tambahan - seperti rangkaian kerja (networking) - atau sokongan kepada perkakasan tertentu. Sesetengah sambungan tambahan mungkin tidak akan berfungsi dengan betul antara satu sama lain atau mungkin perlu ditambah mengikut urutan tertentu. Menyelesaikan masalah tambahan Mac OS boleh menjadi satu proses cuba jaya yang memakan masa yang panjang.

    Mac OS juga memperkenalkan Sistem Fail Hierarki (Hierarchical File System), sebagai satu cara inovatif penyususnan fail. Satu fail pada DOS atau Unix merupakan jujukan bait (byte), yang memerlukan aplikasi mengetahui bahagian bait mana yang mewakili kod dan bahagian mana yang mewakili grafik atau data yang lain, Fail Mac mempunyai dua bahagian yang berlainan. Sebagai tambahan kepada cuaran data, yang merupakan ulangan bait, terdapat juga akar cuaran resource fork yang mengandungi data yang sudah disusun seperti menu, grafik, bunyi, dan segmen kod. Satu fail applikasi mungkin hanya mempunyai sumber yang tidak mengandungi bahagian data. Fail teks mungkin mengandungi teks dalam bahagian data dan maklumat stail pada sumbernya, jadi applikasi yang tidak mengenal maklumat stail tersebut masih boleh membaca teks yang disimpan. Walaupun kaedah ini mempunyai beberapa kelebihan, Mac OS tidak dapat digunakan bersama-sama sistem-sistem pengoperasian lain yang tidak menggunakan sistem Mac OS; contohnya, apabila sesuatu fail disalin daripada Mac kepada DOS atau Unix, akar cuarannya akan dibuang.

    Menjelang akhir 1990-an, telah disedari bahawa teknologi era 1980-an ini telah melangkaui hayatnya, dengan kewujudan sistem-sistem pengoperasian multitugas baru yang lebih stabil.

    Mac OS X

    Rencana utama: Mac OS X

    Mac OS X mambawakan pengurusan memori ala-Unix dan pre-emptive multitasking kepada platform Mac. Pengurusan memori yang jauh lebih baik membolehkan lebih banyak perisian berjalan serentak dan hampir menghapuskan kemungkinan sesuatu perisian meruntuhkan perisian lain. Ia juga adalah Mac OS petama memasukkan baris arahan, walaupun tidak dapat dilihat kecuali apabila penggunanya melancarkan perisian “terminal”.

    Ramai peminat Mac OS asal menerima OS X, tetapi terdapat beberapa yang mengkritiknya sebagai lebih susah dan kurang mesra pengguna daripada Mac OS asal.

    Teknologi Mac OS
    QuickDraw: model pengimej imaging model yang pertama memberikan pasaran pukal WYSIWYG
    Finder: antaramuka untuk melayari filesystem dan melancarkan applikasi
    MultiFinder: versi pertama yang menyokong menjalankan lebih dari satu perisian secara serentak
    Chooser: perkakasan untuk mencapai network resources (contoh: mengaktifkan AppleTalk)
    ColorSync: teknologi untuk memastikan pemadanan warna yang sesuai
    Pengurusan ingatan OS Mac: bagaimana Mac menguruskan RAM dan ingatan maya sebelum bertukar kepada UNIX
    Pengemulasian Motorola 68000 oleh PowerPC: bagaimana Mac menangani transisi arkitektural daripada CISC kepada RISC (lihat emulator Mac 68K)
    Desk Accessories: perisian kecil “helper” yang boleh dijalankan seiring dengan sebarang perisian lain, sebelum munculnya MultiFinder atau System 7.
    PlainTalk: teknologi sintesis pertuturan and pengecaman pertuturan
    Mac-Roman : set aksara

    Projek Star Trek

    Satu aspek sejarah yang menarik mengenai Mac OS Klasik ialah: ianya merupakan satu prototaip rahsia yang tidak diketahui umum yang dimulakan Apple pada tahun 1992 yang diberi nama kod Project Star Trek. Matlamat projek ini ialah untuk mencipta versi Mac OS yang boleh berfungsi pada komputer peribadi serasi-Intel x86. Projek ini tidak bertahan lama, ianya dibatalkan hanya selepas setahun iaitu pada 1993 kerana pertelingkahan politik dalaman. Walaupun begitu, pasukan projek ini berjaya menjadikan perisian seperti Macintosh Finder dan applikasi asas seperti Quicktime berfungsi secara lancar pada PC.

    Walaupun perisian Star Trek tidak pernah dilancarkan, emulator pihak-ketiga Macintosh, seperti vMac, Basilisk II, dan Executor, akhirnya menbolehkan kemungkinan menjalankan Mac OS Klasik pada komputer peribadi x86. Emulator-emulator ini terhad mengemulasikan barisan pemproses 68000, dan dengan demikian tidak dapat menjalankan versi Mac OS yang lebih terkini daripada 8.1 yang memerlukan pemprosesor PowerPC. Mutakhir ini, emulator seperti Pear PC telah muncul yang mampu mengemulasikan pemproses PowerPC yang diperlukan oleh versi terkini Mac OS (seperti Mac OS X). Walaubagaimanapun, ianya masih di peringkat awal dan seperti emulator-emulator lain, cenderung untuk berjalan lebih perlahan daripada OS natif.


    Windows

    Microsoft Windows atau yang lebih dikenal dengan sebutan Windows adalah keluarga sistem operasi. yang dikembangkan oleh Microsoft, dengan menggunakan antarmuka pengguna grafis.
    Sistem operasi Windows telah berevolusi dari MS-DOS, sebuah sistem operasi yang berbasis modus teks dan command-line. Windows versi pertama, Windows Graphic Environment 1.0 pertama kali diperkenalkan pada 10 November 1983, tetapi baru keluar pasar pada bulan November tahun 1985, yang dibuat untuk memenuhi kebutuhan komputer dengan tampilan bergambar. Windows 1.0 merupakan perangkat lunak 16-bit tambahan (bukan merupakan sistem operasi) yang berjalan di atas MS-DOS (dan beberapa varian dari MS-DOS), sehingga ia tidak akan dapat berjalan tanpa adanya sistem operasi DOS. Versi 2.x, versi 3.x juga sama. Beberapa versi terakhir dari Windows (dimulai dari versi 4.0 dan Windows NT 3.1) merupakan sistem operasi mandiri yang tidak lagi bergantung kepada sistem operasi MS-DOS. Microsoft Windows kemudian bisa berkembang dan dapat menguasai penggunaan sistem operasi hingga mencapai 90%.
    Dimulai dari DosShell for DOS 6 buatan Microsoft dan inginnya Microsoft bersaing terhadap larisnya penjualan Apple Macintosh yang menggunakan GUI, Microsoft menciptakan Windows 1.0. Nama ini berasal dari kelatahan karyawan Microsoft yang menyebut nama aplikasi tersebut sebagai Program Windows (Jendela Program). Windows versi 2 adalah versi Windows pertama yang bisa diinstal program. Satu-satunya program yang bisa ditambahkan adalah Microsoft Word versi 1. Windows versi 3 menjanjikan aplikasi tambahan yang lebih banyak, kelengkapan penggunaan, kecantikan user interface atau antarmuka dan mudahnya konfigurasi. Windows versi 3.1 adalah versi Windows yang bisa mengoptimalisasi penggunaannya pada prosesor 32-bit Intel 80386 ke atas. Windows versi 3.11 adalah versi Windows terakhir sebelum era Start Menu. Windows 3.11 pun adalah versi Windows pertama yang mendukung networking/jaringan. Versi Hibrida dapat dijalankan tanpa MS-DOS. Versi Hibrida tersebut menginstalasi dirinya sendiri dengan DOS 7. Tidak seperti Windows versi 16-bit yang merupakan shell yang harus diinstalasi melalui DOS terlebih dahulu. Aplikasinya pun berbeda. Meskipun Windows 9X dapat menjalankan aplikasi Windows 16-bit, namun Windows 9X memiliki grade aplikasi sendiri - X86-32, Windows 9X sangat terkenal dengan BSOD (Blue Screen of Death).

    Versi-Versi Windows:
    Windows 1.0

    Versi pertama Microsoft Windows, yang disebut dengan Windows 1.0, dirilis pada tanggal 20 November 1985. Versi ini memiliki banyak kekurangan dalam beberapa fungsionalitas, sehingga kurang populer di pasaran. Pada awalnya Windows versi 1.0 ini hendak dinamakan dengan Interface Manager, akan tetapi Rowland Hanson, kepala bagian pemasaran di Microsoft Corporation, meyakinkan para petinggi Microsoft bahwa nama "Windows" akan lebih "memikat" konsumen. Windows 1.0 bukanlah sebuah sistem operasi yang lengkap, tapi hanya memperluas kemampuan MS-DOS dengan tambahan antarmuka grafis. Selain itu, Windows 1.0 juga memiliki masalah dan kelemahan yang sama yang dimiliki oleh MS-DOS.

    Lebih jauh lagi, Apple yang menuntut Microsoft membuat Microsoft membatasi kemampuannya. Sebagai contoh, jendela-jendela di dalam Windows 1.0 hanya dapat ditampilkan di layar secara "tile" saja, sehingga jendela tersebut tidak dapat saling menimpa satu sama lainnya. Selain itu, tidak ada semacam tempat yang digunakan untuk menyimpan berkas sebelum dihapus (Recycle Bin), karena memang Apple berkeyakinan bahwa mereka memiliki hak terhadap paradigma tersebut. Microsoft pun kemudian membuang limitasi tersebut dari Windows dengan menandatangani perjanjian lisensi dengan Apple.

    Windows 2.x

    Windows versi 2 pun muncul kemudian pada tanggal 9 Desember 1987, dan menjadi sedikit lebih populer dibandingkan dengan pendahulunya. Sebagian besar populeritasnya didapat karena kedekatannya dengan aplikasi grafis buatan Microsoft, Microsoft Excel for Windows dan Microsoft Word for Windows. Aplikasi-aplikasi Windows dapat dijalankan dari MS-DOS, untuk kemudian memasuki Windows untuk melakukan operasinya, dan akan keluar dengan sendirinya saat aplikasi tersebut ditutup.

    Microsoft Windows akhirnya memperoleh peningkatan signifikan saat Aldus PageMaker muncul dalam versi untuk Windows, yang sebelumnya hanya dapat berjalan di atas Macintosh. Beberapa ahli sejarahwan komputer mencatat ini sebagai kemunculan sebuah aplikasi yang laku secara signifikan selain buatan Microsoft sebagai awal kesuksesan Microsoft Windows.

    Windows versi 2.0x menggunakan model memori modus real, yang hanya mampu mengakses memori hingga 1 megabita saja. Dalam konfigurasi seperti itu, Windows dapat menjalankan aplikasi multitasking lainnya, semacam DESQview, yang berjalan dalam modus terproteksi yang ditawarkan oleh Intel 80286.

    Windows 2.1x

    Selanjutnya, dua versi yang baru dirilis, yakni Windows/286 2.1 dan Windows/386 2.1. Seperti halnya versi Windows sebelumnya, Windows/286 menggunakan model memori modus real, tapi merupakan versi yang pertama yang mendukung High Memory Area (HMA). Windows/386 2.1 bahkan memiliki kernel yang berjalan dalam modus terproteksi dengan emulasi Expanded Memory Specification (EMS) standar Lotus-Intel-Microsoft (LIM), pendahulu spesifikasi Extended Memory Specification (XMS) yang kemudian pada akhirnya mengubah topologi komputasi di dalam IBM PC. Semua aplikasi Windows dan berbasis DOS saat itu memang berjalan dalam modus real, yang berjalan di atas kernel modus terproteksi dengan menggunakan modus Virtual 8086, yang merupakan fitur baru yang dimiliki oleh Intel 80386.

    Versi 2.03 dan kemudian versi 3.0 mendapatkan tuntutan dari Apple karena memang versi 2.1 ini memiliki modus penampilan jendela secara cascade (bertumpuk), selain beberapa fitur sistem operasi Apple Macintosh yang "ditiru" oleh Windows, utamanya adalah masalah tampilan/look and feel. Hakim William Schwarzer akhirnya membatalkan semua 189 tuntutan tersebut, kecuali 9 tuntutan yang diajukan oleh Apple terhadap Microsoft pada tanggal 5 Januari 1989.

    Kesuksesan dengan Windows 3.0

    Microsoft Windows akhirnya mencapai kesuksesan yang sangat signifikan saat menginjak versi 3.0 yang dirilis pada tahun 1990. Selain menawarkan peningkatan kemampuan terhadap aplikasi Windows, Windows 3.0 juga mampu mengizinkan pengguna untuk menjalankan beberapa aplikasi MS-DOS secara serentak (multitasking), karena memang pada versi ini telah diperkenalkan memori virtual. Versi ini pulalah yang menjadikan IBM PC dan kompatibelnya penantang serius terhadap Apple Macintosh. Hal ini disebabkan dari peningkatan performa pemrosesan grafik pada waktu itu (dengan adanya kartu grafis Video Graphics Array (VGA)), dan juga modus terproteksi/modus 386 Enhanced yang mengizinkan aplikasi Windows untuk memakai memori lebih banyak dengan cara yang lebih mudah dibandingkan dengan apa yang ditawarkan oleh MS-DOS.

    Windows 3.0 dapat berjalan di dalam tiga modus, yakni modus real, modus standar, dan modus 386 Enhanced, dan kompatibel dengan prosesor-prosesor keluarga Intel dari Intel 8086/8088, 80286, hingga 80386. Windows 3.0 akan mencoba untuk mendeteksi modus mana yang akan digunakan, meski pengguna dapat memaksa agar Windows bekerja dalam modus tertentu saja dengan menggunakan switch-switch tertentu saat menjalankannya

    * win /r: memaksa Windows untuk berjalan di dalam modus real
    * win /s: memaksa Windows untuk berjalan di dalam modus standar
    * win /3: memaksa Windows untuk berjalan di dalam modus 386 Enhanced.

    Versi 3.0 juga merupakan versi pertama Windows yang berjalan di dalam modus terproteksi, meskipun kernel 386 enhanced mode merupakan versi kernel yang ditingkatkan dari kernel modus terproteksi di dalam Windows/386.

    Karena adanya fitur kompatibilitas ke belakang, aplikasi Windows 3.0 harus dikompilasi dengan menggunakan lingkungan 16-bit, sehingga sama sekali tidak menggunakan kemampuan mikroprosesor Intel 80386, yang notabene adalah prosesor 32-bit.

    Windows 3.0 juga hadir dalam versi "multimedia", yang disebut dengan Windows 3.0 with Multimedia Extensions 1.0, yang dirilis beberapa bulan kemudian. Versi ini dibundel dengan keberadaan "multimedia upgrade kit", yang terdiri atas drive CD-ROM dan sebuah sound card, seperti halnya Creative Labs Sound Blaster Pro. Versi ini merupakan perintis semua fitur multimedia yang terdapat di dalam versi-versi Windows setelahnya, seperti halnya Windows 3.1 dan Windows for Workgroups, dan menjadi bagian dari spesifikasi Microsoft Multimedia PC.

    Fitur-fitur yang disebutkan di atas dan dukungan pasar perangkat lunak aplikasi yang semakin berkembang menjadikan Windows 3.0 sangat sukses di pasaran. Tercatat, dalam dua tahun sebelum dirilisnya versi Windows 3.1, Windows 3.0 terjual sebanyak 10 juta salinan. Akhirnya, Windows 3.0 pun menjadi sumber utama pemasukan Microsoft, dan membuat Microsoft melakukan revisi terhadap beberapa rencana awalnya.

    Beralih sementara ke OS/2

    Selama pertengahan hingga akhir 1980an, Microsoft dan IBM bekerja sama dalam mengembangkan sebuah sistem operasi penerus DOS, yang disebut sebagai IBM OS/2. OS/2 dapat menggunakan semua kemampuan yang ditawarkan oleh mikroprosesor Intel 80286 dan mampu mengakses memori hingga 16 Megabyte. OS/2 1.0 dirilis pada tahun 1987, yang memiliki fitur swapping dan multitasking, selain tentunya mengizinkan aplikasi MS-DOS untuk berjalan di atasnya.

    OS/2 versi 1.0 hanyalah sebuah sistem operasi yang berbasis modus teks/command line saja. OS/2 versi 1.1 yang dirilis pada tahun 1988 menawarkan antarmuka grafis, yang disebut dengan Presentation Manager (PM). Presentation Manager ini menggunakan sistem koordinat yang sama dengan koordinat Cartesius, berbeda dengan sistem operasi Windows dan beberapa sistem GUI lainnya. Penggunaan sistem koordinat tersebut menyebabkan titik x,y 0,0 pada OS/2 diletakkan pada pojok kiri bawah layar, sementara pada Windows, peletakannya pada pojok kiri atas. OS/2 versi 1.2, yang dirilis pada tahun 1989, memperkenalkan sebuah sistem berkas baru, yang disebut dengan High Performance File System (HPFS), yang ditujukan untuk menggantikan sistem berkas File Allocation Table (FAT).

    Pada awal-awal tahun 1990an, hubungan antara Microsoft dan IBM pun meregang akibat munculnya sebuah konflik. Hal ini dikarenakan mereka saling bekerja sama dalam mengembangkan sistem operasi komputer pribadi masing-masing (IBM dengan OS/2 dan Microsoft dengan Windows-nya), keduanya memiliki akses terhadap kode masing-masing sistem operasi. Microsoft menghendaki pengembangan lebih lanjut dari sistem operasi Windows buatannya, sementara IBM memiliki hasrat bahwa semua pekerjaan masa depannya haruslah dibuat berdasarkan sistem operasi OS/2. Dalam sebuah percobaan untuk mengakhiri konflik ini, IBM dan Microsoft akhirnya setuju bahwa IBM akan mengembangkan IBM OS/2 versi 2.0, untuk menggantikan OS/2 versi 1.3 dan Windows 3.0, sementara Microsoft harus mengembangkan sebuah sistem operasi baru, OS/2 versi 3.0, yang akan kemudian menggantikan OS/2 versi 2.0.

    Persetujuan ini pun tidak berlangsung lama, sehingga hubungan IBM dan Microsoft pun dihentikan. IBM akhirnya melanjutkan pengembangan OS/2, sementara Microsoft mengganti nama sistem operasi OS/2 versi 3.0 (yang belum dirilis) menjadi Windows NT. Keduanya masih memiliki hak untuk menggunakan teknologi OS/2 dan Windows yang sudah dibentuk sampai pemutusan persetujuan; akan tetapi, Windows NT benar-benar ditulis sebagai sebuah sistem operasi yang baru dan sebagian besar kode bebas dari kode IBM OS/2.

    Setelah versi 1.3 dirilis untuk untuk membenarkan beberapa masalah dalam OS/2 versi 1.x, IBM akhirnya merilis OS/2 versi 2.0 pada tahun 1992. Versi 2.0 ini menawarkan peningkatan yang signifikan, yakni sebuah GUI berorientasi objek, yang disebut dengan Workplace Shell (WPS), yang mencakup di dalamnya sebuah dekstop dan dianggap oleh banyak orang merupakan fitur terbaik di dalam OS/2. Microsoft pun akhirnya "menjiplak" beberapa elemen dari Workplace Shell pada sistem operasi Windows 95 yang dirilis tiga tahun kemudian. Versi 2.0 juga menawarkan API yang mendukung penuh instruksi 32-bit milik Intel 80386, sehingga menawarkan fitur multitasking yang bagus dan mampu mengalamatkan memori hingga 4 gigabyte. Meskipun demikian, banyak hal di dalam internal sistem masih menggunakan kode 16-bit, yang mengharuskan device driver juga harus ditulis dengan menggunakan kode 16-bit juga, selain tentunya beberapa hal internal lainnya. Hal ini merupakan salah satu alasan mengapa OS/2 kekurangan driver perangkat keras. Versi 2.0 juga mampu menjalankan aplikasi DOS dan Windows 3.0, karena memang IBM juga masih memiliki hak untuk menggunakan kode DOS dan Windows setelah "perceraian" hubungan antara mereka.