KaiOS Basic Research

KaiOS是一款轻量级Linux基础操作系统,为非触摸屏手机提供高速智能服务,使传统手机实现智能化,如安装应用程序等。它支持4G/LTE、Wi-Fi和NFC等功能,并拥有开放的第三方应用市场。KaiOS在印度市场表现突出,成为第二大操作系统,得益于其成本效益高和服务质量好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Summary

1.Background introduction

As the large popularity in India and its developing status, the common and urgent needs of digital phone services are whole coming recently. Base on this situation, from 2017, the development of KaiOS was started by KaiOS technologies which belong to the greatest telecommunication industry tycoon in India.

2.Description

KaiOS is a light Linux-based OS which provides the affordable high-tech method to combine speedy OS with the non-touch phone (feature phone).

Via this system, non-smartphone is able to realize all kinds of intelligent functions, which means, the digital service such as the installation of smartphone applications, is reachable in feature phone for more people. In this condition, a dumb phone becomes the smartphone by using KaiOS.

2.Main features


Features

Description

4G/LTE

Support

Wi-fi

Support

NFC

Support

QWERTY keyboard

Support

Third-party Application

in KaiStore

Support, developer-welcome and open resource

Voice Search

Support, intelligent assistant as the smartphone

Affordable Price (for feature phones)

More than half reduce in the expenditure on phone


As the above table shows, KaiOS supports 4G/LTE/Wi-fi and NFC function, even third-party applications can be downloaded from KaiStore to enrich the variety of this OS. It means that KaiOS is an open-source and developer-welcome operating system with sustainable development in the future.


3.Compatible Devices

For now:

  • Alcatel OneTouch Go Flip (known as Cingular Flip 2 on AT&T)

  • Reliance Jio JioPhone , JioPhone F101K, F10Q, F120B, F220B, F300B, F30C, F41T, F50Y, F61F, F81E, F90M, LF-2403N, JioPhone_2.

  • Nokia 8110 4G (runs Smart Feature OS, a KaiOS-based platform)

  • Doro 7050/7060

  • CAT B35

  • Maxcom MK241, MK281

  • WizPhone WP006. Launched on Indonesia in Partnership with Google and Alfamart

  • MTN 3G phone (model name TBD)

  • Alcatel MyFlip (TracFone)


4.Marketing Analysis

1.Main Objective

A large number of feature phone users need a cost-effective and serviceable resolution to help them to improve the digital service quality.

2.India Marketing Portion

From 2018, KaiOS has been No.2 in ranking for a really long time as a prospecting OS. In this pie chart, it is apparent that KaiOS has a big part of the Indian market and stands firmly with more and more advanced and reinforced features.




3.India Marketing Analysis

There is no one reason why KaiOS exploded in popularity. Four of the top 10 most used devices in India run KaiOS, while Android and iOS lost market share in India as a result.

Another reason is the increasing demand for feature phones in India. According to Counterpoint Research, almost 23 million KaiOS-powered devices shipped in Q1 2018.

These two main and reasonable brought the booming of KaiOS in India. Besides, it depends on the giant telecommunication enterprise Jio as the initial platform to advertise and propagate their brand-new widespread OS, this flagship system in India enjoys a very great reputation.

In the market occupation stage, Jio used full-on strategies to gather more than 100 million users in 170 days. It is too rapid and too powerful compared with 852 days for Facebook or 780 days for Twitter.


4.Potential Application Market

Except for the existed Jio applications, there are also a large number of third-party applications which runs smoothly in KaiOS.

Google leads series A investment round in KaiOS to connect next billion users and there also consistent and ever-lasting improvement by KaiOS.

The most important reason is that KaiOS supports the third-party partners’ development and they published the official and handy tutorial for developers or cooperated teams to explore this OS with convenience and brief start.


5.Conclusion

