amobbs.com 阿莫电子技术论坛

标题: [交流][下载]傻孩子新书Demo下载 [打印本页]

作者: Gorgon_Meducer    时间: 2015-8-31 22:07
标题: [交流][下载]傻孩子新书Demo下载
本帖最后由 Gorgon_Meducer 于 2015-9-9 09:08 编辑


写在前面的话


    这是一本描述多任务程序设计思想的书。拖延了很久,放了一些内容,希望大家多多反馈,修改和追加的余地
很大。

    我对大家只有一个要求(虽然脸皮很厚 ),看完以后请务必把你的感想按照章节为单位,以下面的格式反馈给我:

    郑重声明:这本书不是论坛里面原本企划的那本书——那本书仍然在编纂中……这是另外一本书……

    没有操作系统基础,或者对操作系统移植不感兴趣的,请从第三章开始阅读



章节名称:
第一遍阅读看懂了【】%
    具体觉得不太好懂的地方是:
    读懂了什么?
    无理由总体印象是什么?
    对你有没有用?(什么地方有用)
    对你帮助不大的地方是什么?
    让你有没有继续读下去的欲望?
    其它还有看法:

第二遍阅读看懂了【】%
     仍然感觉不好懂的地方是?
     ……

    以上 。



我觉得我有必要描述一下问题的脉络,而这个脉络也是这本书的推理思路:

为了实现多任务,引入了并发,
并发的实现,不可避免的引入了上下文切换
上下文切换,引入了抢占和合作的调度方式
微观上抢占的引入导致了数据访问的原子性问题
针对数据访问的原子性被破坏的后果进行讨论,引入了数据访问的完整性问题
结论是,如果数据访问的完整性被破坏,则整个系统的功能性就得到了破坏,所以必须保证数据访问的完整性,这是强制要求
为了保护数据访问的完整性,就要保证数据访问的原子性
保护数据访问的原子性有可能影响到系统的实时性
为了在确保数据访问的完整性基础上(保证功能的基础上),确保实时性,就必须研究如何一石二鸟,因此,我们需要建立一个模型,从任务之间的原子性关系出发,寻找保证既不影响原子性,又能保证实时性的出路
这个出路就是以小换大策略,依据这个策略,要确保任务的实时性,就要借助多任务通信的基本工具(这些工具就是『小』),通过有效的多任务合理设计,梳理好资源在时间上的关系才能实现

任务间资源在时间上的关系就是数据流,微观上就是生产者和消费者关系

最终整个问题化简为如何根据应用需求,设计数据流,并在微观上正确配置处理数据流的任务之间的生产者和消费者关系——既保证功能性,又保证实时性。

最后,如何根据应用来设计数据流就成了解决这个问题的最后一块砖。


    谢谢大家


相关下载

[attach]286565[/attach]
作者: whatcanitbe    时间: 2015-8-31 22:09
抢个沙发慢慢看
作者: xuyapple    时间: 2015-8-31 22:13
抢个地板~
新书终于出来了,恭喜!!!
作者: ppdd    时间: 2015-8-31 22:16
占个座~~~
作者: yue6315018    时间: 2015-8-31 22:16
顶顶顶。看过会来反馈的
作者: tanek    时间: 2015-8-31 22:17
此贴必火,老师威武。老师大业必成
作者: dongfo    时间: 2015-8-31 22:20
大赞老师,一定要看
作者: gujiamao_love    时间: 2015-8-31 22:21
出差顶一顶
作者: kxb    时间: 2015-8-31 22:22
恭喜恭喜,什么时候出版啊
作者: gallop020142    时间: 2015-8-31 22:22
谢谢楼主,拜读一下
作者: dengterry    时间: 2015-8-31 22:23
大牛的技术总结 MARK下
作者: Shaopus    时间: 2015-8-31 22:23
学习起来,膜拜下。
作者: slzm40    时间: 2015-8-31 22:23
抢个位置,下了明天开始看
作者: y574924080    时间: 2015-8-31 22:24
老师文成武德,千秋萬載,一統江湖
作者: 风轻云淡    时间: 2015-8-31 22:25
赞zan一yi个ge
作者: yikuang    时间: 2015-8-31 22:26
哈哈!等得好辛苦
作者: fancyboy    时间: 2015-8-31 22:28
老师威武!
作者: wei669    时间: 2015-8-31 22:29
专业,威武
作者: atg525    时间: 2015-8-31 22:30
跟着大牛学技术
作者: lw2012    时间: 2015-8-31 22:38
终于快出来了, 等了好几年.....
作者: bsz84    时间: 2015-8-31 22:41
认真学习。
作者: qingniao    时间: 2015-8-31 22:44
要是出版了我肯定会买一本的
作者: peizhiqi123456    时间: 2015-8-31 22:45
膜拜一下
作者: foxpro2005    时间: 2015-8-31 22:45
本帖最后由 foxpro2005 于 2015-8-31 22:52 编辑

