Migrating UNIX Migrating UNIX Applications to Applications to Windows 2000 Windows 2000 Stephen R. Walli Stephen R. Walli INTERIX Product Unit Manager INTERIX Product Unit Manager Microsoft Corporation Microsoft Corporation 7-322 7-322
Mar 26, 2015
Migrating UNIX Applications Migrating UNIX Applications to Windows 2000to Windows 2000
Stephen R. WalliStephen R. WalliINTERIX Product Unit ManagerINTERIX Product Unit ManagerMicrosoft CorporationMicrosoft Corporation
7-3227-322
AgendaAgenda
OverviewOverview Interix BenefitsInterix Benefits Interix FeaturesInterix Features Interix In DepthInterix In Depth Demonstrations throughoutDemonstrations throughout Q&AQ&A
Microsoft Acquires Softway Microsoft Acquires Softway Systems and InterixSystems and Interix
Microsoft acquired Softway Systems, the Microsoft acquired Softway Systems, the makers of Interix on Sept. 17, 1999 makers of Interix on Sept. 17, 1999
Interix allows customers to run UNIX Interix allows customers to run UNIX applications and scripts on Windows. applications and scripts on Windows.
Microsoft Interix 2.2 was released to Microsoft Interix 2.2 was released to manufacturing on Jan. 26, 2000.manufacturing on Jan. 26, 2000.
What is Interix?What is Interix?
A complete, high-performance A complete, high-performance environment to run UNIX applications environment to run UNIX applications and scripts on Window NT and and scripts on Window NT and Windows 2000.Windows 2000.
The easiest way for customers to take The easiest way for customers to take advantage of their previous advantage of their previous investments in UNIX-based legacy investments in UNIX-based legacy applications as they move to the applications as they move to the Windows platform. Windows platform.
Interix BenefitsInterix Benefits
Easily run UNIX-based applications Easily run UNIX-based applications and scripts on Windowsand scripts on Windows
A Single Enterprise Platform to run A Single Enterprise Platform to run all Windows, UNIX, and Internet all Windows, UNIX, and Internet applicationsapplications
Take advantage of existing UNIX Take advantage of existing UNIX expertiseexpertise
Easily Run UNIX Applications Easily Run UNIX Applications and Scripts on Windowsand Scripts on Windows A complete environmentA complete environment
Over 300 utilities and toolsOver 300 utilities and tools High-performance environmentHigh-performance environment Software Development KitSoftware Development Kit
Supports over 1900 UNIX APIsSupports over 1900 UNIX APIs
Single Enterprise PlatformSingle Enterprise Platform
Full integration with WindowsFull integration with Windows Desktop, security model, file systemDesktop, security model, file system
Lower TCOLower TCO Enhanced application developmentEnhanced application development
Leverage Existing UNIX Leverage Existing UNIX ExperienceExperience Extensive Scripting supportExtensive Scripting support Familiar administration toolsFamiliar administration tools UNIX look and feelUNIX look and feel
Interix FeaturesInterix Features
A complete environment to run UNIX A complete environment to run UNIX applications and scripts on Windowsapplications and scripts on Windows Fully integrated with WindowsFully integrated with Windows
Over 300 utilities and toolsOver 300 utilities and tools A complete software development kitA complete software development kit
Support for more than 1900 UNIX APIsSupport for more than 1900 UNIX APIs
Interix 2.2 FeaturesInterix 2.2 Features
Shells: Shells: KornShellKornShell and and C ShellC Shell Scripting languages: Scripting languages: awk, perl, sedawk, perl, sed, ,
and and Tcl/TkTcl/Tk Admin tools: Admin tools: rsh, rlogin, telnet rsh, rlogin, telnet and and
xtermxterm Batch tools: Batch tools: At, cron At, cron and and batchbatch
Interix 2.2 SDKInterix 2.2 SDK
Support for 1900+ interfaces Support for 1900+ interfaces ANSI C, POSIX.1 and POSIX.2 interfaces ANSI C, POSIX.1 and POSIX.2 interfaces
Development tools: Development tools: make, RCS, lex, make, RCS, lex, yacc, cc, c89, nm, ar, stripyacc, cc, c89, nm, ar, strip
Compilers: Compilers: gcc, g++, g77gcc, g++, g77 Color curses library Color curses library BSD-style sockets library support BSD-style sockets library support X11R5 libraries and header files X11R5 libraries and header files MS Visual C/C++ 4.0 & 6.0 supportMS Visual C/C++ 4.0 & 6.0 support
The Windows NT & 2000 The Windows NT & 2000 ArchitectureArchitecture
Windows NT Kernel
Win32 Subsystem
Hardware Abstraction Layer
INTERIX Subsystem
I/O Subsystem
Security Subsystem
MicrosoftPOSIX
Subsystem
Environment SubsystemsEnvironment Subsystems Functional SubsystemsFunctional Subsystems
Applications and Applications and SubsystemsSubsystems
Win32 Subsystem
Win32App
Windows NT Kernel
InterixSubsystem
FunctionalSubsystems
Win32App
InterixApp
InterixApp
InterixApp
Interix/Win32 IntegrationInterix/Win32 Integration
NT Kernel
NTFSCDFS FAT
InterixSubsystem
Win32Subsystem
InterixApp
Win32App
InterixApp
Win32App
CommonCommonFileFile
SystemsSystems
CommonCommonDesktopDesktop
Pipes, sockets Pipes, sockets Shared memoryShared memory
Win32execWin32execCOMCOM
Common DesktopCommon Desktop
Interix shell appears in a console Interix shell appears in a console window with standard controls window with standard controls
Cut-and-paste support between Interix, Cut-and-paste support between Interix, Windows, & X11 applicationsWindows, & X11 applications
Launch Interix applications from a Launch Interix applications from a desktop icon or menu desktop icon or menu
Standard Windows tools applyStandard Windows tools apply InstallShield, etc.InstallShield, etc.
Common File SystemCommon File System
Interix supports NTFS, FAT, CDFS.Interix supports NTFS, FAT, CDFS. NTFS provides case sensitive NTFS provides case sensitive
filenames, group ownership, file modes filenames, group ownership, file modes (ACLs) and hard links(ACLs) and hard links
NTFS I/O operation audit features are NTFS I/O operation audit features are now available to ported UNIX apps on now available to ported UNIX apps on InterixInterix
Common Execution Common Execution EnvironmentEnvironment
Interix applications can exec( ) Win32 Interix applications can exec( ) Win32 applicationsapplications
Can shell script Win32 apps Can shell script Win32 apps Used in the product in lp and ccUsed in the product in lp and cc
Write Win32 apps explicitly for the Write Win32 apps explicitly for the “UNIX” environment“UNIX” environment
Interprocess CommunicationInterprocess Communication
Applications can share data between Applications can share data between subsystems viasubsystems via Pipes Pipes Sockets (Local and Remote)Sockets (Local and Remote) Shared Memory (Win32 mapped files to Shared Memory (Win32 mapped files to
SVID shared memory)SVID shared memory)
tideUNIX C
Application
IINTERIXNTERIX COM Example App COM Example App
Windows NT Kernel
INTERIX Subsystem Win32 Subsystem
xtideUNIX X11 CApplication
VBTIDE.EXETIDE.XLS
Visual Basic GUIOr Excel Plug-in
TIDEWRAP.DLLINTERIX COM DLL Module
Existing X11Graphical
Application
Existing UNIXCharacter-based
Application
New WindowsGraphical
Application
Interix FuturesInterix Futures
The Interix subsystem to be The Interix subsystem to be improvedimproved
Interix and Services For Unix to Interix and Services For Unix to mergemerge One comprehensive UNIX One comprehensive UNIX
interoperability and application interoperability and application migration solution.migration solution.
For more informationFor more information www.microsoft.com/windows/sfuwww.microsoft.com/windows/sfu