In all, it is very practical and feasible in all kinds of scenarios, people are able to escape from the lacking of NFC function or 4G/LTE/WIFI network function in non-smartphone. The affordable price of feature phone and valuable function in the system layer, this combination is attractive and prospecting enough for most customers, especially for the common population in India.

As a developing OS, it is not only oriented in India as one short-term product but endeavors to prolong its circle of life all over the world.

It is an undoubtedly win-win strategy in this high-speed developing world. This innovative resolution brings more possibilities, which means it allows mobile carriers to tap into the developing market and also more people to reach the smart application service in the meantime.


5.Developer Portal

1.Introduction

KaiOS is a web-based mobile operating system that enables a new category of smart feature phones. It is forked from B2G (Boot to Gecko), a successor of the discontinued Firefox OS.

KaiOS brings the support of 4G/LTE, GPS, and Wi-Fi, as well as HTML5-based apps and longer battery life, to non-touch devices. It has an optimized user interface for smart feature phones, needs little memory, and consumes less energy than other operating systems. It also comes with the KaiStore, which enables users to download applications in categories like social media, games, navigation, and streaming entertainment.

1) Architecture



                                                          Architecture Illustration

Gaia (Front-End)

Gaia is the user interface of the KaiOS platform. Anything drawn on the screen once KaiOS has launched is a product of the Gaia layer. Gaia implements the lock screen, home screen, and all the standard applications you expect on a smart feature phone. Gaia on KaiOS is implemented using HTML, CSS, and JavaScript. Its only interfaces to the underlying operating system are through open Web APIs, which are implemented by the Gecko layer. Third-party applications can be installed alongside the Gaia layer.

Gaia is the core web app of the device and user interface layer, all written in HTML5, CSS and JavaScript, with a number of exposed APIs to allow the UI code to interact with the phone hardware and Gecko functionality.


Gecko

Gecko forms the KaiOS application runtime; that is, the layer that provides all of the support for the trifecta of open standards: HTML, CSS, and JavaScript. It makes sure those APIs work well on every operating system Gecko supports. This means Gecko includes, among other things, a networking stack, graphics stack, layout engine, a JavaScript virtual machine, and porting layers.

Gecko is the web engine and presentation layer in KaiOS that connects hardware to HTML by serving as the interface between web content and the underlying device. Gecko provides an HTML5 parsing and rendering engine, programmatic access to hardware functionality via secure web APIs, a comprehensive security framework, update management, and other core services.

Gonk

Gonk is the lower level operating system of the KaiOS platform, consisting of a Linux kernel (based on the Android Open Source Project (AOSP)) and a userspace Hardware Abstraction Layer (HAL). The kernel and several of the userspace libraries are common open-source projects: Linux, libusb, bluez, and so forth. Some of the other parts of the HAL are shared with the AOSP: GPS, camera, and others.

You could say that Gonk is a very simple Linux distribution. Gonk is a porting target of Gecko; that is, there's a port of Gecko to Gonk, just like there's a port of Gecko to OS X, Windows, and Android. Since the KaiOS project has full control over Gonk, we can expose interfaces to Gecko that can't be exposed to other operating systems. For example, Gecko has direct access to the full telephony stack and display frame buffer on Gonk but doesn't have this access on any other operating system.

Gonk is the kernel-level component in the KaiOS stack that serves as the interface between Gecko and the underlying hardware. Gonk controls the underlying hardware and exposes hardware capabilities to Web APIs implemented in Gecko. Gonk can be seen as the “black box” that does all the complex, detailed work behind the scenes to control the mobile device by enacting requests at the hardware level.


                                                   Detailed Flow Illustration


2)Technologies

KaiOS apps are based on web technologies – HTML, CSS, and JavaScript and are run by Gecko runtime. If you have written a web page you already know the basics.

Rendering is done by parsing HTML/CSS and painted using graphical APIs. JavaScripts are executed by the JS engine SpiderMonkey and connected to C++ components by XPConnect and WebIDL bindings. Applications and the core process communicate only through IPC protocols defined by IPDL.

