Kau Tau?...

Kau tahu apa yang menyenangkan? Saat perempuan-perempuan berpikir aku pernah mencintai mereka. Dan tebak apa yang menyakitkan? Mencintaimu.

Hai Aku...

Hai orang yang gagal jatuh cinta, sedang apa kau? Ah, senyummu! Kukenal senyum palsu itu! Aku juga pernah melakukannya saat bersamamu.

Hanya Kamu

Aku sayang kamu sejak lama, tapi kini aku punya mata yang baru. Mata yang tertutup bagi segala keindahan perempuan yang bukan kamu.

Beda Cerita

Beda ceritanya, antara kamu sudah mengisi hati seseorang atau kamu hanya sedang membuat seseorang sibuk hingga tak sempat menengok hatinya.

Bangga Menjadi Diri Sendiri

Kamu harus bangga bahwa kamu adalah kamu. Sebab mungkin tidak mudah bagi orang lain bila menjadi kamu. :)

Senin, 11 April 2011

Bola voli

Sejarah

Pada awal penemuannya, olahraga permainan bola voli ini diberi nama Mintonette. Olahraga Mintonette ini pertama kali ditemukan oleh seorang Instruktur pendidikan jasmani (Director of Phsycal Education) yang bernama William G. Morgan di YMCA pada tanggal 9 Februari 1895, di Holyoke, Massachusetts (Amerika Serikat).
William G. Morgan dilahirkan di Lockport, New York pada tahun 1870, dan meninggal pada tahun 1942. YMCA (Young Men’s Christian Association) merupakan sebuah organisasi yang didedikasikan untuk mengajarkan ajaran-ajaran pokok umat Kristen kepada para pemuda, seperti yang telah diajarkan oleh Yesus. Organisasi ini didirikan pada tanggal 6 Juni 1884 di London, Inggris oleh George William.
Setelah bertemu dengan James Naismith (seorang pencipta olahraga bola basket yang lahir pada tanggal 6 November 1861, dan meninggal pada tanggal 28 November 1939), Morgan menciptakan sebuah olahraga baru yang bernama Mintonette. Sama halnya dengan James Naismith, William G. Morgan juga mendedikasikan hidupnya sebagai seorang instruktur pendidikan jasmani. William G. Morgan yang juga merupakan lulusan Springfield College of YMCA , menciptakan permainan Mintonette ini empat tahun setelah diciptakannya olahraga permainan basketball oleh James Naismith. Olahraga permainan Mintonette sebenarnya merupakan sebuah permainan yang diciptakan dengan mengkombinasikan beberapa jenis permainan. Tepatnya, permainan Mintonette diciptakan dengan mengadopsi empat macam karakter olahraga permainan menjadi satu, yaitu bola basket, baseball, tenis, dan yang terakhir adalah bola tangan (handball). Pada awalnya, permainan ini diciptakan khusus bagi anggota YMCA yang sudah tidak berusia muda lagi, sehingga permainan ini-pun dibuat tidak seaktif permainan bola basket.
Perubahan nama Mintonette menjadi volleyball (bola voli) terjadi pada pada tahun 1896, pada demonstrasi pertandingan pertamanya di International YMCA Training School. Pada awal tahun 1896 tersebut, Dr. Luther Halsey Gulick (Director of the Professional Physical Education Training School sekaligus sebagai Executive Director of Department of Physical Education of the International Committee of YMCA) mengundang dan meminta Morgan untuk mendemonstrasikan permainan baru yang telah ia ciptakan di stadion kampus yang baru. Pada sebuah konferensi yang bertempat di kampus YMCA, Springfield tersebut juga dihadiri oleh seluruh instruktur pendidikan jasmani. Dalam kesempatan tersebut, Morgan membawa dua tim yang pada masing-masing tim beranggotakan lima orang.
Dalam kesempatan itu, Morgan juga menjelaskan bahwa permainan tersebut adalah permainan yang dapat dimainkan di dalam maupun di luar ruangan dengan sangat leluasa. Dan menurut penjelasannya pada saat itu, permainan ini dapat juga dimainkan oleh banyak pemain. Tidak ada batasan jumlah pemain yang menjadi standar dalam permainan tersebut. Sedangkan sasaran dari permainan ini adalah mempertahankan bola agar tetap bergerak melewati net yang tinggi, dari satu wilayah ke wilayah lain (wilayah lawan).

[sunting] Alat permainan

Bentuk lapangan bola voli
bola voli

[sunting] Lapangan permainan

Ukuran lapangan bola voli yang umum adalah 9 meter x 18 meter. [3] Garis batas serang untuk pemain belakang berjarak 3 meter dari garis tengah (sejajar dengan jaring). Garis tepi lapangan adalah 5 cm.

[sunting] Bola

Bola tersebut memiliki keliling lingkaran 65 hingga 67 cm, dengan berat 260 hingga 280 gram. Tekanan dalam dari bola tersebut hendaknya sekitar 0.30 hingga 0.325 kg/cm2 (4.26-4.61 psi, 294.3-318.82 mbar atau hPa).

[sunting] Net

Ukuran tinggi net putra 2,43 meter dan untuk net putri 2,24 meter.

[sunting] Cara permainan

Suasana permainan bola voli
Permainan ini dimainkan oleh 2 tim yang masing-masing terdiri dari 6 orang pemain dan berlomba-lomba mencapai angka 25 terlebih dahulu.[4]
Dalam sebuah tim, terdapat 4 peran penting, yaitu tosser (atau setter), spiker (smash), libero, dan defenderTosser atau pengumpan adalah orang yang bertugas untuk mengumpankan bola kepada rekan-rekannya dan mengatur jalannya permainan. Spiker bertugas untuk memukul bola agar jatuh di daerah pertahanan lawan. Libero adalah pemain bertahan yang bisa bebas keluar dan masuk tetapi tidak boleh men-smash bola ke seberang net. Defender adalah pemain yang bertahan untuk menerima serangan dari lawan. (pemain bertahan).
Permainan voli menuntut kemampuan otak yang prima, terutama tosser. Tosser harus dapat mengatur jalannya permainan. Tosser harus memutuskan apa yang harus dia perbuat dengan bola yang dia dapat, dan semuanya itu dilakukan dalam sepersekian detik sebelum bola jatuh ke lapangan sepanjang permainan. Permainan ini dimainkan oleh 2 tim yang masing-masing terdiri dari 6 orang pemain dan mengusahakan untuk mencapai angka 25 terlebih dahulu untuk memenangkan suatu babak.
Rotasi pemain bola voli

[sunting] Urutan serve

