LINA Cross-platform Linux Binaries OSCON 2007
Introducing LINA With LINA, Linux binaries run with native look and feel on Windows, Mac OS X, and all flavors of Linux and UNIX.
PART ONE What LINA Is
LINA in One Sentence LINA is a full-featured Linux virtual operating system that is slim and fast, has no GUI of its own, accesses the libraries of the underlying OS, utilizes the host shell and file system, is robustly integrated through kernel resource mapping, allows apps to run securely on the partitioned kernel, and includes a means for simple installation of complex packages.
LINA in One Picture A Picture of LINA
Selected Features Breaking it down With LINA Linux applications run cross-platform LINA is integrated with the underlying OS LINA maps system resources  Applications run securely on LINA LINA allows simple installation of complex packages
Cross-platform Linux Applications Linux applications run without recompiling on Windows, Mac OS X and all flavors of UNIX
Cross-platform Linux Applications Benefits Run Linux applications on any operating system Developers write and compile these applications in an ordinary Linux environment
Integrated with the Underlying OS LINA silently and invisibly allows Linux applications run with native look and feel on Windows, Mac OS X and all flavors of UNIX
Integrated with the Underlying OS Benefits Linux applications look and feel like native application  The Linux command line is integrated into the host shell Native integration with no effort for the developer
Integrated with the Underlying OS A LINA App running on Linux
Integrated with the Underlying OS The same LINA App running on Mac OS X
Integrated with the Underlying OS The same LINA App running on Windows XP
Resource Mapping LINA maps host resources to their Linux counterparts rather than relying on system call mapping
Resource Mapping Benefits LINA apps run as expected on all operating systems Resources of the underlying operating system are mapped to Linux counterparts Developers access these resources as Linux resources
Applications Run Securely Each LINA application runs in its own partition of LINA's Linux kernel, isolating it at run time from other applications and from the host
Applications Run Securely Benefits Applications running on LINA can't affect each other Applications running on LINA can't affect the host without permission
Simple Package Installation LINA includes an installer that allows developers to package applications for instant use on any platform
Simple Package Installation Benefits Users install LINA applications with minimal effort Developers easily create application packages using install tools Packages are of arbitrary complexity
PART TWO - Where LINA's Going
Project Status LINA Today LINA Runtime Environment LINA Tools LINA Build System
The Road to 1.0 The next six months Enables the use of GTK and QT GUI libraries  The LINA installer  More access to host resources
A Peek into the Future LINA - the First  Cross-Platform Virtual Operating System
Platform Evolution Portability Uniform APIs C JAVASCRIPT LINA Uniform Runtime Uniform Environment 1970s - 1990s 1990s - 2000s Now Adoption Example
Not a Uniform Environment Apache App1 App2 MySQL Network Stack Lib1 Lib2 ONE  BINARY .access
Example of Uniform Integration Network Stack /Users/Anne /home/Anne C:\Documents~\Anne Device .access
Uniform Integration Apache App1 App2 MySQL . access Network Stack Lib1 Lib2 WINDOWS XP
Higher Abstractions A uniform environment enables higher abstractions to be portable RESOURCES KERNEL NETWORK PROGRAMS
Internet Application Example Program Program Program 208.75.23.10 10.0.1.28 10.0.1.100 WEB SERVER 10.0.1.156 DATABASE WEB SERVICE
The Web Service import mynetwork.mywebservice import mynetwork.databaseprovider MyWebService::MyWebService() { Type<String> addressName = “localhost”; databaseProvider.setAddress(addressName); databaseProvider.setPort(3306); databaseProvider.setDatabase(“postgresql”); }
The Operating Systems import mynetwork.servicemanager import mynetwork.mydatabaseserver import mynetwork.mydatabaseprogram MyDatabaseServer::MyDatabaseServer() { Type<MyServerProgram> databaseProgram; Type<Application> postgres; postgres = ServiceManager::find(“Postgres”); postgres.setPassword(“postgres”, “hywsdcs”); postgres.start(); databaseProgram.start(); }
The Network import mynetwork.mynetwork” import mynetwork/mydatabaseserver MyNetwork::MyNetwork() { os1 = new MyDatabaseServer() os1.setIPAddress(“10.0.2.2”); os2 = new OperatingSystem() os1.enableDHCP(); os1.setIPAddress(“10.0.2.3”); this.addSimpleServer(os1) this.addSimpleServer(os2) }
The Network import mynetwork.mynetwork” int main(int argc, char *argv) { MyNetwork network; network->start(); return 0; }
Compiling the Program My Program #include int main() dfsdfa sdfsaf My Network VOS Compiler
Beyond the Virtual Machine A virtual operating system language compiles programs into networks, operating systems, and processes My Program
The Ground Floor Universal Open Source Binaries A Cross-Platform Virtual OS Programming Language The Binary is a Network Portable Dynamic Language modules
PART THREE What LINA means for Linux
LINA - the Future of Linux Everyone who installs LINA installs Linux
LINA - the Future of Linux Whenever a user installs a Linux application packaged for LINA the user gets Linux   Every great Linux application that you package for LINA generates new Linux users
LINA – open source everywhere openlina.org