谢谢, 先学习一下

怎么第一眼看到的是 RT-Thread 权威指南, 呵呵..
作者: trey21ic    时间: 2015-8-31 22:46
先看看,谢谢
作者: Gorgon_Meducer    时间: 2015-8-31 22:47
水军慎重~
作者: cgbabc    时间: 2015-8-31 22:49
终于来了!
作者: tanek    时间: 2015-8-31 22:49
Gorgon_Meducer 发表于 2015-8-31 22:47
水军慎重~

粉丝太多,没办法,哈哈
作者: bsz84    时间: 2015-8-31 22:52
我下载了几次,每次打开出错????
作者: 孤独的凯    时间: 2015-8-31 22:52
下来看看
作者: 小小菜    时间: 2015-8-31 22:55
谢谢楼主
作者: t35720864    时间: 2015-8-31 22:55
下载来膜拜膜拜!
作者: lovely-teddy    时间: 2015-8-31 23:00
不会是英文的吧
作者: mikewang011    时间: 2015-8-31 23:00
下载阅读一番,顶
作者: agency    时间: 2015-8-31 23:02
谢谢楼主,拜读一下
作者: wlksosfytz    时间: 2015-8-31 23:04
谢谢分享!!!
作者: zt2012    时间: 2015-8-31 23:04
终于出了,拜读,必火。
作者: Gorgon_Meducer    时间: 2015-8-31 23:12
zt2012 发表于 2015-8-31 23:04
终于出了,拜读,必火。

只是Demo……
作者: sonna    时间: 2015-8-31 23:15
不水也没办法,貌似还没上传内容吧
作者: Gorgon_Meducer    时间: 2015-8-31 23:15
sonna 发表于 2015-8-31 23:15
不水也没办法,貌似还没上传内容吧

已经可以下载了啊……
作者: xxc007    时间: 2015-8-31 23:23
大师佳作
作者: end2000    时间: 2015-8-31 23:33
谢谢!先下载学习了。
作者: 3DA502    时间: 2015-8-31 23:41
拜读一下   新书一定买买买
作者: ijlc1314    时间: 2015-9-1 00:03
等出纸版必买,睡下了再爬上来下载
作者: doujiang    时间: 2015-9-1 01:06
支持傻孩子,这段时间不论多忙也得把这个看完,然后反馈
作者: qq开始学单片机    时间: 2015-9-1 01:48
本帖最后由 qq开始学单片机 于 2015-9-1 01:50 编辑

什么是“什么是任务”
什么是“什么是多任务”
另有深意还是?我理解成,上下文,任务,多任务的概念!

在开始读的时候,本来带着什么是上下文的问题去读下去,然后发现文章中介绍内核,说得很深奥的样子,先不管,看下去再说,
IF-ID-EX---》