[sunting] Penghitungan angka

Aturan permainan dari bola voli adalah:[5]
  1. Jika pihak musuh bisa memasukkan bola ke dalam daerah kita maka kita kehilangan bola dan musuh mendapatkan nilai
  2. Serve yang kita lakukan harus bisa melewati net dan masuk ke daerah musuh. Jika tidak, maka musuh pun akan mendapat nilai

[sunting] Sistem Pertandingan

  • Sistem pertandingan menggunakan sistem setengah kompetisi yang terdiri dari 8 tim dan akan
disitribusikan ke dalam 2 (dua) group, masing-masing group terdiri dari 4 (empat) tim.
  • Setiap tim terdiri dari 10 pemain meliputi 6 pemain inti yang bermain di lapangan dan 4 pemain cadangan.
  • Pergantian pemain inti dan cadangan pada saat pertandingan berlangsung tidak dibatasi.
  • Pertandingan tidak akan ditunda apabila salah satu atau lebih dari satu anggota tim sedang bermain untuk cabang olahraga yang
lain.
  • Jumlah pemain minimum yang boleh bermain di lapangan adalah 4 orang.
  • Apabila di lapangan terdapat kurang dari 4 orang, maka tim yang bersangkutan akan dianggap kalah.
  • Setiap pertandingan berlangsung 3 babak (best of three), kecuali pada 2 babak sudah di pastikan pemenangnya maka babak ke tiga tidak perlu dilaksanakan.
  • Sistem hitungan yang digunakan adalah 25 rally point. Bila poin peserta seri (24-24) maka pertandingan akan ditambah 2 poin. Peserta yg pertama kali unggul dengan selisih 2 poin akan memenangi pertandingan.
  • Kemenangan dalam pertandingan penyisihan mendapat nilai 1. Apabila ada dua tim atau lebih mendapat nilai sama, maka penentuan juara group dan runner-up akan dilihat dari kualitas angka pada tiap-tiap set yang dimainkan.
  • Kesalahan meliputi:
o Pemain menyentuh net atau melewati garis batas tengah lapangan lawan. o Tidak boleh melempar ataupun menangkap bola. Bola voli harus di pantulkan tanpa mengenai dasar lapangan. o Bola yang dipantulkan keluar dari lapangan belum dihitung sebagai out sebelum menyentuh permukaan lapangan. o Pada saat servis bola yang melewati lapangan dihitung sebagai poin bagi lawan, begitu juga sebaliknya penerima servis lawan yang membuat bola keluar dihitung sebagai poin bagi lawan. o Seluruh pemain harus berada di dalam lapangan pada saat serve dilakukan. o Pemain melakukan spike di atas lapangan lawan. o Seluruh bagian tubuh legal untuk memantulkan bola kecuali dengan cara menendang. o Para pemain dan lawan mengenai net 2 kali pada saat memainkan bola dihitung sebagai double faults.
  • Setiap team diwajibkan bertukar sisi lapangan pada saat setiap babak berakhir. Dan apabila dilakukan babak penetuan (set ke 3) maka tim yang memiliki nilai terendah boleh meminta bertukar lapangan sesaat setelah tim lawan mencapai angka 13.
  • Time out dilakukan hanya 1 kali dalam setiap babak dan berlangsung hanya 1 menit.
  • Diluar dari aturan yang tertera disini, peraturan permainan mengikuti peraturan internasional.

[sunting] Teknik Bola Voli

[sunting] Servis

Servis pada jaman sekarang bukan lagi sebagai awal dari suatu permainan atau sekedar menyajikan bola, tetapi sebagai suatu serangan pertama bagi regu yang melakukan servis. Servis terdiri dari servis tangan bawah dan servis tangan atas.Servis tangan atas dibedakan lagi atas tennis servis,floating dan cekis.
1.servis tangan bawah
   -mula-mula pemain berdiri dipetak servis dengan kaki kiri lebih kedepan dari kaki kanan.
   -bola dipegang dengan tangan kiri
   -Bola dilambungkan tidak terlalu tinggi,tangan kanan ditarik ke bawah belakang
   -setelah bola kira-kira setinggi pinggang,lengan kanan diayunkan lurus kedepan untuk memukul bola
   -telapak tangan menghadap bola dan tangan ditegangkan untuk mendapat pantulan yang sempurna,ta-
    ngan dapat pula menggenggam.
