关于操作系统:android-os-基础

6次阅读

共计 845 个字符,预计需要花费 3 分钟才能阅读完成。

冯诺依曼结构

1> 采纳二进制, 摈弃十进制
2> 程序存储

|================================
|               内存储器           | 
|     运算器              控制器   |
|                                 |
|    输出设施             输出设备 |
|=================================|

简化为: CPU(中央处理器) + 内存储器 + I/O 设施
1、操作系统必须针对 “ 硬件 ” 来开发, 即 某些架构, arm/x86 等等
2、操作系统提供可用的 人机交互 界面
3、操作系统 反对用户 编写和安装程序

个别 操作系统两大次要内容:
1> 面向上层: 治理硬件
2> 面向下层: 提供人机交互、为第三方程序研发提供 API

定义:

计算机操作系统是 负责管理系统硬件, 并为下层利用提供稳固编程接口 和 人机交互界面的 软件汇合

其中 要钻研的 Andoird os 是基于 Linux kernel

过程间通信 IPC

指 运行在 不同过程 (无论是否在 1 台机器上) 中的若干线程的 数据交互

实现形式: 消息传递、管道、socket、、、、共享内存、文件共享

[1]共享内存 shared memery

因为两个过程能够间接共享拜访 同一块 内存区域, 缩小了数据的复制操作, 因此速度较快
实现共享内存:
1> 创立共享内存区
        // linux 中用 shmget 函数实现, 生成的 共享内存快将 与特定的某个 key (shmget 的第 1 个参数) 绑定
2> 映射共享内存区
       // 把申请的共享内存映射到过程的空间能力进一步操作,  linux 下用  shmat 实现
3> 拜访共享内存区
     // 过程 1 创立了内存共享区, 过程 2 拜访: 利用过程 1 创立时 的 key,  过程 2 shmget 传入同 1 个 key 值
      // 而后 过程 2 执行 shmat 将内存映射到它的空间

but  共享内存没有 同步的机制

4> 利用该区域 进行信息替换
5> 撤销内存映射区
    // linux 中 用 shmdt 实现

6> 删除共享内存区
    // linux 下用  shctl  实现

[2] 管道 pipe

g

[3] Socket

IPC  针对单机内的过程间通信,
Android 中的 IPC 机制 是 binder,其次是  UDS

正文完
 0