然后是程序分支,这跟上下文有什么关系呢,不管,继续看下去!
好深奥,基础低的我完全看不懂~硬头皮继续看~完全不明白说什么,中断和跳转~不懂,先跳~
函数调用,发现又深了~因为上一节没认真看吗~不管,继续~
算了,直接跳到1.5好了,我依然带着上下文是什么的问题看下去~
哎哟,这节好像能读懂,任务x---》共享内存区《---任务Y,分配内存的规矩有很多,先到先得(轮询),尊老爱幼(优先级跳转)
第三方维护是什么呢(内核?中断?噢~原来是操作系统!)
终于看到什么是上下文这个主题了,感觉离解决问题更近了!
一开始说:上下文是一个一个包含了任务所有共享资源的工作现场的集合,而任务的切换就是上下文的切换,那么,上下文的切换是什么呢?
然后说,上下文的切换可以浓缩为栈顶指针的切换,那么,上下文的切换是不是就是栈顶指针的切换呢?
看完第一章了,总结了以上的东西,虽然依然还不明白上下文是什么,不过初步理解上下文大概就是,栈顶指针的切换?

//---------------------------------看得困了,也晚了,睡了,看完第一章之后,由于我的基础不高,所以导致自己有点疲惫,明天继续看第二章!
作者: 122402902    时间: 2015-9-1 03:15
已经下载了 不知道有没有编程思想的书可以推荐
作者: bondxie3    时间: 2015-9-1 06:25
喜大普奔~再盼圣诞!
作者: destiny、    时间: 2015-9-1 07:42
排版做的别出心裁,更容易让人接受,内容还没有细看,加油
作者: GoingDown    时间: 2015-9-1 07:49
自己发明了好多“术语”,这点没必要。
另外需要少一类比,有些类比把本来很简单的、想要解释清楚的内容反而复杂化了。
作者: sunfulong    时间: 2015-9-1 08:05
GoingDown 发表于 2015-9-1 07:49
自己发明了好多“术语”,这点没必要。
另外需要少一类比,有些类比把本来很简单的、想要解释清楚的内容反 ...

如果站在“有一定编程基础的多任务初学者”的角度,类比是很有必要的,“初学者”希望较快的理解概念,理解“多任务”可能需要颠覆一些思维定式。类比就是一种很有效的方式。
作者: wt3333    时间: 2015-9-1 08:09
也谢谢您的分享    看完再反馈
作者: shuimubai    时间: 2015-9-1 08:14
傻孩子一统江湖
作者: dongwang_fl    时间: 2015-9-1 08:17
下来看看,不错。
作者: shuimubai    时间: 2015-9-1 08:19
这个封面提到的RT_thread和本坛的那个操作系统有关系吗?
作者: LQS1200    时间: 2015-9-1 08:23
是RT-Thread啊,好,那原本的那本今年能出来吗?
作者: wicy001    时间: 2015-9-1 08:24
好好拜读一下。
作者: security    时间: 2015-9-1 08:31
shuimubai 发表于 2015-9-1 08:19
这个封面提到的RT_thread和本坛的那个操作系统有关系吗?


一样的,这是RT-Thread官网
点击进去,你会发现RT-Thread的官网也升级了,紧跟移动互联网时代方向标,更现代化了。
作者: security    时间: 2015-9-1 08:34
多谢分享,
先下载,后面再认真学习下。
作者: Gorgon_Meducer    时间: 2015-9-1 08:34
LQS1200 发表于 2015-9-1 08:23
是RT-Thread啊,好,那原本的那本今年能出来吗?

那个出不来了,直接下载电子版好了
作者: fuquan_dai    时间: 2015-9-1 08:35
不错。。。。
作者: Jmhh247    时间: 2015-9-1 08:35
恭喜!先顶再看。
作者: Gorgon_Meducer    时间: 2015-9-1 08:35
shuimubai 发表于 2015-9-1 08:19
这个封面提到的RT_thread和本坛的那个操作系统有关系吗?

帮他们写得
作者: Gorgon_Meducer    时间: 2015-9-1 08:37
GoingDown 发表于 2015-9-1 07:49
自己发明了好多“术语”,这点没必要。
另外需要少一类比,有些类比把本来很简单的、想要解释清楚的内容反 ...

能具体列举一些,并详细说说你的想法么?比如这个类比/术语没必要,说成xxx就明白了,我认为xxxxxx这样的人群能懂。