2.tennis servis
   -Sikap persiapan dimulai dengan mengambil posisi kaki kiri lebih kedepan, kedua lutut agak rendah
   -tangan kiri dan kanan bersama-sama memegang bola,tangan kirimenyangga bola,tangan kanan diatas
    bola.
   -bola dilambungkan dengan tangan kiri kira-kira 1/2 meter diatas kepala
   -tangan kanan ditarik kebelakang atas kepala,menghadap depan
   -lakukan gerakan seperti mensmesh bola,perhatian terpusat pada bola
   -lecutan tangan diperlukan pada saat p[erkenaan bola.
3.floating servis
   -posisi kaki sama seperti tennis servis
   -tangan kiri memegang bola dan tangan kanan disamping setinggi pelipis
   -dengan tangan kiri bola dilambungkan ssedikit kesamping kanan tidak terlalu tinggi
   -setelah bola melambung keatas setinggi kepala, tangan kanan dipukulkan pada bagian tengah bola.
   -pukulan float dapat dilakukan dengan beberapa cara:
       = dengan tumit tangan
       = dengan tangan, dimana ibu jari dilipat kedalam dan menempel pada telapak tangan
       = memukul dengan tangan tergenggam.
4.cekis
   -sikap permulaan dengan mengambil sikap berdiri menyamping dengan tubuh bagian kiri lebih dekat
    kejaring.
   -bola dipegang tangan kiri dan kanan.
   -saat bola dilambungkan, badan diliukkan sedikit kebelakang dan lutut ditekuk
   -kedua tangan dijulurkan kearah samping bawah kanan dalam keadaan memegang bola.
   -bola dilambung keatas kepala dengan kedua belah tangan.
   -setelah bola lepas, tangan kanan ditarik kesamping kanan bawah, liukkan badan kekanan.
   -berat badan ada dikaki kanan,telapak tangan menghadap keatas
   -setelah bola ada pada jangkauan tangan,secepatnya bersama sama lengan,liukkan badan kesamping kiri
   -perkenaan bola bagian bawah belakang bola,pukulan bola dibantu liukkan badan dan lecutan tangan.
Service ada beberapa macam:
  • Service atas adalah service dengan awalan melemparkan bola ke atas seperlunya. Kemudian Server melompat untuk memukul bola dengan ayunan tangan dari atas.
  • Service bawah adalah service dengan awalan bola berada di tangan yang tidak memukul bola. Tangan yang memukul bola bersiap dari belakang badan untuk memukul bola dengan ayunan tangan dari bawah.
  • Service mengapung adalah service atas dengan awalan dan cara memukul yang hampir sama. Awalan service mengapung adalah melemparkan bola ke atas namun tidak terlalu tinggi (tidak terlalu tinggi dari kepala). Tangan yang akan memukul bola bersiap di dekat bola dengan ayunan yang sangat pendek.
Yang perlu diperhatikan dalam service
  • Sikap badan dan pandangan.
  • Lambung keatas harus sesuai dengan kebutuhan.
  • Saat kapan harus memukul bola.

[sunting] Passing

  • Passing Bawah (Pukulan/pengambilan tangan kebawah)
    • Sikap badan jongkok, lutut agak ditekuk.
    • tangan dirapatkan, satu dengan yang lain dirapatkan.
    • Gerakan tangan disesuaikan dengan keras/lemahnya kecepatan bola.
  • Passing Keatas (Pukulan/pengambilan tangan keatas)
    • Sikap badan jongkok, lutut agak ditekuk.
    • Badan sedikit condong kemuka, siku ditekuk jari-jari terbuka membentuk lengkungan setengah bola.
    • Ibu jari dan jari saling berdekatan membentuk segitiga.
    • Penyentuhan pada semua jari-jari dan gerakannya meluruskan kedua tangan

[sunting] Smash (spike)

Dengan membentuk serangan pukulan yang keras waktu bola berada diatas jaring, untuk dimasukkan ke daerah lawan. Untuk melakukan dengan baik perlu memperhatikan faktor-faktor berikut: awalan, tolakan, pukulan, dan pendaratan. Teknik smash Menurut Muhajir Teknik dalam permainan bola voli dapat diartikan sebagai cara memainkan bola dengan efisien dan efektif sesuai dengan peraturan permainan yang berlaku untuk mencapai suatu hasil yang optimal (2006,23). Menurut pendapat M. Mariyanto mengemukakan bahwa : “ Smash adalah suatu pukulan yang kuat dimana tangan kontak dengan bola secara penuh pada bagian atas , sehingga jalannya bola terjal dengan kecepatan yang tinggi, apabila pukulan bola lebih tinggi berada diatas net , maka bola dapat dipukul tajam ke bawah .” (2006 : 128 ) Menurut Iwan Kristianto mengemukakan bahwa , Smash adalah pukulan keras yang biasanya mematikan karena bola sulit diterima atau dikembalikan . “ (2003 : 143 ) . Spike adalah merupakan bentuk serangan yang paling banyak digunakan untuk menyerang dalam upaya memperoleh nilai suatu tim dalam permainan voli . Dari beberapa pendapat diatas dapat disimpulkan bahwa Teknik Smash atau spike adalah cara memainkan bola dengan efisien dan efektif sesuai dengan peraturan permainan untuk mencapai pukulan keras yang biasanya mematikan ke daerah lawan. Tes smash Menurut Sandika mengemukakan bahwa tes smash adalah tolok ukur untuk mengukur kemampuan smash.

[sunting] Membendung (blocking)

Bola yang melewati tangan bloker
Dengan daya upaya di dekat jaring untuk mencoba menahan/menghalangi bola yang datang dari daerah lawan. Sikap memblok yang benar adalah:
  • Jongkok, bersiap untuk melompat.
  • Lompat dengan kedua tangan rapat dan lurus ke atas.
  • Saat mendarat hendaknya langsung menyingkir dan memberi kesempatan pada kawan satu regu untuk bergantian memblok.

[sunting] Kedudukan pemain (posisi pemain)

Pada waktu service kedua regu harus berada dalam lapangan / didaerahnya masing-masing dalam 2 deret kesamping. Tiga deret ada di depan dan tiga deret ada di belakang. Pemain nomor satu dinamakan server, pemain kedua dinamakan spiker, pemain ketiga dinamakan set upper atau tosser,pemain nomor empat dinamakan blocker, pemain nomor lima dan enam dinamakan libero

[sunting] Kompetisi bola voli

Kompetisi Proliga merupakan kompetisi bola voli professional Indonesia yang diikuti oleh beberapa klub yang tersebar di seluruh Indonesia.

 

Review of Operating Systems

This page has been superceded by the project Wiki OS Review area.

Original Free OS Projects

  • 2K (formerly known as SPINE) is a distributed, reflective, component-based, adaptable operating system being built by researchers at the Systems Software Research Group from the University of Illinois at Urbana-Champaign and the Systems and Communications Group from the Universidad Carlos III - Madrid.
  • Aegis (developed at MIT's Parallel and Distributed OSes group) is an OS based upon the idea of an "ExoKernel" (much like the NoKernel idea behind Tunes: there is no more runtime kernel in the OS, which yields up to 10000% performance gain). Also see D. Engler's page, and the various Exokernel and networking papers.
  • Olin Shivers' Express project at MIT developed ML/OS, an OS in ML, by combining SML/NJ with the Flux OS Kit, reusing the web server from the Fox project.
  • The Flux project at university of Utah has been developing an OS toolkit (mirrored in Australia), now release 0.97, so anyone can make their own OS from bricks. It is also developing its own Fluke microkernel on top.
  • HOPE at the Oregon Institute of Science and Technology, a set of primitives on top of a virtual machine, for optimistic programming, i.e. guessing the result of operations in order to increase parallelism.
  • Anders Gavare's Yoctix is an emerging operating system very much inspired by BSD Unix, but implemented fully from scratch and following its own path. Anders' goal is to educate himself and to come up with a full documentation, written as he progresses, of how to write such a thing. After only 6 months of work, Yoctix boots /sbin/init. Even cutting corners as he did, this is very impressive. Definitely worth a look.

    Free OS projects in early stages of development


  • "Joker" Josh MacDonald's OSDEV

  • OS-DeViLs project (with an hardware independence page here), is a federation of people hacking new OSes, so they can debate ideas,

  • Michael Gerhards' UniqueOS plans to make an OS based on no fixed data structures, using a technique called tag items, borrowed from AmigaOS. More information and documentation can be found on the site. A few sources can be downloaded.

  • Jascha Wetzel's XOS aims at being an object-oriented, distributed, preemptively multitasked/threaded, message-passing based system. While this would sound like pretty standard marketroid talk, the site contains very interesting, detailed and clear documentation about what the author has in mind, an object-oriented microkernel where every part of the system does one thing and does it well, without any of the other parts knowing the details; a definite plus for scalability and future expansion. The author also cares to define the concepts he uses, so have a look at it even if you don't do C++ in your sleep. The actual implementation hasn't started yet, but definitely a spot to watch.

    Apparently dead OS projects

    The following OS projects seem to be dead, as in not having been upgraded for years. However, they are still worth mentioning, as learning tools, and also in the hope that maybe someone will want to pick up the work where it stopped.
    • Kinfira's Antares OS for x86 PCs, that seems pretty much dependent on x86. Intended to become a microkernel type of design; left dead at function loader and draft filesystem stage.
    • EOS (ask Cleo Saulnier) was an operating system specially designed to run games under. The project looks like it has been abandoned. If you're interested in such a project, probably the best would be to mail Cleo and see if you can profit from what has already been done.
    • LOS was meant to be another OS for gamers, like EOS. However, this one booted and worked, and there were a few games for it (like an arkanoid clone).
    • SQOS is a completely conventional OS that was being written entirely in assembler by two teenagers as a programming challenge (much like KOS or LittleOS). They seem to have got fed up with it though.;
    • Bart Sekura's TINOS aimed at making a small, multipurpose OS that could be used as a learning tool for the author and anyone else that cared to use it. However it has been last updated in march of 1998.

    Educational OSes

    These are instructional OSes developed and used in some Universities for their OS courses. They are freely available, and have some docs, too. In portable C, unless stated otherwise.
    • NachOS from Berkeley, demonstrates the principles of the traditional unix-like model.
    • Xinu, a widely respected "vehicle for teaching Operating System design concepts". It supports most modern OS functionality, including message passing, tcp/ip, and an independent shell.

    Popular Commercial OSes and their clones


    Original contributions from Commercial systems

    • IBM's OS/2 Warp is one branch of what was originally a joint development between Microsoft and IBM, the other branch being known today as Microsoft Windows NT. It can run most DOS and Win 3.x programs seamlessly, as well as some Win9x software.
      While not abandoned by IBM, it is not very actively marketed by them anymore. However, a company has licensed the right to market an up-to-date OEM version of OS/2: eComStation. Also, OS/2 has long been actively supported by a legion of developer-users and enthusiasts, and good development information is available on the Team OS/2 and Seattle OS/2 users group sites.
      FTP sites for OS/2 software: Hobbes, FTP-OS/2
    • Tao OS (now called Elate) is the only OS that currently can distribute code on heterogeneous underlying networks (here their internet contact, and an old introduction to Tao OS). Was renamed Tao OS from TAOS because of legal problems.
    • The Taligent company is the result of some counter-nature cross between Apple and IBM ;-) it worked on a brand new operating system, the CommonPoint application system, that attempted to change the basic programming paradigm, and which has been released on top of AIX in summer '95. To know more about it, you can browse the first two chapters of the book Inside Taligent Technology by Sean Cotter. All in all, it looks like yet another failure due to C++ introducing unmanageable complexity throughout the system.

    Operating system for embedded devices

    As embedded systems (PDAs, cellphones, point-of-sale devices, VCRs, industrial robot control, or even your toaster) become more complex hardware-wise with every generation, and more features are put into them by the day, applications they run require more and more to run on actual operating system code in order to keep the development time reasonable. The good:

  • Nexus' coniX small romable embedded operating system for ARM processors.

  • Sun's JavaOS (with a more technical page at JavaSoft) was a standalone virtual machine not running on top of any other OS; mainly targetted at embedded systems. Proprietary project dropped.

  • Palm Computing's PalmOS for the Palm Pilot and soon a flurry of other mobile products. Currently the leader OS for PDAs, has many applications and supporting companies.

  • Microsoft's attempts at fitting a large unstable desktop-PC operating system, with a hammer, into the stringent requirements of embedded systems are here: Windows CE (which is about to lose its 'CE' part so as to confuse people a bit more) and their latest monster, Windows NT Embedded 4.0.

    Commercial Unices and beyond

    Lots of commercial vendors base their system on the Unix family of design, as standardized in POSIX.
    The existence of free Unix systems like the great Linux forces them to find justifications for charging so much for systems that were so bad; hence, recently, significant OS research has been done by commercial companies, even though the benefit for users and developers is not obvious, as "protected" research is by definition not beneficial to people.
    • Solaris-MC: Sun is working in making a distributed OS out of Unix.
    • Sun's Spring System (hmm, dead link at the moment).

    DOS-class systems and extensions

    Because DOS has been such a phenomenon in OS history, that it ought to have a place here, despite its absolute nullity (the only service of it that is used rather than worked around is the filesystem, which is the worst piece of junk ever implemented).
    • A well-known company in Seattle has produced and mismaintained the most crappy OS ever, known as DOS. The dreaded name need not be mentioned here.
    • Of course, there exist lots of DOS emulators for lots of non-DOS systems.
      For instance, Linux has quite a good free DOS emulator running on i386 architectures (also runs under *BSD). But it is actually a hardware emulator, and requires that you use an actual DOS software (e.g. OpenDOS or FreeDOS) to run on top of the virtualized hardware. Newer versions of DOSEMU will be released as a bundle with FreeDOS.
    • Other commercial DOS clones include:

    Losedoze-class systems

    The same company consistently produces the worst wimpy OS, hence this section...
    • The The Cygnus GNU-Win32 library allows you to simulate a GNU system on top of Win32, thanks to the cygwin32.dll
    • Here are links to the unnamed horrors: *NT Workstation and *NT Server; *95.
    • WINE free WINdows Emulator for Unices (also here).
    • Jason Filby's ReactOS project, aiming to produce a free Windows NT 4.0 clone distributed under the GPL license. The developers of the project keep a low profile, however they are making big strides. ReactOS is now able to boot and start simple win32 console-based applications. Best luck to them for the rest of the immense work.
    • Note that there also exist commercial clones, among which the Sun WABI that runs 16-bit Windows apps (soon 32-bit apps too, they say) on your X/Unix workstation. Also exists for Linux, as commercialized by Caldera.



    OS Related Pointers

    • Indices about OSes and related subjects:
      • The FAQ from the comp.os.research newsgroup; also its archive; it is a good FAQ, and anyone interested in OS implementation should have read it.
      • 500mhz.net's operating systems index, sorted by date of discovery (not updated in a while).
      • Brad Appleton's links to operating systems news sites and development resources.
      • Sven Paas' comprehensive german page (in English). Now moving here ?
      • Patrick Bridges' arizonian page
      • Christopher Browne's Novel OS work, featuring a detailed description of several operating system projects.
      • The OS Faq site has a lot of interesting pointers to operating system projects, and answers a lot of questions on which OS programmers usually bump, covering topics such as filesystems, GUIs, device drivers, and existing OSes such as Linux or Windows NT. Thanks to Cory Rauch for the link.
      • Vinny Cahill's [MIA] irish page
      • Hyogun Lee's own OS page.
      • Kang Sung's OS page in korea.
      • OGI's oregonian page
      • Nemo's OSes links
      • Embedded and Real-Time OSes.
      • Patrick Gunn's OS page and webring.
      • Seoul national university OS labs operating systems links
      • SIGOPS Create your own OS tutorial, describing the basic steps involved in writing an operating system, if you don't know where to start.
      • XOR coders OS development pages and tutorials. The information there isn't very deep yet, but might be a good source of information for beginning future torvalds.
      • Yahoo's page about Operating Systems
      • John Fine's home page contains excellent information for helping starting developers get over the bootstrap phase on x86 archiecture, by providing numerous well-done explanations and sourcecode about protected and v86 mode, linking kernels, reading them from bootstrap (even directly from a file) etc. Pretty much a must read if you start a project on x86.
      • Gustavo Zamboni's computer architectures and OSs on the web, a very comprehensive list of links, sorted by the platform they relate to. No description is made of what you will find in any of them (besides the site name), but the list is very large and interesting.
      • AltOS, "practical alternatives to microsoft operating systems". A guide of all 'alternative' systems like MacOS, Linux, BeOS, with screenshots and descriptions.
      • OS/A65 is an insane (and functional project): a multitasking operating system for old CBM computers like the C64, with TCP/IP and all. Not useful for much, but still worth mentioning.
      • OS doc at ftp.funet.fi
      • Distributed Algorithms & Systems
      • Process Migration & Load Balancing
      • Checkpointing
      • ANDF, an object format that allows for executables that can be run on any architecture, by translating the code blocks to actual opcodes at load time, rather than at compile time. Structure information is still retained (as opposed to bytecode where this vital data is lost) so the created code still runs at C speed. This excellent format is notably used by the Tendra compiler.
    • Here is some information on memory management issues and common policies:
      • People working on Garbage Collection have a LOT to teach us on memory management.
      • A Virtual memory tutorial, describing the motivations behind that common technique in modern OS'es, its theory and potential problems, and actual implementation issues.
      • Proposal for a Zone allocator for Linux, and the homepage for Linux memory management, by Rik Van Riel. Quite informative about how kernel memory allocation works in an OS used for real-life applications outside of the testing lab, some problems with its current scheme and potential solutions.
      • Dynamic memory allocation implementation in userspace under Linux/ glibc. Different policies than what the kernel does.
      • The BGET memory allocator; another set of policies for userspace memory management and their implementation.
      • FreeBSD's newvm, the new memory manager for that free BSD/Unix clone. Another design and implementation for a real-world system, worth a look for anyone developing a memory manager for their OS.
    • Here are some research laboratories interested in operating systems (send me more addresses):
    • Here is some code that you can link into your OS and relieve you from the hassles of blindly getting it to boot, by providing you boot software and basic I/O:
      • Etherboot and its successor NILO allow x86 PCs to boot an operating system across the network; they include code and tools for producing EPROMS that can be placed on the corresponding network card sockets so that diskless PCs can download and start an operating system kernel, using standard protocols (bootp, dhcp, tftp). They can boot systems like Linux this way, but are easily adaptable to your own.
      • The Flux project's OS toolkit.
        The Flux OS kit is a complete modular infrastructure that provides all the bricks needed to easily build an OS, focusing on what interests you, and reusing components for the rest. Newbies have reportedly transformed Unix programs into standalone OSes in a matter of hours, using it.
      • GRUB the grand unified boot loader for PC and compatibles. Originally written by Erich Boleyn, it has been taken over by the GNU project, as Erich didn't have any more time for it, but GNU depend on it for the HURD. The original (with documentation, and also specification of the multiboot standard) could be found here; the new GNU GRUB is here with even more impressive functionality.
        As mentioned, GRUB is used by the HURD, and it can also boot *BSD, Linux, DOS, and more. It's got facilities for accessing the filesystem at boot time, so you can safely write your loader as just another 32-bit process.
      • Dolphin bootsector is a bootsector primarily designed to boot Dolphin, as the name says, but the author is nice enough to have written documentation about how to boot your own OS project from it; it handles all protected mode and paging setup for you; the whole thing fits in 1 KB so it could be useful when you don't have much room, like on a floppy.
      • SOLO the ShagOS boot loader, includes useful x86 debugging features.
        SOLO not only includes boot-time filesystem access, but extended IO and debugging facilities; might be great to hack your kernel. Its license is now unrestricted, so that you can now freely use it and distribute it with your code. SOLO is definitely worth a look.
    • Here are some sources of inspiration for people developping a 32-bit OS on PC's:
      • DOS extenders in the x2ftp archive (some interesting docs around, too, particularly the PCGPE)
      • Free Embedded systems from Cygnus FTP
      • Some 32-bit FORTH systems from the taygeta archive
      • The Guide to x86 bootstrapping describes the operations performed by a PC compatible computer BIOS at boot time. Useful for writing OS boot loaders, boot managers and such.
      • David Lindauer's software
      • FAQ about how to create bootable CD's for PC in the "El torito" format. Useful when you'll have written an OS large enough to fill a CD..
      • os-dev page for the intel architecture
      • 500mhz.net operating system development resources
      • The Linux Assembly-HOWTO about better (more portable, maintainable, seamlessly integrated) ways to include assembly code in your projects (shameless plug for Fare).
      • Gareth Owen's Gaztek site, which contains a lot of information on OS development and programming the PC hardware, as well as a gimmick OS (GazOS) and even a small webserver (ghttpd).
      • and of course, the code for all the free OSes above, including Tunes.
    • PC hardware information
      Efficiency-aware OS implementors must have some idea of how the underlying hardware behaves.
      The cheapest bang/buck for a complete system currently is available through old or new PC-compatible computers.
      • OS programmers might be interested to get the CPU specs directly from the chip builders: Pentium, Pentium II, and Pentium III manuals, as well as other documentation from Intel, Cyrix, and AMD.
      • Unofficial CPU information Very extensive information (including undocumented features) on the x86 family of processors is available at Robert Collins' famous x86 site and Christian Ludloff's sandpile.
      • A great source of information, and a useful tool for building and testing x86-based OSes is Bochs that fully emulates in software the 386+ PC hardware, on any 32-bit+ machine. Able to boot Linux, FreeBSD, Win95, Roadrunner and many other operating systems.
      • Hardware and low-level programming information on common PC motherboard components is available from Craig Peacock's Interfacing the PC series : parallel port ( standard, enhanced), serial UARTs, keyboard, and the Programmable Interrupt Controller.
      • There is an impressive amount of documentation on PC architecture and associated peripherals (NICs, ATAPI/IDE, VGA, mouse, Flash memory.. and also higher level like all network RFCs) at the Ronis site. A definite good starting point if you need documentation for writing your own system.
      • PC demo coders have also gathered information about the underlying hardware, for instance on cdrom.com's demo coding hardware pages, or Cubic's very extensive hardware archive.

    • Other hardware
      • Another widely used (albeit nowhere as much as x86) is the PowerPC. Motorola provides programming documentation in Adobe PDF format on their tech support site., as well as documentation of their new MMX-alike AltiVec technology. You can find some more programming info (also in PDF) at this place.
      • The MC 68328, also known as the Motorola Dragonball microprocessor, the heart of Palm Pilot PDAs for example, is also of interest as it is a very decent mobile platform for running a modern OS.
      • The CPU Info Center covers all mainstream CPUs in the current competition.
      • MISC technology is not mainstream yet, though very promising, and already the best computation-horse-power/electric-power-consumption ratio. See Jeff Fox's page (also Ultra Technology?) the MISC mailing list (also at Elijah labs) or iTvc's page. (the SISC312 seems around the same design, too). If you're interested in CPU design, Jeff Fox sells a DYOP (Do Your Own Processor) kit based on FPGA...
      • The Chip Directory talks about chips in general, CPU included, but not exclusively
      • For a historical point of view, check this page about Great Microprocessors of the Past and Present
    • Other OS-related pages
      • The Tunes Review page on Virtual Machines
      • Loughborough University high-performance networking and distributed systems archive
      • An Operating System Vade Mecum by Raphael Finkel
      • Dynamic recompilation resources: good introductory papers and concrete applications on dynamic code generation (ie. in reflective sytems) and recompilation (ie. in emulators that need to dynamically translate emulated code to native opcodes, for speed).
      • About UNIX:
        • UNIX Reference Desk
        • An overview of the POSIX standard.
        • A nice article about UNIX literacy
        • Unix Haters are many, who could experience how life used to be better with other systems, and had to use Unix as these systems died commercially. Of course, Unix has made progress since the early 1990's, so not all of the critique still applies; but there is something to be learnt from ancient lore. The Unix Haters Handbook is a book meant to explain the worst of Unix. From what the webpage shows, the book doesn't seem to do much justice to modern Unices, although it shows that what is presented as "great innovation" in the Unix world is but getting on par with decades-old systems.
      • How reliable is your OS? How good is its support? How fast are dangerous bugs fixed? Check the ping o' death page to see...
      • How to write a systems paper (get a text version by sending body "send advice papers" to info@usenix.org)


    More netsurfing


  • VMware Fusion

    Introduction

    People have been finding ways of running other operating systems on their Macs for the past twenty years. Hardware options started out in 1985 with Dayna's MacCharlie, an expansion box and software kit for the original Mac (and later the Mac Plus) that added an Intel 8088 processor to the Mac's Motorola 68000 base. In 1987, AST Research created the Mac86 and Mac286 plug-in cards for the expandable Macintosh II. In the mid 1990's, Apple too sold PC Compatibility cards for certain Performa, Centris, Quadra and Power Mac models.
    As Mac processors became faster, software emulation became the common method of integration: Insigna developed SoftWindows, which combined processor emulation with a sophisticated mapping of Windows programmer interfaces to the Mac Toolbox; SoftWindows 95 and Softwindows 98 followed. In 1997, Connectix released Virtual PC, its groundbreaking software for emulating an entire Pentium-based PC inside a Mac window, enabling it to run almost any PC-based operating system. Unfortunately, the burden of translating between architectures made it rather slow and hardware-hungry for demanding applications.
    Another decade later, Virtual PC has been acquired now by Microsoft and turned into a Windows product, with the Mac version abandoned. But Apple's recent switch to Intel hardware has made a new world of high-performance virtualization possible, where applications can run at full speed. This virtualization software, rather than slowly translating CPU instructions, simply creates a shell that fools a guest operating system into thinking it is running inside its very own computer on the same, native Intel hardware.
    Parallels Desktop is foremost among several of these virtualization systems currently available for the Mac, and we have been using Parallels since its debut. (Parallels recently released a "version 3.0" upgrade - actually its second major release.) Other virtualization options include Innotek's semi-open-source VirtualBox, and three based on the open-source QEMU project: OpenOSX WinTel, iEmulator, and Q.
    The latest entry is VMware Fusion. VMware, which started as a research project at Stanford University, has been creating virtualization software on the PC platform for nearly ten years. Fusion is a new, Cocoa-based Mac application based on the same core virtualization engine as the VMware server software. Fusion was first shown in a private session at Apple's WWDC developer conference in the summer of 2006, and has been in public beta since late December of 2006. Today, VMware released the finished version.
    We've spent the past several days working with Fusion 1.0 on the original, 2.0-GHz iMac Core Duo and on a 2.66-GHz Mac Pro (each with 2 GB of RAM). While it has a few quirks and missing features, we believe that Fusion is going to be stiff competition for Parallels Desktop.

    Features

    The first thing you see when you start VMware Fusion is the Virtual Machine Library window, which will be familiar to users of Virtual PC. This window provides a list of all your virtual machines (or VM's), access to their settings, and a link to download pre-configured "VMware Appliances" from VMware's web site. VMware officially provides integration tools for 60 operating systems, which should keep even the most ardent of software testers well equipped.

    Windows Support

    We started our testing with Windows XP Home Edition (Service Pack 2). Fusion includes a setup assistant to facilitate creating a virtual Windows machine, and every version from Windows 3.1 to Vista 64-bit is supported.
    VMware Fusion integrates with the Mac quite well. Fusion's product manager told us that Fusion was designed "for Mac users who want to run Windows applications, not run Windows".
    The setup assistant asked us for information to create the initial account in Windows and for our product activation key. Fusion then created a virtual machine and started the Windows DVD from the Mac's SuperDrive. Windows Setup then went through its usual rounds of copying files and rebooting. When Windows finally started in user mode, Fusion immediately installed VMware Tools. One more virtual reboot, and we were ready to go... aside from 105 Windows Updates awaiting us! Windows Update added a few more virtual reboots, but, less than an hour from starting the process, we had a fully-integrated virtual Windows machine.
    You can drag and drop files between your Mac desktop and the "guest" Windows system, and you can copy and paste. (Fusion also can keep the PC's clock synchronized with the Mac's system clock, a useful feature if you disable the PC's networking for security.)
    You can set Fusion to favor better Mac or better guest performance; we found that our general back-and-forth experience was best with it set to favor the Mac. However, if you're using Fusion's 3D video acceleration support to run DirectX 8-based Windows games, you may want to leave it at its default setting, favoring the guest OS.
    Fusion's "Unity" feature makes Windows application windows look like Mac applications. It's definitely superior to Parallels Desktop 3.0's similar "Coherence" feature. In Parallels, all Windows applications exist in one layer — click one, and they all come to the top, above all Macintosh windows, which is disorienting at first, and irritating. Fusion doesn't do this — you can interleave Mac and PC applications at will.
    Apple's Exposé feature also works; each Windows application window is treated like a Mac window (another trick Parallels Desktop couldn't do). However, this is limited by Windows itself, which, even in Vista, still doesn't have a fully-buffered window system like Mac OS X. As a result, any Windows applications that were obscured by other Windows applications don't look right: they show the contents of the window that was above them. This makes Exposé less useful if you are running multiple Windows applications. (This may prove challenging to fix without Microsoft's help. We aren't optimistic, but VMware tells us they are looking for ways to solve this problem, so it may yet be fixed.)
    [Within days of the Fusion 1.0 announcement, Parallels released a beta version adding both window interleaving and Exposé support. Parallels version 3 also added 3D video acceleration similar to Fusion's, after VMware showed off the feature last year. This competition is clearly good for the consumer.]
    Another nice touch is VMware's Applications menu, which holds the complete contents of the Windows Start menu in the Mac menu bar. And Fusion provides a Launch window that offers access to all programs installed in Windows (even those not in the Start menu). The Launch window is searchable, Spotlight-style: start typing and the list narrows down to match.
    In Unity mode, the Windows Start bar is hidden (unlike Parallels Desktop, where it floats just above the Dock). Each Windows program gets an icon in the Dock, and you can minimize Windows programs to the Dock just like Mac applications. Windows apps include Mac-like drop shadows, but unlike Mac OS X, the front-most window doesn't have a more prominent drop shadow.
    You can even use Mac's "Keep in Dock" feature for Windows icons in the Dock. Clicking the icon will launch the application, even if Fusion isn't yet running.
    A nice touch is battery support. Fusion can make a Mac laptop's battery level accessible to Windows, which will show the battery level in the Windows System Tray.
    Fusion provides "experimental" support for Windows Vista. The Vista Start button appears in the lower left corner of the screen, and Exposé and the Gadget Bar don't get along well. Each Windows Gadget appears in three different places on the screen: once on the Gadget bar, and twice more floating nearby. Aside from these two odd quirks and the Exposé display glitches we encountered in XP, we had no trouble with Windows Vista Ultimate.
    While we haven't yet run benchmarks, performance is clearly excellent. Windows was quite snappy on both the original iMac Core Duo and on the Mac Pro. Massive high-definition trailers from Apple's web site played flawlessly. (VMware claims that Fusion has the lowest resource utilization of any virtualization product on the Mac platform.)

    [We have posted a gallery of VMware Fusion screenshots from our testing, available from the Links section at the end of this review.]

    Linux Support

    VMware Fusion supports several major Linux distributions and includes generic support for Linux 2.2, 2.4 and 2.6 kernels. (Linux kernel 2.2.0 was released in January 1999, so VMware should work with pretty much every Linux currently in use.)
    We tested Ubuntu, a popular Linux distribution, downloading both 7.04, the latest version, and 6.06.1, which is a long-term supported version. (Both are considered current.) Fusion's Setup Assistant knows about Ubuntu and configures a VM for either version, but you'll have to manually intervene in a few places to get full integration for version 7, and we discovered that version 6.06.1 doesn't integrate without a lot of work.
    We started Ubuntu 7.04 from an ISO CD image (another nice Fusion feature) and ran the installer. It installed, then restarted... and started from CD again. We explored Fusion's menus and window icons until we discovered that "Use Physical Disk Drive" in the CD icon's popup menu served to "eject" the virtual CD ISO image. This done, the new Ubuntu install started up properly.
    Unlike with Windows, VMware Fusion doesn't automatically install the VMware Tools for Ubuntu 7.04; you must do it yourself. The process is roughly as follows:
    1. start the Terminal app (Applications menu -> Accessories -> Terminal)
    2. type tar xvfz /media/cdrom0/VMwareTools-e.x.p-51348.tar.gz
    3. type cd vmware-tools-distrib
    4. type sudo ./vmware-install.pl
    5. accept all defaults
    6. exit shell, restart Ubuntu
    This is not too difficult, but someone not already familiar with installing software from a Unix command line and with Ubuntu's style of mounting removable media could be completely stymied. On the other hand, even without the VMware Tools installed, Ubuntu runs fine. But the different mouse speed, and having to press a special key sequence to exit the Ubuntu window, is inconvenient.
    We could not install VMware Tools on Ubuntu 6.06.1. The default Ubuntu 6 install does not include development tools, and this meant that VMware Tools couldn't find support libraries it required, so this is a task more suited to Linux experts.
    Once installed, VMware Tools provide drag-and-drop file exchange between Ubuntu and Mac OS X, plus clipboard synchronization and clock synchronization. We dragged Mac Word documents to the Ubuntu desktop and double-clicked: OpenOffice fired right up. If you stick with the latest version of your Linux distribution, we expect things will go fairly smoothly.

    Snapshots

    Snapshots are a great feature of Fusion: Click a button, and Fusion makes a checkpoint of the virtual machine's state. You can click another button to roll back to that checkpoint at any time, and your machine will be restored to the exact state it was in before, including all running programs.
    However, you can make only one snapshot — making a new one wipes out the previous snapshot. Parallels Desktop, by contrast, can keep multiple snapshots, which is invaluable for development and software testing. We would like to see this feature in Fusion.
    We'd also like to see an option for automatic or periodic snapshots — it can be tricky to find exactly when a problem entered a system, and even "Last Known Good" configurations often aren't.

    Virtual Machinery

    VMware Fusion explicitly supports 64-bit guests – Linux, Solaris and Windows – as long as the host hardware is 64-bit, too. This rules out the 32-bit first-generation Core Duo-based Macs, but Core 2 Duo and Xeon Macs are good to go.
    VMware can provide one or two processors to a virtual machine. We tried enabling two cores for Windows Vista on the quad-Xeon Mac Pro, and they appeared to be fully utilized by Windows, yet this hardly impacted Mac performance. (Windows XP Home Edition supports only one core, so enabling two cores made no difference — XP Pro is required for dual core support.)
    VMware states that Fusion supports up to 8 GB of RAM per virtual machine and that it can fully utilize the 16 GB capacity of the Mac Pro (using a 64-bit guest OS). There is no artificial limit on the number of simultaneous virtual machines you may run — only your hardware. VMware reports they have customers running eight to ten guest virtual machines concurrently on Mac Pro hardware.
    VMware tells us that patented memory-sharing techniques reduce the memory overhead required by simultaneous virtual machine sessions, but we have no quick and easy way to test this.
    VMware Fusion supports Windows DirectX 8.1 graphics acceleration. It works by mapping the DirectX programming interfaces to the Mac's OpenGL system. Mac OS X can then send the OpenGL instructions to the graphics processing unit (GPU) for execution. While undoubtedly slower than true, native DirectX or OpenGL, it provides the acceleration required to play many older PC games.
    Since the Intel GMA video chipsets used in the MacBook and Intel-based Mac Mini do not have full GPU acceleration (most of the work is done by the CPU, not the GPU), DirectX will not run nearly as quickly as a real GPU, such as those used in MacBook Pro, Mac Pro, and most iMacs.
    Windows Vista uses DirectX 9 for its "Aero" user interface effects, such as transparency, shadows and "Windows Flip". Since DirectX 9 is not supported in Fusion, these effects are unavailable as well.

    Migration and Compatibility

    "VMware Converter" is due at release (Monday, Aug. 6). Though we were not able to test it in advance, the converter provides similar functionality to Parallels Transporter: it helps you turn an existing Windows system into a virtual machine.
    VMware Converter is a program that runs on the foreign system (a real or virtual machine) you want to convert. Converter creates from it a new VMware image for use with Fusion.
    Unlike the Parallels Transporter software, which provides direct conversion from Microsoft Virtual PC for Windows and some VMware virtual machines on your Mac, VMware Converter cannot directly import its competitors' virtual machines into VMware. If you have an existing virtual machine, you'll need to install the VMware Converter into it using your old emulation or virtualization software.
    We haven't been able to test this yet, but Converter should provide an effective migration path for users of Virtual PC 7 for Mac, Parallels Desktop, or other Windows emulation/virtualization systems. VMware says VMware Converter will be available for download via their web site.
    VMware Fusion virtual machines are compatible with virtual machines created by the current versions of VMware Workstation and Server. Fusion virtual machines can also be used with the free VMware Player 2.0 on Windows and Linux.
    Also worth mentioning are VMware Appliances. These are pre-configured virtual machines available for download from VMware's web site. Many are free, some are commercial product offerings. We found they can provide a very convenient way to experiment with open source operating systems such as FreeBSD and Linux.

    Boot Camp

    Although we didn't test it, VMware Fusion automatically detects Boot Camp installations of Windows XP and Vista and enables you to start it. Since Fusion virtualizes the AHCI layer of the virtual machine, it does not need to make any changes to Windows to run it inside a VM.
    (We are told that Boot Camp partitions that have been used with Parallels Desktop may not function correctly in Fusion. If this happens, the workaround reboot into native Windows once to let Windows restore itself to its default settings. This workaround should not need repeating unless Parallels is used with that Boot Camp partition again.)

    Pricing

    VMWare Fusion is priced at $79.99 (the same price as Parallels Desktop), with a $20 mail-in rebate available for purchases made at VMware's web site. No competitive cross-grade pricing is available at this time. 5 and 10 license packs are available for $249.99 and $499.99 respectively and include "2 annual email incidents." Retailers may also offer discounts; VMware Fusion is $65 at Amazon with free shipping.
    (Parallels Desktop is priced at $79.99. A second copy can be purchased directly from Parallels web site at the same time for $59.99. Parallels Desktop is $67 at Amazon with free shipping.)

    Support

    Some MacInTouch readers have reported frustration with technical support for Parallels Desktop, so we specifically asked VMware about their support policies.

    VMWare FusionParallels Desktop
    Support via Email Web Form
    Online Support Free for 30 days from purchase No limit stated
    Response Time 1 business day Not stated
    Phone Support $24.99 per incident
    (3 and 5 incident purchases are discounted)
    $29.99 per incident
    Free online support tools Support Knowledgebase, Online Documentation, Web Forums, Security Center with security notification RSS feed Support Knowledgebase, Online Documentation, Web Forums
    Support Contract Options with guaranteed response times Available for site licenses of 50+, response time varies by contract type Not available
    Product Retail Price $79.99 $79.99
    VMware has an active business in enterprise server virtualization, so its support systems include options for response times as fast as 30 minutes (if you buy the contract). Parallels, by contrast, seems to have a consumer focus, and their support policies are largely undocumented on their web site.

    Conclusions

    VMware Fusion is in hot competition with Parallels Desktop, which was first to market. Fusion is priced identically to Parallels — which is about a hundred dollars cheaper than the Windows version of VMware! There are less expensive options than VMware and Parallels, but these two lead the pack in features and performance.
    VMware Fusion worked very well for use with Windows XP and Windows Vista, and fairly well with Ubuntu 7. We had a few issues, and there are some missing features we'd like to see added, but we're quite impressed with Fusion. Windows integration is excellent, and the fact that Linux has VMware Tools integration at all is fantastic — not to mention support for less common OS's, including Netware 5 and 6, 64-bit Solaris 10, ancient versions of the Linux kernel, and every version of Windows back to 3.1.
    Speaking of software support, VMware Fusion's support for Mac OS X 10.5 "Leopard" currently is considered experimental. VMware has stated they plan full support for Leopard after it is released by Apple later this year.
    Fusion is an outstanding first release for the Mac that builds on the company's long history of virtualization. Historically, VMware's development cycle has run 12-24 months between major versions, and the development team focusses on stability and reliability. We hope to see some updates to the "experimental" supported OS's, but that aside, VMware appears to be rock solid. The user interface is polished, attractive and well thought out, and the setup assistant makes it fast and easy to set up a usable Windows environment. Fusion makes Windows behave as close to a Mac as is reasonably possible — and that's really quite something.

    Cloud computing

     
    Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metefora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya.[1] Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), [2] sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") [3] tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.[4] Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."[5]
    Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server.