"Partitioning and Emulation"
Partitioning and Emulation Michael Pensini, Jasdeep Hayer & Mrinal Vora Overview How to Partition & format of Disks 3 Partitions Made Fat32 file sys used Installation of Win98 & Linux Mandrake 8.0 Installation of software on third partition Implementation of emulator software in Linux Implementation of VMware Why partition? You may have 2 operating systems and want to load them individually. File Structure Convenience in managing files Why Not? Space Wastage Bigger partitions not only waste more space for the same files, they waste a greater portion of the space Disk compression utilities like DoubleSpace are more efficient for space saving rather than partitioning Selection of Partition Sizes • We were allocated a 9.5GB Hard Disk • Partition with size in mind. • Obviously Small files for small partitions, Large files for large partitions • 2 x 3.5GB Partitions + 2.5GB Partition. FDISK Program used with Microsoft to Partition Disks Use of FDISK • 3 partitions • 2 Fat32, Last partition Done under Linux Mandrake 8.0 Installation (EXT2) Primary, Extended and Logical DOS partitions Specifying space FDISK Always Backup . Uncertain about your backup hardware and software? Partitioning File Systems • FAT32 File allocation Table Very simple system Resides at top of volume FAT32 increases the number of bits used to address clusters & reduces the size of each cluster. Can support larger disks (up to 2 terabytes) and better storage efficiency (less slack space). Fat32 Efficiency Disk Size Cluster Size Efficiency > 260meg 4K 96.6% > 8gig 8K 92.9% > 60gig 16K 85.8% > 2tril 32K 73.8% File Systems Linux has a very fast file system called the Extended File System Version 2 (EXT2) • More complex system Goals Of EXT2 The data structure should be recoverable Must allow for an efficient implementation Disk layout should minimize seek times by clustering data on disk The disk layout should conserve disk space Emulators Like running a computer without an operating system. An emulator is something that duplicates the environment that an application runs in Mimics one OS within another OS WINE (WindowsEmulator) Wine is an implementation of the Windows 3.x and Win32 APIs on top of X and Unix Think of Wine as a Windows compatibility layer How did WINE start? Started in 1993. Its purpose was for running Windows 3.1 programs on Linux. Bob Amstadt was the original coordinator, but turned it over fairly early on to Alexandre Julliard Over the years, ports for other Unixes have been added WINE Features Binary Compatibility Support for loading DOS, Windows 3.x and Win32 binaries Support for Win16 and Win32 function calls 16 and 32 bit x86 code Large interrupt library for programs using real- mode INTxx calls Advanced thunking capabilities Optional use of external vendor DLLs Reverse-engineering design assures ``bug-for-bug'' compatibility WINE Features Contd… Graphics X11-based graphics display Remote display to any X terminal Supports full GDI and many new features of GDI32 Partial DirectX support for games Supports native Win16 printer drivers Internal PostScript driver printing interface Metafile driver Desktop-in-a-box or mixable windows WINE Features Contd… Other Features Good support for sound, alternative input devices Modems, serial devices are supported Winsock TCP/IP networking ASPI Scanner support WINE Features Contd… Wine API Designed for source compatibility with Win32 code Sample programs Automatically generated API documentation 32-bit resource compiler Partial Unicode and support Internationalisation -- Wine supports 16 languages Built-in debugger and configurable trace messages WINE is Windows free Wine does not require Microsoft Windows Consisting of 100% Microsoft-free code Wine comes with complete sources Wine consists of over 650K lines of C code Requirements for WINE Wine is designed to run on any x86 Computer. A minimum of 32 MB real memory is recommended Wine itself as an unstripped version needs 70 MB disk space. A minimum of 140 MB free space on hard disk. To compile Wine, the minimum you will need is 250 MB. What does WINE consist of? It consists of a program loader, which loads and executes a Windows binary, and a library that implements Windows API calls using their UNIX or X11 equivalents. The library may also be used for porting Win32 code into native UNIX executables Strictly not an emulator WINE stands for Wine Is Not an Emulator It implements native code to the function calls present in the Windows DLL's Wine provides low-level binary compatibility, but currently only for OS’s running on Intel- compatible chips Wine works on most popular Intel Unixes, including Linux, FreeBSD, and Solaris. Emulators vs. WINE Emulators vs. WINE Why use WINE? Most application software is still developed to run on Windows It helps a smooth transition for people switching from Windows to Linux. Wine can use almost any filesystem that Linux can mount Makes extensive gaming possible in linux WINE Status As of mid 2000, Wine consists of over 650K lines of C code written by more than 300 developers from dozens of countries around the world Wine is in active use by an estimated 90K people Wine implements more than 90% of the calls in popular Windows specifications Still Under Development WINE has been released but is still incomplete. Because Wine is being developed by volunteers, it is difficult to predict when it will be ready for general release. But due to the much increased interest by companies in porting apps via Wine, Wine development is constantly getting more and more active. Expected to run more than 85% of all windows apps in 2 years time. Our WINE experience! We had problems configuring WINE Only managed to make WINE run simple windows applications WINE run Notepad, Windows CD Player, Calculator and other such small programs Gave configuration errors when trying to run bigger Windows programs VMware Family Overview 4 Main products: Workstation Express ESX Server GSX Server ESX Server Server for web serving, database, exchange, streaming media Installs without host OS, uses own kernel Supports up to 8 processors Supports 4 – 20 simultaneous virtual machines GSX Server Server for Intranet use, Exchange, Application Servers Installs on top of Linux/Windows 2000/NT Supports up to 4 processors Supports 2 – 8 virtual machines VMware Express Features Run Windows 95/98 in Linux Eliminate dual booting and partitioning Use printers, scanners, modems and devices Networking, dial-up access capability Support for multiple processors Full sound capability Example Screenshot How VMware Express Works MultipleWorlds Technology Software layer between Intel architecture & OS Manages resources Completely independent PC File sharing SAMBA on Linux host Each PC has own network address Completely Independent PC Virtual computer does not affect the host Although using same devices, accesses without going through host If application of OS error in guest and crash occurs, host continues without error SAMBA Using SAMBA, able to share files between OS Files transferred between applications and guest/host through SAMBA protocol providing total compatibility Able to use applications such as Windows Explorer to drag/drop to Linux desktop Microsoft Word can seamlessly save to Linux partition Networking As independent PC, provides full networking support with own network address, as on a real machine Supports Dial-Up Networking and LANs providing access to systems running TCP/IP, Microsoft Networking, Novell NetWare, Samba and NFS Installation Process Install VMware Express on PC running Linux Install Windows 95/95 onto VMware’s Virtual PC Run both OS simultaneously VMware Workstation Features Run multiple OS simultaneously on 1 machine Eliminate dual booting/partitioning Run applications from different OS Full networking, dial-up access and file sharing support Window and full-screen operation of OS Suspend and resume virtual machines VMware Workstation Screenshot VMware Screenshot How VMware Workstation Works MultipleWorlds Technology After VMware Installation, configure other OS Virtual Disks Undoable Disks Configuring Guest OS Assign memory, disks, ports and networking for guest Power on virtual machine from within host Insert boot disk for desired OS to be installed on guest Continue installing OS through normal procedure Virtual Disks Disk partitions of virtual machines Stored as file on file system of host operating system As entire partition is 1 file, manipulation such as copy, move and backup is possible Also enables virtual disks to be shared from a file server Undoable Disks Decide whether to save or discard changes made to disk during session Appear as though written to disk, however stored in temporary file until saved When shutting down, 3 options available: Keep changes permanently Ignore changes Keep changes in temporary file Possible Drawbacks Requires powerful hardware Fast processor – at least 500 MHz for 2 virtual machines Large amount of RAM – at least 192 MB for 2 virtual machines Large amount of HDD space Different HDD for guest OS No 3D graphics support Conclusion Good solution for Intel based system requiring multiple OS to be run simultaneously VMware express cheaper solution, more limited but still useful for running Windows 9x in Linux VMware workstation extensive capabilities for multiple applications including software/network testing across multiple platforms Refrences http://www.geocities.com/CapeCanaveral/Lab/1791/hd- partn.htm www.teleport.com/~brainy/fat32.htm support.microsoft.com/support/kb/articles/Q154/9/97.Asp www.easytweak.com/fat32/fat32.htm www.newlogic.co.uk/kbase/fdisk/page1.htm www.winehq.com http://www.vmware.com http://chris.erway.org/vmware/ http://www.thedukeofurl.org/reviews/misc/vmware202/inde x.shtml