`
daojin
  • 浏览: 690080 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android之linux基础教学之八 内核同步介绍

 
阅读更多

1.第一个问题:为什么要同步?         

    如果这两件事情操作了共同的数据,就需要干完一件,接着干另一件。

2.第二个问题:读和写?       

          数据是一整块不可分割的东西。在同步的概念里面,写数据和读数据是不同的。两个进程可以同时读取数据,但是两个进程不能同时写,或者一个读,一个写。

3.同步的粒度 :大还是小?     

     同步的粒度也是一个很重要的概念,如果粒度过大,则造成瓶颈,粒度过小则造成了系统的复杂性。这是一个权衡的目标。但是一开始就定义一个大粒度的同步机制,然后再逐步减小粒度是个不错的选择。实际上linux也是这么做的。

4.同步和同时执行 ?      

       同步和同时执行是两种概念。再单核处理器上,同时执行是不可能的,但是还是会有同步的问题。

5.同步何时发生?

          1.中断。

       2.进程调度。

       3.多CPU的同时执行。

6.一些建议

      1.锁的是数据而不是代码。

      2.只有局部变量和只在一个进程中使用的变量不需要锁。

7.死锁。

      死锁产生的原因是两个进程在互相等待。下面的经验很有用,如果有N个锁,请以同样的顺序获取这些锁。

8.一个很好的练习。

      生产者,消费者模型。采用生产者“推”或者 消费者“拉”数据的方式,也许对同步就有了更深刻的认识。

      

分享到:
评论

相关推荐

    Android版本与Linux内核的关系

    这些对应关系体现了Android操作系统在其发展过程中,对于基础层——Linux内核的选择和发展策略。值得注意的是,尽管这些版本之间存在着一定的对应关系,但随着Android的发展,其内核也经历了多次的更新和优化。 ###...

    [14本经典Android开发教程]-8-Linux内核阅读心得体会

    [14本经典Android开发教程] 8 Linux内核阅读心得体会 读核感悟 2 读核感悟 Linux内核启动 内核的生成 2 读核感悟 Linux内核启动 从hello world说起 3 读核感悟 Linux内核启动 BIOS 5 读核感悟 Linux内核启动 setup...

    Android and Linux Kernel

    综上所述,该文档涉及到的关键知识点涵盖了从Linux内核到Android操作系统各层次的基础理论和实践,适合于初学者作为入门材料,也适合于有经验的开发者进行深入学习。由于这些内容非常重要,它们为学习者提供了关于...

    android内核剖析.pdf

    本书的重点在于Android GUI框架的内部原理,而非传统的Linux内核。这表明作者关注的是Android作为一款图形操作系统的独特之处。 - **GUI框架**:深入探讨Android的GUI设计原则、实现机制及其与底层系统资源的交互...

    Android对Linux内核的改动你知道多少?.txt

    Android,作为全球最广泛使用的移动设备操作系统之一,基于Linux内核进行深度定制与优化,以满足其特定的需求。这些改动不仅涉及性能优化、硬件支持,还包括安全增强、电源管理等方面,确保Android在移动设备上稳定...

    Android内核的简单分析 Android 内核

    通过对Android内核的简单分析,我们可以看出Android内核是在标准Linux内核的基础上进行了大量定制和优化。这些改进不仅提高了系统的性能和稳定性,还为Android设备提供了更多的功能和支持。对于开发者来说,深入理解...

    在Ubuntu下载、编译Android内核源码

    这意味着你已经有了一个完整的Android源代码目录,这个目录包含了构建Android系统所需的所有基础组件,但并不包括Linux内核源代码。 接下来,你需要获取Linux内核源代码。通常,Android系统使用的是定制的Linux内核...

    Linux Kernel and Android 休眠与唤醒

    本文将详细介绍 Linux 中休眠/唤醒是如何工作的,以及 Android 中如何把这部分和 Linux 的机制联系起来的。 1. Linux 休眠机制 Linux 中的休眠机制主要分三个主要的步骤: * 冻结用户态进程和内核态任务 * 调用...

    Linux Kernel and Android 休眠与唤醒(中文版)

    总结来说,Linux内核和Android在休眠与唤醒方面都采用了各自的方法来优化电源管理,延长电池寿命。Android在Linux的基础上添加了特定的电源管理策略,以满足移动设备的特殊需求。了解这些机制对于开发高效能、低功耗...

    Android移动应用基础教程—习题答案.docx

    #### 第1章 Android基础入门 - **Android体系结构四层概述**: - **应用程序层**:这一层主要包括用户界面应用,例如联系人列表、电话应用等,这些都是安装在设备上的软件应用。 - **应用程序框架层**:包含了一...

    android平台内核分析

    Linux内核提供了进程管理、内存管理、设备驱动等基础服务,是Android系统运行的基础。了解Linux内核如何与Android系统交互,对于优化应用性能和解决系统问题至关重要。 1. **进程管理**:Android内核管理着所有运行...

    嵌入式Linux视频教程全套2011新版-国嵌嵌入式培训下载地址

    - **2440开发板介绍**: 详细介绍用于教学的友善之臂mini2440开发板的功能和特性。 - **软硬件环境搭建**: 教授如何设置所需的软件和硬件环境以支持后续的学习。 - **第2天(开发板快乐体验)** - **开发板系统...

    Linux_内核完全注释

    9. **Android开发**:虽然《android开发.PDF》和《android开发板.doc》不直接关注Linux内核,但Android是基于Linux内核的操作系统,它们可能涵盖Android系统的架构、应用开发和硬件平台适配等内容。 学习这些知识...

    Android内核的简单分析

    与标准Linux内核相比,Android内核进行了多项定制,以适应移动设备的特殊需求,如电池管理、触摸屏支持、相机接口等。 #### 获取与分析Android源代码 要深入分析Android内核,首先需获取其源代码。可以通过官方...

    Android内核的简单分析+Android+内核

    由于所有源代码的完全开放,这为开发者们提供了宝贵的资源,使得对Android内核进行深入分析成为可能,并为将来向其他平台的移植奠定了基础。 #### 二、获取Android源代码 1. **官方下载方式**:通过Android官方...

    嵌入式LINUX内核驱动深入班(上).doc

    嵌入式Linux内核驱动是Linux系统开发中的一个重要领域,主要关注如何使硬件设备与操作系统内核进行有效通信,以实现设备的控制和管理。在嵌入式领域,由于资源有限,内核驱动的设计和优化显得尤为重要。在这个深入班...

    Android代码-开源文件同步安卓版

    Android是一种基于Linux内核的操作系统,主要应用于智能手机和平板电脑。开发者通常使用Java或Kotlin语言进行Android应用开发,使用Android Studio作为集成开发环境(IDE)。Android SDK(软件开发工具包)包含了...

    Ubuntu中为Android系统上编写Linux内核驱动程序实现方法

    在Ubuntu环境下为Android系统编写Linux内核驱动程序是一项复杂但重要的任务,这涉及到对Linux内核、Android系统架构以及硬件接口的深入理解。本篇将详细介绍如何在Ubuntu中为Android设备构建内核驱动,以便更好地...

    Linux运维从入门到高级Linux全套案例教程

    随着移动设备的普及,Linux内核已成为Android操作系统的核心。此外,企业级应用如大数据、云存储和虚拟化技术也多基于Linux系统。未来的5到10年内,Linux专业人才需求预估将达到120万以上。在中国,软件行业的从业...

Global site tag (gtag.js) - Google Analytics