Wednesday, July 14, 2010

Google's Doodle


Doodle History


Over the years, doodles on the Google homepage have made searching on Google more fun and enjoyable for its users worldwide. When doodles were first created, nobody had anticipated how popular and integral they would become to the Google search experience. Nowadays, many users excitedly anticipate the release of each new doodle and some even collect them!
Doodles are known as the decorative changes that are made to the Google logo to celebrate holidays, anniversaries, and the lives of famous artists and scientists. Whether it is the beginning of Spring,Albert Einstein's birthday, or the 50th anniversary of understanding DNA, the doodle team never fails to find artistic ways to celebrate these unique events.
Having a little bit of fun with the corporate logo by redesigning it from time to time is unheard of at many companies but at Google, it is a part of the brand. While the doodle is primarily a fun way for the company to recognize events and notable people, it also illustrates the creative and innovative personality of the company itself.
How did the idea for doodles originate?
In 1999, the concept of the doodle was born when Google founders Larry and Sergey played with the corporate logo to indicate their attendance at theBurning Man festival in the Nevada desert. A stick figure drawing was placed behind the 2nd o in the word, Google and the revised logo was intended as a comical message to Google users that the founders were “out of office.” While the first doodle was relatively simple, the idea of decorating the company logo to celebrate notable events was well received by our users.
A year later in 2000, Larry and Sergey asked current webmaster Dennis Hwang, an intern at the time, to produce a doodle for Bastille Day. Pleased with the result, Dennis was then appointed Google’s chief doodler and doodles became a regular occurrence on the Google homepage. In the beginning, the doodles tended to celebrate largely visible holidays; nowadays, doodles represent a wide array of events and anniversaries from the Olympics to the Mars Rover landing.
Over time, the demand for doodles quickly rose both in the U.S. and internationally. Creating doodles is now the responsibility of a team of talented designers. For them, creating doodles has become a team effort to enliven the Google homepage and bring smiles to a myriad of Google users worldwide.
For google doodle from 2001 http://www.google.com/logos/index.

Kernel Theory

In computing, the kernel is the central component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication betweenhardware andsoftware components).