Additionally a set of core components including file and memory management, threads and data structures, etc. are provided through the XPCOM component object model.


2.Develop Stages

1) Environment setup

Firefox's WebIDE is a necessary development tool to inspect your app, as well as see the console, debugger, and others.

The following official online link is oriented for developers:

developer.kaiostech.com/environment…


2) Simulation in KaiOS

The simulator lets you run Gaia and Web apps in a Gecko-based environment somewhat similar to an actual device.

It doesn't emulate device hardware, so it's not adequate for testing device APIs and it isn't a replacement for testing on actual hardware. It can, therefore, be useful during the development of your application, or while working on the application user interface itself.

The following official online link covers downloading of the simulator, as well as how to use it:

developer.kaiostech.com/simulator


3) Applications and the related 

Contents Included:

Multiple Resolutions,Notifications,Storage,Catching,

Network State Changes,Manifest,App Permissions,

D-pad,Navigation,Softkeys,Emulated Cursor.


The following official online link is to provide the application example and related experiences for developers:

developer.kaiostech.com/first-app/s…


4) Run and Debug

After the former development for applications, let’s go running and debug the phrase to test the unfinished applications.

The following official link is to provide the functions of running and debugging the applications:

developer.kaiostech.com/run-and-deb…


5) API Reference

There is a large number of APIs to be used to refer to a suite of device compatibility, no matter audio or Bluetooth related.

The following official online link is for APIs:

developer.kaiostech.com/api


3.Submitting a New Application:


After the complete development, there is one specialized stage for third-party cooperators to submit their own applications in KaiOS official store.

  1. Reading all the documentation in this portal is very fundamental as a primary stage. This helps a lot in understanding what is considered a qualified app for KaiOS.

  2. Prepare an app manifest for the required fields. Submitting the application without a proper manifest is illegal for now. Read this section carefully before other following steps.

  1. Do Include known the issues of the application with app submission.

  2. Add an app’s test report in .txt format.

  3. If this application is a hosted application, be sure that it includes the hosted application URL.

  4. Agree to the "KaiOS Application Development Agreement" when signing up in the App Submission Portal.

  5. Please contact KaiOS team via their contact form under “Partnership opportunities”. KaiOS will review all the proposals and send over their standard business terms.

Once the submitting step of this application is finished, the KaiStore team will review the submission and inform back with the result. In general, this process takes about two weeks.

The KaiStore team reserves the right to reject application submitting under the following circumstances:

  • The above steps have not been followed.

  • The required materials have not been submitted or are incomplete.

  • This application does not meet our quality threshold in areas such as 'Basic function', 'Interaction', 'Stability', as well as 'Compatibility'.

After completing the above stages, the submission of one application is over.


6.Latent Problem

Google announced that they decided to invest Jio KaiOS with more than 20 million in mid of 2018. Regarding the involvement of Google, this operating system developing team will probably be influenced by Google.

Herein there is one hidden problem for confidential privacy security. Which means, in this OS, we are not very sure that there is no data outflow.



转载于:https://juejin.im/post/5cc6e65e6fb9a031ee3c1dc5

