Bionic 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Bionic 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Bionic 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Bionic 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Bionic 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 BSD
开发语言 C/C++
操作系统 Android
软件类型 开源软件
所属分类 其他开源Linux内核
开源组织
地区 不详
投 递 者 小编辑
适用人群 未知
收录时间 2011-09-15

软件简介

Android除了使用的是ARM版本的内核外和传统的x86有所不同外,重要的是Google为Linux内核增强了不少东西,自己开发了 Bionic库,同时又贡献会Linux社区了。首先GNU的内核在体积和运行效率上不适合移动设备,系统核心组件都是以动态库的形式驻留在每个进程中, 运行效率和内存占用都是十分重要的问题。Google开发了一个自定义的库名为Bionic,以BSD许可形式开源。

Bionic库仅为200KB大小是GNU版本体积的一半,这意味着更高的效率和低内存占用,同时配合经过优化的Java VM Dalvik才可以保证高的性能。Bionic不支持一些特性比如宽字节对unicode,类似c++那样的异常处理。

展开阅读全文

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2013/08/20 16:53

bionic test :StringTestState

// For every length we want to test, vary and change alignment // of allocated memory, fill it with some values, calculate // expected result and then run function and compare what we got. // These tests contributed by Intel Corporation. // TODO: make these tests more intention-revealing and less random. template<class Character> struct StringTestState { StringTestState(size_t MAX_LEN)...

0
0
发表于运维专区
2020/05/06 20:14

Armbian国内源(Ubuntu18.04 Bionic)

Ubuntu 18.04 LTS # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse # deb-src https://...

0
0
发表了博客
2019/04/18 16:25

ubuntu18.04(bionic) 配置阿里数据源

先备份源数据原文件 cp sources.list sources.list.bak 编辑 sources.list,输入内容如下: deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-...

0
0
发表了博客
2013/08/02 16:24

[Android]Bionic C printf()流程

Bionic C printf()输出的流程。 总体结构是写到已打开的标准输出的文件里。 注意不同于Android Log() 。 printf()-->vfprintf()-->__vfprintf()-->FLUSH()-->__sprint()-->__sfvwrite() int printf(const char *fmt, ...) { int ret; va_list ap; va_start(ap, fmt); ret = vfprintf(stdout, fmt, ap); va_end(ap); return (ret); } int vfprintf(FILE *fp, const char *fmt0, __va_list ap) { int ret; FLOCKFILE(fp); ret = ...

0
0
发表了博客
2013/08/02 14:59

[Android]Bionic C malloc内存分配

1.malloc时需要向OS system 要内存,通过接口sys_alloc 通过MORECORE, MMAP 它不像有些系统是开始分配的一块静态全局大数组做Heap来分配。 因为基于Linux的缘故,会向Linux OS要内存。 2. 代码路径: /bionic/libc 需要了解内存分配架构 参考: http://www.baidu.com/link?url=aarOA2XIoMGTeCRBSY7wGZCBJIoRwA9YPruHSse7PLnndbvdV-r7hlDL6RznJcq2ReIn4Dq9WRxyBYeLfHbNaIpOF7m_VcvtXPohZvrbtVe...

0
0
2020/01/07 21:15

Android bionic 和 其中的libc由什么组成

What are the big pieces of bionic? libc/ --- libc.so, libc.a The C library. Stuff like fopen(3) and kill(2). libm/ --- libm.so, libm.a The math library. Traditionally Unix systems kept stuff like sin(3) and cos(3) in a separate library to save space in the days before shared libraries. libdl/ --- libdl.so The dynamic linker interface library. This is actually just a bunch of stubs that the dyna...

0
0
发表了博客
2020/03/14 10:39

使用libhybris,glibc和bionic共存时的TLS冲突的问题

https://blog.csdn.net/ayu_ag/article/details/53930562 如无特殊说明,系统为linux,架构为x86 32bit,使用glibc,通过libhybris调用android bionic的驱动。android版本5.1.0_r1。 一、什么是TLS TLS的全称是Thread Local Storage,是指进程中每一个线程都独有的变量,名字相同,但是读写互不影响。最常见的TLS之一就是errno,每一个线程都有自己的errno,保存着该线程的最近一次函数调用错误原因,别的线程干啥都不会影响到这...

0
0
发表了博客
2018/04/26 09:44

Ubuntu 18.04 LTS (Bionic Beaver) 已经发布附官网下载链接

Ubuntu 18.04 LTS (Bionic Beaver) 即将发布,最新资讯链接。 下载并使用Ubuntu 18.04 LTS:https://www.ubuntu.com/download/desktop 全部正式发行版Ubuntu下载链接:http://releases.ubuntu.com/ 对应课程博客内容也将进行调整和改版,新增(ROS Melodic Morenia)相关内容。 课程讲解和内容将淡化版本更迭带来的困惑,所有教程力争覆盖Melodic、Kinetic、Indigo和C++、Python、Java、Matlab。 ROS 1.0和ROS 2.0在基础概念和入...

0
0
发表了博客
2019/03/10 19:00

在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行

一.环境介绍 OS:ubuntu bionic 64bit 二.准备工作 2.1 安装必要的开发工具 sudo apt-get install git flex bison build-essential gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu pkg-config libglib2.0-dev libpixman-1-dev libssl-dev -y 2.2 编译qemu wget https://download.qemu.org/qemu-3.1.0.tar.xz -P ~/ tar xvJf ~/qemu-3.1.0.tar.xz cd ~/qemu-3.1.0 ./configure --target-list=aarch64-softmmu make -j4 sudo ma...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
20 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部