Usually as a basic component of an operating system, a kernel can provide the lowest-levelabstraction layer for the resources (especially processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available toapplication processes through inter-process communication mechanisms and system calls.

Type of kernel:

  1. Monolithic kernels

    In a monolithic kernel, all OS services run along with the main kernel thread, thus also residing in the same memory area. This approach provides rich and powerful hardware access. Some developers, such as UNIX developer Ken Thompson, maintain that it is "easier to implement a monolithic kernel than microkernels. The main disadvantages of monolithic kernels are the dependencies between system components — a bug in a device driver might crash the entire system — and the fact that large kernels can become very difficult to maintain.

    2. Microkernel
    The microkernel approach consists of defining a simple abstraction over the hardware, with a set of primitives or system calls to implement minimal OS services such as memory managementmultitasking, and inter-process communication. Other services, including those normally provided by the kernel, such as networking, are implemented in user-space programs, referred to as servers. Microkernels are easier to maintain than monolithic kernels, but the large number of system calls and context switches might slow down the system because they typically generate more overhead than plain function calls.
    A microkernel allows the implementation of the remaining part of the operating system as a normal application program written in a high-level language, and the use of different operating systems on top of the same unchanged kernel. It is also possible to dynamically switch among operating systems and to have more than one active simultaneously.

Tuesday, July 13, 2010

Making your own simple bootloader



In computing, booting (also known as "booting up") is a bootstrapping process that starts operating systems when the user turns on acomputer system. A boot sequence is the initial set of operations that the computer performs when power is switched on. The bootloader typically loads the main operating system for the computer.

The CPU starts in real mode and the BIOS loads this code at address 0000:7c00. The boot loader size have to 512 KB and the last two bytes must be aa and 55. That code is the boot signature.

This is a very very simple bootloader ;p (write in NASM)
org 7c00h ;put the boot loader into memory at address 0000:7c00h
hang:
jmp hang

times 510-($-$$) db <---- this code is to fill zero and now 2 bytes less now

db 0x55
db 0xAA

And this is how to write a message at your bootloader.

org 7c00h

xor ax, ax ; make it zero
mov ds, ax
mov si, msg
ch_loop:lodsb ; this is for write character to your monitor   read interrupt reference for more information
or al, al  ; zero=end of string
jz hang    ; get out
mov ah, 0x0E
int 0x10
jmp ch_loop
hang:
jmp hang
msg db 'your message here', 13, 10, 0
times 510-($-$$) db 0
db 0x55
db 0xAA

This is very simple bootloader. To run this program you must compile this program to binary file and write it to your floppy disk. The code is assembled in NASM and copied to floppy.

nasmw boot.asm -f bin -o boot.bin

Then write the bin file to your floppy disk with debug in command prompt.

debug boot.bin
-W 100 0 0 1 ; 100 debug will start at CS:0100. 0 is the floppy A. 0 is start sector. 1 is sector size to write.
-Q
This is how to write bootloader on floppy disk. I'm searching to booting from USB flash disk but i need more knowledge base. Contact me if someone know how to make bootloader form flash disk

Monday, July 12, 2010

Esxi Hypervisor

Virtual Machine (VM) is software that is an implementation of the hardware that executes programs like the hardware. VM is divided into two by the use and degree of correspondence on a real device. Programs that provide virtualization called hypervisor. Hypervisor can work on a bare machine called virtual machines or run natively on an operating system. Vmware ESXi is one virtual machine software that works on a bare machine.

Vmware ESXi 1.3 FeaturesVMware ESXi has the following features:
1. 64-bit architecture can improve the performance and supports up to 1TB of physical RAM on the host.
2. Performance optimization for virtual workloads. VMware ESX and ESXi 4.0 has been optimized for performance of certain critical business applications such as Oracle Database Server, Microsoft SQL, and Microsoft Exchange.
3. Support for virtual machines are bigger and stronger. Can run at up to 64 physical systems Core CPU, 256 virtual CPU, 1TB RAM, and up to hundreds of virtual machines on a host.Configure virtual machine with 255GB of RAM.
4. Support for eight-way virtual SMP.VMware Virtual Symmetric Multiprocessing (SMP) to improve virtual machine performance by enabling a single virtual machine to use up to eight physical processors, simultaneously.VMware Virtual SMP enables virtualization of the most CPU-intensive enterprise applications such as databases, ERP and CRM.
5. VMsafe ™ VMware.VMware VMsafe is a new security technology that helps protect virtualized workloads in ways previously not possible with physical machines. VMsafe provides a set of security APIs that third-party security mengaktifkanproduk to obtain the same visibility as VMware ESX or ESXi virtual machine into operation. Architecture
Vmware ESXi has the architecture as follows:
1. Bare-metal, 64-bit hypervisor architectureMade as small as possible so as there is no OS that works. Working directly on the server and requires no operating system on the host.
2. Virtual disk fileUsing the virtual machine disk (VMDK) to provide access to private datastore, so users are free to create, manage and migrate into the virtual.


Virtual Network 3.2.3
Virtual networking capabilities in VMware ESXi and ESX allows users to build complex network between virtual machines residing on a single host or in some installations VMware ESXi and ESX host. Configure each virtual machine with one or more virtual NICs, each with its own IP and MAC address, to create a virtual machine can be indistinguishable from physical machines.


I think this is very good hypervisor software. 
Pro:
1. Esxi is a bare metal hypervisor that optimized your resources.
2. With a less services like windows, esxi reduced memory usage and minimalized  crash  system. It's very good use for server.
3. Esxi have physical to virtual converter service so you can virtualized your server without made it from zero.
4. Money,power,and resources efficiency.\
5. remote access
6. provide virtual network


I believe Exsi is good for server.


More reading  http://www.vmware.com/products/esxi/

Operating System Theory




Operating System Theory


A. Operating Systems
The operating system is a set of software routines that are in between application programs and hardware [4]. The operating system has two main functions as an extension of the machine and as a regulator of resources. As an extension of the machine, operating system provides applications covering the complexity of the hardware. As a regulator of resources, the operating system manage the efficient use of resources [1].Complete operating system provides services in the areas of program development, program execution, accessing the device inputs / outputs, file accesses, system calls, error detection, and accounting [1].

B. Operating System Structure

The structure of the operating system typically consists of two main parts, namely:1. KernelKernel is the core component of the operating system. Kernel is the liaison between the hardware with the application. Kernel is responsible for managing system resources. At boot time kernel will be loaded into memory and reside there until the duration of the session ended because the computer services used continuously [4]. There are various types of kernels, among others, monolithic systems, microkernel system, nanokernel systems, and systems exokernel.In the monolithic system kernel contains all the services provided by the operating system. By using a monolithic system of services can be done quickly because it is stored on a single address space [3].
2. ShellShell is the software that provides an interface between user and kernel services. Shell usually made with a type of command-line interface (CLI) or Graphical Unit Interface (GUI) [1].
C. Process

The process is an executable program. To manage the process properly and efficiently used in scheduling. Round robin scheduling, also known as time slacing is one way of existing scheduling [1].With round robin scheduling any process that is run will be given time interval, called quantum. If the process is still running when the quantum interval expires, then another process will be executed first. If the process is completed before a quantum expires, the next process will be executed [1].
D. File allocation table

File allocation table (FAT) allows you to set the partition, files, and directories. A file system must maintain the location, size and attributes of all files [3]. FAT provides a connection mapping of logical sectors to be combined (cluster) which is the base unit of storage files and directories. FAT also perform mapping of filenames and directories into a series of joint. There are various types of FAT, such as FAT-12, FAT-16, and FAT-32.The differences between the three types of FAT is also found in the size of the cluster units [2].


[1] Hariyanto, B2007Sistem OperasiBandungInformatika.
[2] Irvine, K. 2003. Assembly Languange for Intel-based Computers 4th EditionNew Jersey: Pearson Prentice Hall.
[3] Stallings, W. 2005. Operating System Internal and Design Principles 5th EditionNew Jersey: Pearson Prentice Hall.
[4] Tannenbaum, A. 2009. Modern Operating System 3rd Edition. New Jersey: Pearson Prentice Hall.

Footer

Your Ad Here