[编辑本段]Turbo C2.0    介绍      Turbo C2.0不仅是一个快捷、高效的编译程序,同时还有一个易学、易用的集成开发环境。使用Turbo C2.0无需独立地编辑、编译和连接程序,就能建立并运行C语言程序。因为这些功能都组合在Turbo 2.0的集成开发环境内,并且可以通过一个简单的主屏幕使用这些功能。    基本配置要求   Turbo C 2.0可运行于IBM-PC系列微机,包括XT,AT及IBM 兼容机。此时要求DOS2.0或更高版本支持,并至少需要448K的RAM,可在任何彩、单色80列监视器上运行。支持数学协处理器芯片,也可进行浮点仿真,这将加快程序的执行。 [编辑本段]Turbo C 2.0的主要文件的简单介绍   INSTALL.EXE 安装程序文件   TC.EXE 集成编译   TCINST.EXE 集成开发环境的配置设置程序   TCHELP.TCH 帮助文件   THELP.COM 读取TCHELP.TCH的驻留程序README 关于Turbo C的信息文件   TCCONFIG.EXE 配置文件转换程序MAKE.EXE   项目管理工具TCC.EXE   命令行编译TLINK.EXE   Turbo C系列连接器TLIB.EXE   Turbo C系列库管理工具C0?.OBJ 不   同模式启动代码C?.LIB   不同模式运行库GRAPHICS.LIB   图形库EMU.LIB   8087仿真库FP87.LIB 8087库   *.H Turbo C头文件   *.BGI 不同显示器图形驱动程序   *.C Turbo C例行程序(源文件)   其中:上面的?分别为:T Tiny(微型模式)S Small(小模式)C Compact(紧凑模式)M Medium(中型模式)L Large(大模式)H Huge(巨大模式)    Turbo C++ 3.0   “Turbo C++ 3.0”软件是Borland公司在1992年推出的强大的——C语言程序设计与C++面向对象程序设计 的集成开发工具。它只需要修改一个设置选项,就能够在同一个IDE集成开发环境下设计和编译以标准 C 和 C++ 语法设计的程序文件。 [编辑本段]C 语言   C语言起始于1968年发表的CPL语言,它的许多重要思想都来自于Martin Richards在1969年研制的BCPL语言,以及以BCPL语言为基础的与Ken Thompson在1970年研制的B语言。Ken Thompson用B语言写了第一个UNIX操作系统。M.M.Ritchie1972年在B语言的基础上研制了C语言,并用C语言写成了第一个在PDP-11计算机上研制的UNIX操作系统。1977年出现了独立于极其的C语言编译文本《看移植C语言编译程序》,从而大大简化了把C语言编译程序移植到新环境中所做的工作,这本身也就使UNIX的日益广泛使用,C语言也迅速得到推广。   1983年美国国家标准化协会(ANSI)根据C语言问世以来的各种版本,对C语言的发展和扩充制定了新的标准,成为ANSI C。1987年ANSI又公布了新标准————87ANSI C。   目前在微型计算机上使用的有Microsoft C、Quick C、Turbo C等多种版本。这些不同的C语言版本,基本部分是相同的,但是在有关规定上有略有差异。   C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了,象PC- DOS ,WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:   1. C是中级语言   它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。   2. C是结构式语言   结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。   3. C语言功能齐全   C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的。   4. C语言适用范围大   C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。   C语言的优点很多,但是也存在一些缺点,如运算优先级太多,运算能力方面不像其它高级语言那样强,语法定义不严格等。但是这些都不能阻止C语言成为一门广受欢迎的计算机编程语言
Turbo C2.0 介绍   Turbo C2.0不仅是一个快捷、高效的编译程序,同时还有一个易学、易用的集成开发环境。使用Turbo C2.0无需独立地编辑、编译和连接程序,就能建立并运行C语言程序。因为这些功能都组合在Turbo 2.0的集成开发环境内,并且可以通过一个简单的主屏幕使用这些功能。 基本配置要求   Turbo C 2.0可运行于IBM-PC系列微机,包括XT,AT及IBM 兼容机。此时要求DOS2.0或更高版本支持,并至少需要448K的RAM,可在任何彩、单色80列监视器上运行。支持数学协处理器芯片,也可进行浮点仿真,这将加快程序的执行。 主要文件的简单介绍   INSTALL.EXE 安装程序文件   TC.EXE 集成编译   TCINST.EXE 集成开发环境的配置设置程序   TCHELP.TCH 帮助文件   THELP.COM 读取TCHELP.TCH的驻留程序README 关于Turbo C的信息文件   TCCONFIG.EXE 配置文件转换程序MAKE.EXE   项目管理工具TCC.EXE   命令行编译TLINK.EXE   Turbo C系列连接器TLIB.EXE   Turbo C系列库管理工具C0?.OBJ 不   同模式启动代码C?.LIB   不同模式运行库GRAPHICS.LIB   图形库EMU.LIB   8087仿真库FP87.LIB 8087库   *.H Turbo C头文件   *.BGI 不同显示器图形驱动程序   *.C Turbo C例行程序(源文件)   其中:上面的?分别为:T Tiny(微型模式)S Small(小模式)C Compact(紧凑模式)M Medium(中型模式)L Large(大模式)H Huge(巨大模式)
### 回答1: 在 TURBO C 2.0 中,您可以使用 biosdisk() 函数来格式化软盘。 下面是一段代码示例: ``` #include <stdio.h> #include <dos.h> int main() { // 定义扇区的大小 unsigned int sector_size[3] = {512, 512, 1024}; // 定义填充字节 unsigned char fill_char[3] = {0xF6, 0xF6, 0x48}; // 格式化磁道 700 的前三个扇区 for (int i = 0; i < 3; i++) { int result = biosdisk(2, 0, 70, 0, i + 1, 1, sector_size[i], fill_char[i]); if (result != 0) { printf("格式化扇区 %d 失败,返回码: %d\n", i + 1, result); } } return 0; } ``` 请注意,在使用 biosdisk() 函数之前,需要包含 dos.h 头文件。 希望这能帮到您! ### 回答2使用TURBO C 2.0语言,可以通过以下代码格式化软盘的70磁道0面,并分别格式化3个扇区,大小分别为512字节、512字节和1024字节。其中,前两个扇区使用F6填充,第三个扇区使用48填充。 ```c #include<stdlib.h> #include<stdio.h> #include<dos.h> void formatFloppyDisk(){ union REGS regs; regs.h.ah = 0x0;// To format a floppy disk, we set AH=0 regs.h.dl = 0;// Drive number (0=A, 1=B, etc.) regs.x.cx = 0;// Track number to format regs.h.dh = 0;// Head number regs.h.al = 0;// Sector size (0=default, 1=512 bytes, 2=1024 bytes, 3=2048 bytes etc.) int FILL_BYTE = 0;// The byte value to fill the sectors with during formatting int NUM_SECTORS = 3;// Number of sectors to format // To format 70th track 0th head regs.x.ax = 0x1301; // 0x13 = Reset disk system, 01H = Reset only specified drive int86(0x13, &regs, &regs); // BIOS interrupt to reset disk system for (int i=0; i<NUM_SECTORS; i++){ regs.x.ax = 0x3101; // 0x31 = Write Format, 01H = Format only current track regs.x.bx = 0x0001; // 0x00 = Drive A:, 01H = Head 1, 0 = Generate ID Field depending on the disk in the drive 1 = Keep the ID Field all zeros regs.x.cx = 0x0170; // Track number=70(0-79 range) regs.h.dh = 0x00; // Head number=0 or 1 regs.h.al = 0x02; // Control byte=always zero regs.x.dx = i+1; // Sector number starting from 1 regs.x.si = 0x0000; // segment and offset of read/write buffer regs.x.di = 0x0000; // segment and offset of result if(i == 2){ FILL_BYTE = 0x48; // Fill the third sector with 48 regs.x.ax = 0x3102; // 0x31 = Write Format, 02H = Format sequential tracks immediately following the one being formatted }else{ FILL_BYTE = 0xF6; // Fill the first two sectors with F6 } regs.h.ah = FILL_BYTE; // Fill the sector with specified byte int86(0x13, &regs, &regs); // BIOS interrupt to format the specified sector } } int main(){ formatFloppyDisk(); return 0; } ``` 上述代码使用了INT 0x13,即BIOS中断服务例程,来执行软盘格式化操作。通过设置寄存器的不同参数,可以指定要格式化的磁道、面、扇区大小和填充字节。在这个例子中,我们格式化了软盘70磁道0面的3个扇区,前两个扇区使用F6填充,第三个扇区使用48填充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值