谢谢啦
作者: Jmhh247    时间: 2015-9-1 08:38
我擦,看完帖子才发现不是原来那本本本……,也好,“另一本”算是惊喜吧
作者: Gorgon_Meducer    时间: 2015-9-1 08:39
qq开始学单片机 发表于 2015-9-1 01:48
什么是“什么是任务”
什么是“什么是多任务”
另有深意还是?我理解成,上下文,任务,多任务的概念!

辛苦了,期待你读第二遍的评论。另外,能简单说下你的情况么?
作者: def4macro    时间: 2015-9-1 08:39
拜读楼主大作!
作者: Gorgon_Meducer    时间: 2015-9-1 08:40
bsz84 发表于 2015-8-31 22:52
我下载了几次,每次打开出错????

pdf的……现在可以了么?
作者: solojimes    时间: 2015-9-1 08:40
傻孩子 是跟RTT有关的吗
作者: 10xjzheng    时间: 2015-9-1 08:41
不错,有空看看
作者: Hassen_JYA    时间: 2015-9-1 08:42
好东西,自己尽快通读一遍,期待纸质版。
作者: weimas    时间: 2015-9-1 08:43
下了,有空看看,顶一个
作者: jzkn    时间: 2015-9-1 08:45
拜读大作,回头贴感想。
作者: Gorgon_Meducer    时间: 2015-9-1 08:52
solojimes 发表于 2015-9-1 08:40
傻孩子 是跟RTT有关的吗

以RTT为例子,介绍如何进行多任务的应用设计。这本书的重点并不在解释操作系统的原理,或者怎么写操作系统,而是着重如何根据应用需求划分、设计、分析多任务的行为,最终的目的是要保证系统的实时性。

第一章和第二章是关于操作系统的不得不知道的内容(比如你要移植一个操作系统)

第三章和第四章第六章属于刷三观的……我希望大家能认真阅读这三个部分,读完了对你们没坏处
作者: security    时间: 2015-9-1 08:53
122402902 发表于 2015-9-1 03:15
已经下载了 不知道有没有编程思想的书可以推荐

编程思想的书,更多出现在面向对象领域。
你可以先去看看 李先静 写的 《系统程序员成长计划》,或许对你有帮助,
如果你已是软件大牛,则不是这本书的受众目标,当然也可看看别人是怎么看待解决问题~

作者: LiuYH    时间: 2015-9-1 08:56
先顶,在拜读
作者: Gorgon_Meducer    时间: 2015-9-1 09:03
security 发表于 2015-9-1 08:53
编程思想的书,更多出现在面向对象领域。
你可以先去看看 李先静 写的 《系统程序员成长计划》,或许对你 ...

非常感谢帮忙!我也补充一下:这本书的目标用户群体是工作1~3年的嵌入式工程师,对很多系统细节问题有搞清楚愿望、懂得不屋上架屋的人,对有工程经验的学生党有有限的参考意义,并为软件大牛提供吐槽消遣的健胃消食片
作者: sky_prince    时间: 2015-9-1 09:08
好书,要入手一本。
作者: qq开始学单片机    时间: 2015-9-1 09:12
Gorgon_Meducer 发表于 2015-9-1 08:39
辛苦了,期待你读第二遍的评论。另外,能简单说下你的情况么?

对Core没有什么概念,一直while(1),刚开始学操作系统,而且第一章太多硬件成分,所以我基础跟不上来,老师也说了,这事对于1~3年的工程师用的,
我要恶补才行!
作者: Gorgon_Meducer    时间: 2015-9-1 09:15
qq开始学单片机 发表于 2015-9-1 09:12
对Core没有什么概念,一直while(1),刚开始学操作系统,而且第一章太多硬件成分,所以我基础跟不上来,老 ...

那你其实可以说说什么地方或者具体哪个问题不太好理解……流水线部分我的目的就是要讲得大家都懂。所以还希望你帮助我。另外,上下文是现场的集合,这就是本质……是不是还是太抽象了?
作者: Excellence    时间: 2015-9-1 09:16
拜读一下。。。
作者: Gorgon_Meducer    时间: 2015-9-1 09:17
qq开始学单片机 发表于 2015-9-1 09:12
对Core没有什么概念,一直while(1),刚开始学操作系统,而且第一章太多硬件成分,所以我基础跟不上来,老 ...

