[笔记] OS X and iOS 内核开发】的更多相关文章

一.KEXT包的安全性说明 KEXT 程序包及其包含的所有文件及文件夹必须属于 root 用户(用户 id 是 0) KEXT 程序包及其包含的所有文件及文件夹必须属于 wheel 组(组 id 是 0) KEXT 程序包及其包含的所有文件夹的权限掩码必须是 0755 (rwxr-xr-x) KEXT 程序包中的所有文件的权限掩码必须是 0644 (rw-r--r--) 使用 xcode 编译内核扩展时,会设置出了用户与组以外的所有要求,我们只要通过如下命令来设置用户与组即可: sudo cho…
好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC OS X 另加一部iPhone手机,windows操作系统也可以开发,需要安装虚拟机,安装虚拟机请参考Windows 7下虚拟机安装MAC .笔者的开发硬件配置:MacBook Pro+iphone 3gs,手机有点落后了. 我们来看一下MAC下建立iOS开发环境: 首先进入官网https://developer.app…
blog.csdn.net/totogo2010/article/details/8205810  目录(?)[-] 第一课名称 MVC and Introduction to Objective-C 这课的主要内容有 iOS包括四层 内核 Core Sevices层 多媒体层 Cocoa Touch 层 介绍平台的组成 重点介绍下MVC 三大阵营 model  view  controller 有了这三个阵营剩下的就是他们之间管理和通信了 mvc群 objective-c语言的基本概念 Obj…
本文是我的 WWDC 2014 笔记 中的一篇,涉及的 Session 有 What's New in Cocoa Touch Building Adaptive Apps with UIKit What's New in Interface Builder View Controller Advancements in iOS 8 A Look Inside Presentation Controllers iOS 8 和 OS X 10.10 中一个被强调了多次的主题就是大一统,Apple…
linux最吸引我的地方之一就是它拥有一个高手云集的社区, 还有就是如果能=为linux内核中贡献代码, 一定是一件令人自豪的事情. 下面主要总结一些和贡献代码相关的主要内容. 加入社区 编码风格 提交补丁 总结 1. 加入社区 如果想为linux贡献代码, 那么加入linux社区是必须的, 加入了社区, 不仅可以及时内核的最新消息, 而且可以及时和社区内有经验的内核开发者交流经验. 同时也是提交代码和讨论代码的地方, 了解社区的规则, 融入社区环境之中, 才能更好的学习内核, 体会内核开发的乐…
1.OS X是整个操作系统的集体名称,而Darwin是其中的一个组件. 2.Darwin是操作系统的类UNIX核心,本身由内核.XNU和运行时组成. 3.uname指令:可以得到有关架构的详细信息以及Darwin的版本信息. 比如在Terminal中运行uname得到的结果是Darwin, 运行uname -a得到的信息:Darwin alex.local 16.4.0 Darwin Kernel Version 16.4.0: Thu Dec 22 22:53:21 PST 2016; roo…
在尝试内核开发之前,需要对内核有个整体的了解. 主要内容: 获取内核源码 内核源码的结构 编译内核的方法 内核开发的特点 1. 获取内核源码 内核是开源的,所有获取源码特别方便,参照以下的网址,可以通过git或者直接下载压缩好的源码包. http://www.kernel.org 2. 内核源码的结构 目录 说明 arch 特定体系结构的代码 block 块设备I/O层 crypo 加密API Documentation 内核源码文档 drivers 设备驱动程序 firmware 使用某些驱动…
[转载] iOS界面开发 发布于:2014-07-29 11:49阅读数:13399 iOS 8 和 OS X 10.10 中一个被强调了多次的主题就是大一统,Apple 希望通过 Hand-off 和各种体验的无缝切换和集成将用户黏在由 Apple 设备构成的生态圈中.而对开发者而言,今年除了 Swift 的一个大主 “”   阅读器 iOS 8WWDC 2014 (via:OneV's Den)   本文是我的 WWDC 2014 笔记 中的一篇,涉及的 Session 有 What's N…
简介 线程是在一个程序中并发的执行代码的方法之一.虽然有一些新的技术(operations, GCD)提供了更先进高效的并发实现,OS X和iOS同时也提供了创建和维护线程的接口. 这里将要介绍线程相关的包以及如何使用他们.同时也会介绍程序中多线程代码的同步. 关于线程开发 多年以来,电脑的最大处理速度受制于单个处理器的处理速度.当单核处理器开始达到他们的上线时,芯片市场转向了多核的设计,这样电脑就可以同时处理多个任务了.OS X在处理系统任务时使用了这些优势,你自己的程序也可以使用这些优势.…
ios搭建开发环境 好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC OS X 另加一部iPhone手机,windows操作系统也可以开发,需要安装虚拟机,安装虚拟机请参考Windows 7下虚拟机安装MAC .笔者的开发硬件配置:MacBook Pro+iphone 3gs,手机有点落后了. 我们来看一下MAC下建立iOS开发环境: 首先进入官网https://dev…
OS X 和iOS 中的多线程技术(上) 本文梳理了OS X 和iOS 系统中提供的多线程技术.并且对这些技术的使用给出了一些实用的建议. 多线程的目的:通过并发执行提高 CPU 的使用效率,进而提供程序运行效率. 1.线程和进程 进程 什么是进程 进程是指在计算机系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行中其专用且受保护的内存空间内 比如同时打开 Xcode .Safari ,系统就会分别启动两个进程 通过活动监视器可以查看Mac系统中所开启的进程 线程 什么是线程 一…
OS X 和iOS 中的多线程技术(下) 上篇文章中介绍了 pthread 和 NSThread 两种多线程的方式,本文将继续介绍 GCD 和 NSOperation 这两种方式.. 1.GCD 1.1 什么是GCD GCD 全称 Grand Central Dispatch,可译为"牛逼的中枢调度器" GCD 基于纯 C 语言,内部封装了强大的函数库 1.2 使用 GCD 有什么优势 GCD 是苹果公司为多核的并行运算提出的解决方案 GCD 会自动利用更多的CPU内核 (如 二核 ,…
iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch layer).下面是IOS系统结构图. iOS结构图 1.Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理.文件系统.电源管理以及一些其他的操作系统任务.它可以直接和硬件设备进行交互.作为app开发者不需要与这一层打交道. 2.Core Services是核心服务层,可以…
iOS移动开发周报-第19期 前言 欢迎国内的iOS同行或技术作者向我提交周报线索,线索可以是新闻.教程.开发工具或开源项目,将相关文章的简介和链接在微博上发布并 @唐巧_boy 即可. [摘要]:本期iOS移动开发周报带来如下内容:苹果第三季度财报公布,iOS界面开发的大一统,Flipboard开源的FLEX工具等. 新闻 <净利润达77亿美元!苹果第三季度财报公布>:苹果发布了截至6月28日的2014财年第三季度财报.从财报中我们可以看到,苹果在第三财季营收374亿美元,同比增长6%:净利…
工作笔记:移动web页面前端开发总结 移动web在当今的发展速度是一日千里,作为移动领域的门外汉,在这段时间的接触后,发现前端开发这一块做一个小小的总结. 1.四大浏览器内核 1.Trident (IE浏览器) :因为在早期IE占有大量的市场份额,所以以前有很多网页是根据这个Trident的标准来编写的,但是实际上这个内核对真正的网页标准支持不是很好,同时存在许多安全Bug. 2.Gecko:( FireFox )优点就是功能强大.丰富,可以支持很多复杂网页效果和浏览器扩展接口,缺点是消耗很多的…
中文 iOS/Mac 开发博客列表 博客地址 RSS地址 OneV's Den http://onevcat.com/atom.xml 一只魔法师的工坊 http://blog.ibireme.com/feed/ 破船之家 http://beyondvincent.com/atom.xml NSHipster http://nshipster.cn/feed.xml Limboy 无网不剩 http://feeds.feedburner.com/lzyy 唐巧的技术博客 http://blog.…
转自https://github.com/tangqiaoboy/iOSBlogCN 中文 iOS/Mac 开发博客列表 本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息. 本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新. 本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本.这里有导入教程. 博客地址 RSS地址 OneV's Den http…
在行--专家付费咨询 杂项 App Release Checklist—iOS App发布清单. Hey Focus—帮助你专注于一个任务. Objective Cloud—Objective C App云端服务. Thermal—核心数据编辑器. Big Papoo—替代安装Adhoc App. Tweriod—分析你的推特和followers的推特找出最佳发布时间. Helpscout—用户邮件处理支持. Hipmob—应用内实时聊天. Flat Mobile App Design in P…
驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一. UVC linux driver: UVC linux 驱动 需要在编译内核的时候选上 配置内核 Device…
首先了解了表视图的组成.表视图类的构成.表视图的分类以及表视图的两个重要协议(委托协议和数据源协议),对表视图有了一个整体上的认识.接下来我们掌握了如何实现简单表视图和分节表视图,以及表视图中索引.搜索栏.分组的使用.然后我们学习了如何对表视图单元格进行删除.插入.移动等操作.最后本章向大家介绍了表视图UI设计模式方面的内容. 序号 技术点 1 表视图-1-表视图介绍 2 表视图-2-简单表视图 3 表视图-3-简单表视图下 4 表视图-4-自定义单元格 5 表视图-5-搜索栏-1 6 表视图-…
 浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从系统自带的播放器说起,一.我们可以直接播放视频,看到效果,不然搞了半天还播放不了视频,会让大家失去兴趣.二.其实对于很多需求来说,系统的播放器就能够胜任.简单介绍下 1.MPMoviePlayerController 在iOS中播放视频可以使用MPMoviePlayerController类来完成,…
内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态. 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态. 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来捕获并显示. 而内核是直接和硬件交互的,内核出错之后整个系统就无法正常运行了,所以要想熟练的进行内核调试, 首先要熟悉内核已经给我们提供的工具,然后实实在在的去做一些内核功能的开发,在开发的过程中不断熟悉内核代码,增加内核调试的经验. 主要内容: 内核调试的难点 内核调试的工具和方法 总结 1. 内…
嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核锁? Linux的内核锁主要是自旋锁和信号量. 自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新可用.要是锁未被争用,请求它的执行线程便能立刻得到它并且继续进行.自旋锁可以在任何时刻防止多于一个的执行…
iOS应用开发:什么是ARC? 博客分类: Phone / IOS / Objective-C / Swift   ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting).简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了. 该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能.简单地理解ARC,就是…
线程管理 iOS和OS X中每一个进程(或程序)由一个或多个线程组成.程序由一个运行main方法的线程开始,中间可以产生其他线程来执行一些指定的功能. 当程序产生一个新线程后,这个线程在程序进程空间内变为一个独立的实体.每个线程有它自己的执行栈.线程可以和其他线程通讯,执行I/O操作,以及其他你想要它做的事.由于他们在同一个进程中,所有一个程序的所有线程共享虚拟内容并且他们和进程有同样的访问权限. 线程消耗 多线程会多消耗内存和性能.每个线程都需要在系统内核和程序的内存空间上申请内存.用来管理和…
本文主要介绍在 MacOS 上使用 qemu 搭建 Linux Kernel 的开发环境.(在开始之前需要注意的是,本文中的 Linux 开发环境是一个远程服务器,而 qemu 被安装在本地的 MacOS 上.通常并不需要这样折腾,直接将 qemu 安装在 Linux 中更加方便,而且 qemu 是可以 -nographic 无图形界面运行的.) 1. 为什么需要 qemu? qemu 是一个硬件虚拟化程序( hypervisor that performs hardware virtualiz…
原文:浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从系统自带的播放器说起,一.我们可以直接播放视频,看到效果,不然搞了半天还播放不了视频,会让大家失去兴趣.二.其实对于很多需求来说,系统的播放器就能够胜任.简单介绍下 1.MPMoviePlayerController 在iOS中播放视频可以使用MPMoviePlayerController类来完…
一. 关于IOS的开发发展历史: 百度一下,关于这方面的详细资料有很多,在这里就不复制粘贴占用篇幅了. 二. 关于个人搭建IOS开发环境的体验: 本人用的是华硕电脑,window7的操作系统,本来为了方便,打算体验一下安卓的开发环境就好了,但是,在舍友(是的,就是这个人@Mr.noboby)的怂恿下, 为了感受苹果操作系统的强大之处,伟大的作死之旅开始了: 首先,安装虚拟机是伟大旅程的第一步,根据百度大大的推荐,选择安装 VMware 10  : 然后,接下来这的一步是最最重要的,没有这一步我们…
承上篇,本篇文章主要介绍iOS视频播放需要用到的类.以及他们的使用场景和开发中遇到的问题. MPMoviePlayerViewController MP简介 iOS提供MPMoviePlayerController类进行播放,支持流媒体和文件播放.MPMoviePlayerController足够强大,几乎不用写几行代码就能完成一个播放器.视频内容会渲染到他的View上,这个View可以移动.缩放,放在任何用户想放的地方,而在缩放移动的过程中视频都可以正常的播放,完全不受影响. 通常我们在ipa…
对IOS开发平台一直抱有很大兴趣,正好通过这个机会好好了解一下IOS的开发历程! 通过一些查阅,我了解到IOS的开发平台主要是依靠Xcode软件来编写程序,同时又需要在MAC OS X的环境下运行,windows系统并不支持大多数ios文件.所以第一步,需要先创建一个MAC OS X系统的虚拟机. 1.虚拟机的创建:刚好我的电脑里之前有VMware 10.0的版本,所以省去的VM的下载和安装 然而在创建MAC系统的虚拟机时,我的VM版本虚拟机并没有现成的MAC OS X系统,本来打算看能否下一个…