Os Geisingerupdated

  • 1.
    LINA Cross-platform LinuxBinaries OSCON 2007
  • 2.
    Introducing LINA WithLINA, Linux binaries run with native look and feel on Windows, Mac OS X, and all flavors of Linux and UNIX.
  • 3.
  • 4.
    LINA in OneSentence LINA is a full-featured Linux virtual operating system that is slim and fast, has no GUI of its own, accesses the libraries of the underlying OS, utilizes the host shell and file system, is robustly integrated through kernel resource mapping, allows apps to run securely on the partitioned kernel, and includes a means for simple installation of complex packages.
  • 5.
    LINA in OnePicture A Picture of LINA
  • 6.
    Selected Features Breakingit down With LINA Linux applications run cross-platform LINA is integrated with the underlying OS LINA maps system resources Applications run securely on LINA LINA allows simple installation of complex packages
  • 7.
    Cross-platform Linux ApplicationsLinux applications run without recompiling on Windows, Mac OS X and all flavors of UNIX
  • 8.
    Cross-platform Linux ApplicationsBenefits Run Linux applications on any operating system Developers write and compile these applications in an ordinary Linux environment
  • 9.
    Integrated with theUnderlying OS LINA silently and invisibly allows Linux applications run with native look and feel on Windows, Mac OS X and all flavors of UNIX
  • 10.
    Integrated with theUnderlying OS Benefits Linux applications look and feel like native application The Linux command line is integrated into the host shell Native integration with no effort for the developer
  • 11.
    Integrated with theUnderlying OS A LINA App running on Linux
  • 12.
    Integrated with theUnderlying OS The same LINA App running on Mac OS X
  • 13.
    Integrated with theUnderlying OS The same LINA App running on Windows XP
  • 14.
    Resource Mapping LINAmaps host resources to their Linux counterparts rather than relying on system call mapping
  • 15.
    Resource Mapping BenefitsLINA apps run as expected on all operating systems Resources of the underlying operating system are mapped to Linux counterparts Developers access these resources as Linux resources
  • 16.
    Applications Run SecurelyEach LINA application runs in its own partition of LINA's Linux kernel, isolating it at run time from other applications and from the host
  • 17.
    Applications Run SecurelyBenefits Applications running on LINA can't affect each other Applications running on LINA can't affect the host without permission
  • 18.
    Simple Package InstallationLINA includes an installer that allows developers to package applications for instant use on any platform
  • 19.
    Simple Package InstallationBenefits Users install LINA applications with minimal effort Developers easily create application packages using install tools Packages are of arbitrary complexity
  • 20.
    PART TWO -Where LINA's Going
  • 21.
    Project Status LINAToday LINA Runtime Environment LINA Tools LINA Build System
  • 22.
    The Road to1.0 The next six months Enables the use of GTK and QT GUI libraries The LINA installer More access to host resources
  • 23.
    A Peek intothe Future LINA - the First Cross-Platform Virtual Operating System
  • 24.
    Platform Evolution PortabilityUniform APIs C JAVASCRIPT LINA Uniform Runtime Uniform Environment 1970s - 1990s 1990s - 2000s Now Adoption Example
  • 25.
    Not a UniformEnvironment Apache App1 App2 MySQL Network Stack Lib1 Lib2 ONE BINARY .access
  • 26.
    Example of UniformIntegration Network Stack /Users/Anne /home/Anne C:\Documents~\Anne Device .access
  • 27.
    Uniform Integration ApacheApp1 App2 MySQL . access Network Stack Lib1 Lib2 WINDOWS XP
  • 28.
    Higher Abstractions Auniform environment enables higher abstractions to be portable RESOURCES KERNEL NETWORK PROGRAMS
  • 29.
    Internet Application ExampleProgram Program Program 208.75.23.10 10.0.1.28 10.0.1.100 WEB SERVER 10.0.1.156 DATABASE WEB SERVICE
  • 30.
    The Web Serviceimport mynetwork.mywebservice import mynetwork.databaseprovider MyWebService::MyWebService() { Type<String> addressName = “localhost”; databaseProvider.setAddress(addressName); databaseProvider.setPort(3306); databaseProvider.setDatabase(“postgresql”); }
  • 31.
    The Operating Systemsimport mynetwork.servicemanager import mynetwork.mydatabaseserver import mynetwork.mydatabaseprogram MyDatabaseServer::MyDatabaseServer() { Type<MyServerProgram> databaseProgram; Type<Application> postgres; postgres = ServiceManager::find(“Postgres”); postgres.setPassword(“postgres”, “hywsdcs”); postgres.start(); databaseProgram.start(); }
  • 32.
    The Network importmynetwork.mynetwork” import mynetwork/mydatabaseserver MyNetwork::MyNetwork() { os1 = new MyDatabaseServer() os1.setIPAddress(“10.0.2.2”); os2 = new OperatingSystem() os1.enableDHCP(); os1.setIPAddress(“10.0.2.3”); this.addSimpleServer(os1) this.addSimpleServer(os2) }
  • 33.
    The Network importmynetwork.mynetwork” int main(int argc, char *argv) { MyNetwork network; network->start(); return 0; }
  • 34.
    Compiling the ProgramMy Program #include int main() dfsdfa sdfsaf My Network VOS Compiler
  • 35.
    Beyond the VirtualMachine A virtual operating system language compiles programs into networks, operating systems, and processes My Program
  • 36.
    The Ground FloorUniversal Open Source Binaries A Cross-Platform Virtual OS Programming Language The Binary is a Network Portable Dynamic Language modules
  • 37.
    PART THREE WhatLINA means for Linux
  • 38.
    LINA - theFuture of Linux Everyone who installs LINA installs Linux
  • 39.
    LINA - theFuture of Linux Whenever a user installs a Linux application packaged for LINA the user gets Linux Every great Linux application that you package for LINA generates new Linux users
  • 40.
    LINA – opensource everywhere openlina.org