Unit 10: Interoperability
10.3. The Interix Subsystem for Windows 2000
AP 9/01 The Interix Subsystem for Windows 2000
• Interix - a full POSIX subsystem for Windows 2000 – Interix replaces the original POSIX subsystem on Windows 2000 – Full network support – Interoperability between POSIX and Win32 subsystems (CreateProcess()) – Bundled with many essential UNIX tools (including X11R5 clients)
• Microsoft acquired Softway Systems, the makers of Interix on Sept. 17, 1999 • Interix allows to run UNIX applications and scripts on Windows. • Microsoft Interix 2.2 was released to manufacturing on Jan. 26, 2000.
AP 9/01 What is Interix?
• A complete, high-performance environment to run UNIX applications and scripts on Window NT and Windows 2000. • The easiest way for customers to take advantage of their previous investments in UNIX-based legacy applications as they move to the Windows platform.
AP 9/01 Interix Benefits
• Easily run UNIX-based applications and scripts on Windows • A Single Enterprise Platform to run all Windows, UNIX, and Internet applications • Take advantage of existing UNIX expertise
AP 9/01 Easily Run UNIX Applications and Scripts on Windows
• A complete environment – Over 300 utilities and tools • High-performance environment • Software Development Kit – Supports over 1900 UNIX APIs
AP 9/01 Single Enterprise Platform
• Full integration with Windows – Desktop, security model, file system • Lower TCO • Enhanced application development
AP 9/01 Leverage Existing UNIX Experience
• Extensive Scripting support • Familiar administration tools • UNIX look and feel
AP 9/01 Interix Features
• A complete environment to run UNIX applications and scripts on Windows – Fully integrated with Windows • Over 300 utilities and tools • A complete software development kit – Support for more than 1900 UNIX APIs
AP 9/01 Interix 2.2 Features
• Shells: KornShell and C Shell • Scripting languages: awk, perl, sed, and Tcl/Tk • Admin tools: rsh, rlogin, telnet and xterm • Batch tools: At, cron and batch
AP 9/01 Interix 2.2 SDK
• Support for 1900+ interfaces – ANSI C, POSIX.1 and POSIX.2 interfaces • Development tools: make, RCS, lex, yacc, cc, c89, nm, ar, strip • Compilers: gcc, g++, g77 • Color curses library • BSD-style sockets library support • X11R5 libraries and header files • MS Visual C/C++ 4.0 & 5.0 support
AP 9/01 The Windows 2000 Architecture
Environment Subsystems Functional Subsystems
Microsoft Win32 INTERIX I/O Security POSIX Subsystem Subsystem Subsystem Subsystem Subsystem
Windows 2000 Kernel
Hardware Abstraction Layer
AP 9/01 Applications and Subsystems
Win32 Win32 Interix Interix Interix App App App App App
Functional Interix Win32 Subsystem Subsystems Subsystem
Windows 2000 Kernel
AP 9/01 Interix/Win32 Integration
Interix Common Win32 App Desktop App Interix Win32 App App
Pipes, sockets Interix Shared memory Win32 Subsystem Win32exec Subsystem COM
Windows 2000 Kernel Common File Systems CDFS NTFS FAT AP 9/01 Common Desktop
• Interix shell appears in a console window with standard controls • Cut-and-paste support between Interix, Windows, & X11 applications • Launch Interix applications from a desktop icon or menu • Standard Windows tools apply – InstallShield, etc.
AP 9/01 Common File System
• Interix supports NTFS, FAT, CDFS. • NTFS provides case sensitive filenames, group ownership, file modes (ACLs) and hard links • NTFS I/O operation audit features are now available to ported UNIX apps on Interix
AP 9/01 Common Execution Environment
• Interix applications can exec( ) Win32 applications • Can shell script Win32 apps – Used in the product in lp and cc • Write Win32 apps explicitly for the “UNIX” environment
AP 9/01 Interprocess Communication
• Applications can share data between subsystems via – Pipes – Sockets (Local and Remote) – Shared Memory (Win32 mapped files to SVID shared memory)
AP 9/01 INTERIX COM Example App
Existing X11 Existing UNIX Graphical Character-based New Windows Application Application Graphical Application VBTIDE.EXE xtide tide TIDEWRAP.DLL TIDE.XLS UNIX X11 C UNIX C INTERIX COM Visual Basic GUI Application Application DLL Module Or Excel Plug-in
INTERIX Subsystem Win32 Subsystem
Windows 2000 Kernel AP 9/01 Interix Futures
• The Interix subsystem to be improved • Interix and Services For Unix to merge – One comprehensive UNIX interoperability and application migration solution. • For more information – www.microsoft.com/windows/sfu
AP 9/01