操作系统
文章平均质量分 72
OS
高桐@BILL
校园到职场,做过室内设计;WEB前后端,APP,嵌入式,LinuxAndroid,ChromiumOS,YunOS,智舱OS等开发。
行业遍及互联网,手机,IOT,汽车。
合作品牌如华为,中兴,OV,小米,三星,谷歌,联想,诺基亚,魅族,上汽,大众,腾讯,百度,网易,LG、HTC,沃达丰,AT&T,中移动,中国电信。
职业规划为操作系统方向,涉及不同框架、方案架构设计开发,可维可测,全维度的工程化;
目前主要涉及Android产品从App、FWK、HAL、Kernel、QNX全链路的垂直工程化,以及跨域产/研/测/项目/互联网产品的横向工程化;
展开
-
Ubuntu20.04下使用cpolar配置公网域名访问个人电脑
常常需要使用代码搜索引擎搭建代码搜索服务器,并为开源代码如AOSP创建索引,以方便查找,提高编码效率。但是往往由于公司网络限制,无法在公司内网搭建服务器;而在个人电脑上搭建的服务器又无法在公司内网访问。......原创 2022-06-14 23:00:24 · 1238 阅读 · 0 评论 -
基于VirtualBox的主机与虚拟机之间数据传输方法
写这个"基于VirtualBox的主机与虚拟机之间数据传输方法"笔记,是为了后面自定义linuxos时,通过这种ssh来达到主机和虚拟机的通信,以便进行简单的数据传输,进行调试。如日志文件等信息。原创 2022-05-01 11:52:14 · 6949 阅读 · 1 评论 -
Ubuntu编译对应版本的内核源码
一、 更新sources.listdeb-src http://archive.ubuntu.com/ubuntu bionic maindeb-src http://archive.ubuntu.com/ubuntu bionic-updates main二、 安装必须的包sudo apt-get build-dep linux linux-image-$(uname -r)三、 安装必须工具链sudoapt-get install libncurses-dev gawk.翻译 2022-04-01 12:55:01 · 1554 阅读 · 0 评论 -
一起来感受下eventfd的魅力(一、eventfd使用介绍)
写在前面 #include <sys/eventfd.h> int eventfd(unsigned int initval, int flags);eventfd()函数可以创建一个被用户空间应用程序作为“等待/通知”机制使用的eventfd对象,或被内核用于通知用户空间应用程序事件消息。eventfd对象包含一个uint64_t类型计数器,由内核进行维护。该计数器通过参数interval进行初始化。eventfd()函数返回一个文件描述符,这个fd用原创 2022-03-31 10:56:00 · 4724 阅读 · 1 评论 -
基于共享内存SHM下的内存可见性问题踩坑
踩坑类BLOG,往往采用“问题背景+问题现象+问题思考+问题解决”的思路来分享,以针对自己在开发过程中所遇到的各类问题;一、问题背景假设有这样一个使用场景,需要多进程之间进行数据通信,在多进程写的Writer端加文件锁,那么由于互斥的关系,在某一刻实际上只有一个进程在对SHM内存进行操作。而对多进程读的Reader端加文件锁,相同地,在同一时刻实际上也只有一个进程对SHM内存进行操作。在不做限制的情况下,Writer端和Reader端以非常高的频率对该SHM内存进行操作。我们假设,Writer端原创 2022-02-22 15:12:16 · 403 阅读 · 0 评论 -
从Linux Kernel源码解开RT进程优先于CFS进程调度的谜团
写在前面:改代码分析,基于Android的kernel源码。通过该源码,我们来了解下Kernel在进行进程调度的时候,RT进程为何优于CFS进程调度。一、进程调度流程代码路径:/kernel/sched/core.c相关进程调度流程如下:二、代码梳理2.1 调度器函数/kernel/sched/core.c static void __sched __schedule(void)2766{2767 struct task_struct *prev,...原创 2022-02-21 16:06:22 · 1697 阅读 · 0 评论 -
解决:未找到setenv命令
在Ubuntu12.04中配置python环境变量:setenv PATH "$PATH:/usr/local/bin/python",提示未找到setenv命令。为什么呢?这是因为shell版本问题!Bourne Shell(即sh)是UNIX最初使用的shell,平且在每种UNIX上都可以使用。BourneShell在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他原创 2014-07-25 15:04:24 · 25756 阅读 · 0 评论 -
ubuntu文件夹右键没有共享选项
在配置samba的时候,不知道出了什么错误,我就删除了samba,之后在ubuntu文件上按右键就没有共享的选项了,这样每次配置都得进samba麻烦。我重新安装了samba也不行,郁闷!解决:1、重新安装:samba2、安装:nautilus-share我的如下:linux@office:~$ sudo apt-get installnautil转载 2014-06-16 14:35:57 · 4420 阅读 · 0 评论 -
Ubuntu安装samba的问题
问题:root@ubuntu:~# apt-get install samba正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件包尚未被创建或是它们已被从新到(I转载 2014-06-16 14:29:53 · 1354 阅读 · 0 评论 -
ubuntu添加共享出错
早上设置一个共享目录share。右键共享,之后系统自动安装软件samba,之后共享出错:“netusershare”返回错误255:netusershare:cannot openusersharedirectory /var/lib/samba/usershares. Error 权限不够You do not have permission to create转载 2014-06-16 14:45:29 · 7588 阅读 · 0 评论 -
Ubuntu安装软件提示”需要安装不能信任的软件包”解决办法
用 Ubuntu 安装输入法软件包时提示“需要安装不能信任的软件包”,“这个动作需要从没有授权的软件源来安装软件包”,赋予权限执行仍然无法安装,上网查了一下,只需要升级一下软件源列表(在终端下执行 sudo apt-get update ,需要保持联网)再执行安装即OK转载 2014-06-17 11:06:28 · 14944 阅读 · 1 评论 -
如何在ubuntu 12.04 中安装经典的 GNOME桌面
这次介绍的是如何在ubuntu 12.04 中安装经典的 GNOME桌面,默认的 Ubuntu 12.04 默认unity桌面,一些用户不喜欢 Unity 桌面,所以想找回昔日的经典Gnome桌面。 安装方法,打开终端,输入命令: sudo apt-get install gnome-session-fallback 或者: sudo apt-get install gno转载 2014-06-17 11:32:03 · 989 阅读 · 0 评论 -
解决:Android编译源码根目录下/system/vold后,通过push命令将编译生成的vold文件push至system/bin下无法正常开机
这段时间由于工作需要,在对android根目录下/system/vold进行编译的时候,将原创 2014-08-15 15:00:57 · 4738 阅读 · 0 评论 -
Linux 标准目录结构
初学Linux,首先需要弄清Linux 标准目录结构/root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件ftp --- 用户所有服务httpdsambauser1user2bin --- 系统启动时需要的执行文件(二进制)sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有转载 2014-09-12 16:05:26 · 933 阅读 · 0 评论 -
CMMI的5个级别
为了帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件,美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制了CMMI(软件能力成熟度模型集成)1. 初始级软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。2.可管理级建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要转载 2014-06-12 09:14:25 · 4158 阅读 · 0 评论 -
Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题:1. 安装jdk我下载的jdk是bin格式的,直接运行解压,得到一个文件夹。这个文件夹作为jdk的安装目录,可以拷贝到任意目录。然后配置环境变量~/.bashrc,在最后添加:export JAVA_HOME=export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_H转载 2014-06-16 20:45:51 · 4754 阅读 · 0 评论 -
"This connection is untrusted" - Firefox error message
"This connection is untrusted" - Firefox error messageOn this page:Error MessagesSolutionInstall the MIT Certificate AuthorityIf the error persists after installing the MIT Certificate A转载 2014-07-07 13:30:58 · 2390 阅读 · 0 评论 -
用virtualbox虚拟机无法上网的解决方法
用virtualbox虚拟机无法上网的解决方法 首先保证你的本机是可以正常上网的 启动虚拟机系统前,选择安装好的虚拟PC,点击“设置”按钮,然后切到“网络”项,网络连接芯片这里 分别开启4个网络接口,对应选择四个不同的网卡芯片 连接到——全部选NAT然后确定,启动虚拟PC,在开始界面的菜单点“设备”---“网络适配器”,把可用的打钩即可 虚拟机里的系统是不用转载 2014-06-05 16:12:22 · 56407 阅读 · 3 评论 -
Ubuntu12.04下使用virtualbox4.3.12 amd64安装XP系统教程
首先第一步打开已安装好的Virtualbox4.3.12原创 2014-06-05 15:15:36 · 2708 阅读 · 0 评论 -
Ubuntu下安装virtualbox失败解决方案
安装失败的截图:因此使用常规方法:对依赖的两个包进行获取安装,依旧失败:因此解决方法为在官网上下载相对应版本的virtualbox软件;下载地址为:https://www.virtualbox.org/wiki/Linux_Downloads原创 2014-06-05 14:05:10 · 4521 阅读 · 0 评论 -
安装 Repo
首先确保在当前用户的主目录下创建一个/bin目录(如果没有的话),然后把它(~/bin)加到PATH环境变量中$ mkdir ~/bin$ PATH=~/bin:$PATH也可以将 export PATH=~/bin:$PATH 加到 ~/.bashrc可永久保存PATH环境变量。下载 repo 到 ~/bin。下载地址:\\192.167.100.225转载 2014-06-11 20:17:05 · 20586 阅读 · 1 评论 -
配置thunderbirdmail
添加帐号打开Edit→Account Settings ,选择左下放的 “Account actions”→“Add Mail Account”.在弹出框中填入帐号密码的信息。点击“继续”后,选择pop3.再确定,会弹出一个警告框,勾选并确认。帐号添加成功。再打开Edit→Account Settings ,会看到自己添加的帐号。选择“S转载 2014-06-11 20:17:46 · 1489 阅读 · 0 评论 -
android编译环境安装
Android 编译环境安装安装 Java 6安装 Java 6安装依赖包 (Ubuntu 12.04)$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \转载 2014-06-11 20:18:35 · 2114 阅读 · 0 评论 -
右键里面添加一个“打开终端”的菜单
安装一个包,即可在右键里面添加一个“打开终端”的菜单。sudo apt-get install nautilus-open-terminal原创 2014-06-13 10:47:55 · 1680 阅读 · 0 评论 -
Ubuntu 升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)
VisualBox之所以在Linux上比传统的VMware快得多,关键一点就是它和Linux内核的结合比较紧密,这也是开源的优点。不过Linux内核更新很频繁,每次更新内核后启动VirtualBox都会提示:VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or转载 2014-06-13 11:10:30 · 1065 阅读 · 0 评论 -
安装 Java 6
从服务器下载 Linux 64位 jdk 到本地。下载地址:\\192.167.100.225\share\Tool\JAVA\jdk-6u34-linux-x64.bin给安装文件添加执行权限$ chmod +x jdk-6u34-linux-x64.bin安装 jdk$ mkdir -p /opt/jdk6$ cp ./jdk-6u34转载 2014-06-11 20:16:29 · 838 阅读 · 0 评论 -
Ubuntu 12.04硬盘安装教程
从服务器下载Ubuntu 12.04光盘镜像文件到 C 盘。下载地址:\\192.167.100.225\share\Tool\Ubuntu\ubuntu-12.04.1-desktop-amd64.iso下载好后用解压工具打开。打开后进入”casper”文件来,解压”vmlinuz”和”initrd.lz”文件到 C 盘。从服务器下载grub压缩包到 C 盘。下载地址:\\192转载 2014-06-11 20:19:10 · 1800 阅读 · 0 评论 -
ubuntu下的烧录工具
Flash Image Tool1.0为了ubuntu下能够方便地烧录版本,我开发了Flash Image Tool.现在服务器(192.167.100.225)上有一份它的拷贝share/Tool/ubuntu下的烧录工具。Flash Image Tool采用java开发的,界面用了 swing,目前它能够支持三个平台的烧录MSM8625Q,MSM8960和MSM8928,如果将来有新的转载 2014-06-12 09:13:44 · 2148 阅读 · 0 评论 -
Ubuntu 环境变量及 ADB 配置
Ubuntu Linux 环境变量同Windows一样,Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。用户环境变量通常被存储在下面的文件中:~/.profile~/.bash_profile 或者 ~./bash_login~/.bashrc上述文件在Ub转载 2014-06-13 14:33:43 · 978 阅读 · 0 评论 -
Android 实用工具Hierarchy Viewer实战
【IT168技术 】在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开发者设计,调试和调整界面时,提高用户的开发效率。本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。本文的读者对象为具备初步Android知识的用户。转载 2014-06-13 15:10:43 · 849 阅读 · 0 评论 -
解决:Ubuntu12.04下使用ping命令返回ping:icmp open socket: Operation not permitted的解决
ping命令在运行中采用了ICMP协议,需要发送ICMP报文。但是只有root用户才能建立ICMP报文。而正常情况下,ping命令的权限应为-rwsr-xr-x,即带有suid的文件,一旦该权限被修改,则普通用户无法正常使用该命令。 解决方案: 使用root用户执行“chmod u+s /bin/ping”。原创 2014-07-25 15:38:43 · 22307 阅读 · 2 评论 -
VM VirtualBox虚拟机与物理主机之间的复制
物理主机:系统:Ubuntu 11.04 X86_64虚拟机:系统:Windows XP Pack3点击虚拟机的 设备->安装增强功能即可安装后两系统之间的复制,粘贴可正常使用,如同一系统般同时,共享也不用每次映射了,自己就弄好了...转载 2014-06-05 16:19:20 · 2144 阅读 · 0 评论