推荐你从第三章开始阅读
作者: Excellence    时间: 2015-9-1 09:24
拜读一下。。。
作者: security    时间: 2015-9-1 09:31
qq开始学单片机 发表于 2015-9-1 01:48
什么是“什么是任务”
什么是“什么是多任务”
另有深意还是?我理解成,上下文,任务,多任务的概念!

关于上下文,我先说点看法
从“什么是上下文”概念的提出,到开始回答问题
这直线距离跨越有点大,
初学者一开始,其实并不太会关注流水线、跳转指令扯流水线后腿的事,所以难免会看晕~
应当是先切入主题,再来阐述一些要点。
这就像 专业的编码规范要求,变量的声明或赋值点,应当尽可能靠近其被使用的地方。
作者: strongking    时间: 2015-9-1 09:32
网上有卖的吗? 想买本回来拜读一下!
作者: Gorgon_Meducer    时间: 2015-9-1 09:34
security 发表于 2015-9-1 09:31
关于上下文,我先说点看法
从“什么是上下文”概念的提出,到开始回答问题
这直线距离跨越有点大,

我在认真考虑调整章节结构,把头两章内容往后放,第三章做开头也许更好……甚至……直接把头两章放到附录里面去?毕竟他们是为移植或者说有一定基础的人准备的干货
作者: ALUMEI    时间: 2015-9-1 09:35
第一次拜读傻孩子的书,好好研究研究!!
作者: default    时间: 2015-9-1 09:37
RT-Thread相比其他实时操作系统有什么优势?
作者: changer15309    时间: 2015-9-1 09:38
终于出来了,到时候一定支持正版
作者: Gorgon_Meducer    时间: 2015-9-1 09:40
default 发表于 2015-9-1 09:37
RT-Thread相比其他实时操作系统有什么优势?

就是个普通操作系统……
作者: ALUMEI    时间: 2015-9-1 09:41
qq开始学单片机 发表于 2015-9-1 09:12
对Core没有什么概念,一直while(1),刚开始学操作系统,而且第一章太多硬件成分,所以我基础跟不上来,老 ...

广义上来讲,裸机代码也算是一种操作系统,不是吗?
作者: Gorgon_Meducer    时间: 2015-9-1 09:42
strongking 发表于 2015-9-1 09:32
网上有卖的吗? 想买本回来拜读一下!

这只是第一轮测试,还未出版。可能要多迭代一两次
作者: Gorgon_Meducer    时间: 2015-9-1 09:43
本帖最后由 Gorgon_Meducer 于 2015-9-1 10:00 编辑
ALUMEI 发表于 2015-9-1 09:41
广义上来讲,裸机代码也算是一种操作系统,不是吗?


看第三章,关于这点有原理性的讨论。
作者: amfan    时间: 2015-9-1 09:46
支持帮顶!!!
作者: ALUMEI    时间: 2015-9-1 09:47
第一次拜读傻孩子的书,好好研究研究!!
作者: tanek    时间: 2015-9-1 09:48
security 发表于 2015-9-1 08:53
编程思想的书,更多出现在面向对象领域。
你可以先去看看 李先静 写的 《系统程序员成长计划》,或许对你 ...

李先静的那边已经买不到了,我看过pdf的,一直想买。不过这本跟那本的主题不同,这本核心是围绕着怎么进行多任务设计进行展开的。
作者: changer15309    时间: 2015-9-1 09:51
终于出来了,到时候一定支持正版
作者: Gorgon_Meducer    时间: 2015-9-1 09:52
tanek 发表于 2015-9-1 09:48
李先静的那边已经买不到了,我看过pdf的,一直想买。不过这本跟那本的主题不同,这本核心是围绕着怎么进 ...

感谢水军的介绍~
作者: Gorgon_Meducer    时间: 2015-9-1 09:55
changer15309 发表于 2015-9-1 09:51
终于出来了,到时候一定支持正版

很期待你的反馈,最终版本的定稿需要你的意见
作者: aozima    时间: 2015-9-1 09:58
支持  围观




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4