31-08-2016, 12:23 PM
1451722185-seminarreportonsailfishos151011060621lva1app6892.docx (Size: 69.05 KB / Downloads: 5)
This Seminar Report defines “SAILFISH OS” as a Linux-based Operating System, widely known as a Mobile Operating System combining the Linux Kernel for a particular hardware platform use and we will define its software architecture, its application programming interfaces and how the android software is running on this system.
INTRODUCTION
Sailfish OS (also styled Sailfish OS) is a Linux-based general-purpose operating system, widely known as a mobile operating system combining the Linux Kernel for a particular hardware platform use, the open source Mer Core middleware, the proprietary UI contributed by Jolla, and other third party components some of which are free software, and others of which are proprietary.
Sailfish is being developed by Jolla in permanent cooperation with the Sailfish community, the Mer project and its community, corporate members of the Sailfish Alliance and various open community members. The Sailfish community makes development requests and decides development priorities by voting. The Mer project receives contributions from the Jolla community, and Mer contributes middleware for Jolla, thereby assuring compatibility of both projects.
Sailfish is used in the Jolla Smart Phone, the upcoming Jolla Tablet, and by other licensees.
HISTORY AND DEVELOPMENT
The OS is an evolved continuation of the Linux MeeGo OS previously developed by alliance of Nokia and Intel. The MeeGo legacy is contained in the Mer core in about 80% of its code; the Mer name thus expands to MEego Reconstructed.
Jolla and MERproject.org follow a meritocratic system to avoid the mistakes that lead to the MeeGo project's then-unanticipated discontinuation.
Sailfish 2.0 is currently in development for mobiles and the announced Jolla Tablet. Sailfish OS 2.0 is developed with a continuous integration model, with the aim to provide monthly software updates to all Sailfish OS users and development partners. Customers using Sailfish 1.x with any device can upgrade to Sailfish 2.0.
The main elements for Sailfish OS 2.0 include:
• Technically stronger OS core
• Improved Android application compatibility
• Support for Intel architecture, including the Intel Atom x3 processor
• Design to provide visibility in the UI for digital content providers and to enable OS level integration for mobile commerce
• Strong multitasking (one of the most important advantage of the OS and declared to be the best one at market)
• Strong privacy and personalization features
• Enhanced user interface with new UI/UX features, including simpler swipe access to main functions, enhanced notifications and events views.
SOFTWARE ARCHITECTURE
The Sailfish OS and the Sailfish Software Development Kit (SDK) are based on the Linux Kernel and Mer. Sailfish OS includes a multi-tasking graphical shell called "Lipstick" built by Jolla on top of the Wayland display server protocol. Jolla uses Free and open-source graphics device drivers but the Hybris library allows use of proprietary graphics device drivers for Android. Jolla's stated goal is for Sailfish to be open source eventually. Sailfish OS can run Android applications through a proprietary compatibility layer.
Targeted device classes
Sailfish is commonly known to be targeted at mobile devices, although like MeeGo previously and as part of its legacy because around 80% of Sailfish code is de facto MeeGo code, Sailfish can be used with any device as it is a complete general-purpose Linux OS, for devices such as IVI, navigation, smart TV, desktops and notebooks, yachts, automotive, e-commerce, house goods, measuring and control equipment, intelligent building equipment etc.; See use cases of original Meego to compare. See the Devices section for devices that run the Sailfish OS.
Sailfish OS SDK
The Sailfish OS SDK was announced in Helsinki at Slush in 2012, and the alpha was published in February 2013, The SDK, installation and coding tutorials are available for free download from the Sailfish OS website although the overall license is not open source.
Sailfish SDK uses Qt with Virtual Box for development, compiling and emulation purposes, in contrast to simulation method. This technique allows compilation on the Sailfish OS and full testing of developed software in the virtual machine, emulating but not simulating the whole Sailfish OS. The technique also separates development activities and side effects from everything else running on the host particular computer, leaving it undisturbed by developments and tests. According to Jolla, development with Sailfish SDK is development on Sailfish OS itself; there are no differences between developed software appearance and behaviour in the SDK and on a device running Sailfish OS.
The availability of source code to the SDK allows shaping and rebuilding for companies' or developers' specific needs, creating a context-specific environment that is set once and needs no preparation when the device is booted. The SDK runs on the operating systems Android and 32- and 64-bit versions of Linux, 64-bit versions of OS X, and Microsoft Windows. It can be used for compiling software for Sailfish OS devices from Linux sources. Its general console/terminal mode follows a commonly used standard. Compatible binaries or libraries can also be used.
Application programming interfaces
Sailfish OS uses open source Qt APIs (Qt 5, Qt Quick 2 etc.) and a closed source Sailfish Silica for the UI. Standard Linux APIs are provided by the Mer Core.
Sailfish, Ubuntu and Plasma Active have been cooperating to share common APIs and this, when successful, will make the platforms compatible on the API level.
SOFTWARE OVERVIEW
Public "Early access" for beta testers and developers
After positive experiences with pushing early updates to a small group of opt-in users for Sailfish Update 9 and for the connectivity hotfix, Jolla has allowed all interested parties to try a new version of Sailfish OS about 1-2 weeks before official release, in a program called "Early access". It is expected to be useful for developers and technically minded users, and a step towards more community integration into the Sailfish release process, including improvement of quality by identifying critical issues which only show up in certain environments or device setups, before rolling the update out to the wider user audience. As an added bonus, it provides a window for developers to test their applications on new releases of Sailfish OS.
In the long term it will help Jolla to establish a developer program with early release candidate access for registered developers, and to have more community involvement in platform development. The first detail Jolla is hoping to learn from this is how it can gather feedback from a large audience in a reasonable way.
Basic details about the early access update:
• The early release access is meant primarily for advanced users and developers.
• To sign up for the program there is a checkbox in the Jolla accounts profile page.
• Installed early-access release cannot be downgraded. The only way to downgrade from early access releases is to do a factory reset after removing the sign up check from the user's account profile.
• Early access releases should be considered "reasonably stable". Issues found during that period will either be fixed, or added to "known issues" on the release notes.
• Signing up for the early access releases will not void warranty