03 2016 档案

Understanding Unix/Linux Programming-事件驱动编程:编写一个视频游戏
摘要:通过这个例子呢,作者希望我们了解更多的Unix系统服务,一些基本的原则,和操作系统的设计技术 考虑两人参与的星际旅行视频游戏,车给你需创立行星、流星、飞船和其他物体的影像,并使他们移动。每个物体有自己的移动速度、方向、动力和其他一些属性。物体之间相互作用,可能碰撞。 游戏需要同时响应用户输入。玩家通 阅读全文

posted @ 2016-03-23 13:12 H.D 阅读(434) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-用户程序play_again4.c
摘要:1 /* play_again4.c 2 * When no is input , restore the tty settings 3 */ 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 12 #define ASK "D... 阅读全文

posted @ 2016-03-23 09:39 H.D 阅读(287) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-信号与play_again4.c的准备知识
摘要:Ctrl-C终止当前运行的程序,这个中断由一个称为信号的内核机制产生。信号是一个简单而重要的概念,下面将探讨信号的基本概念。 终端驱动程序在这里起到了相应的作用: 当然未必一定是Ctrl-C作为中断的控制字符,这是可以更改驱动设置的。 信号是由单个词组成的消息。绿灯、停止标牌、裁判手势等都是信号,而 阅读全文

posted @ 2016-03-22 09:07 H.D 阅读(336) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-用户程序:play_again3
摘要:这里使用到了非阻塞输入: 怎么解释非阻塞输入与阻塞输入? 书上解释: 当调用getchar或者read从文件描述符读取输入时,这些调用通常会等待输入,这叫做阻塞输入(block input)。在play_again的例子中,对于getchar的调用使得程序一直等待用户的输入,知道用户输入一个字符。程 阅读全文

posted @ 2016-03-18 15:28 H.D 阅读(350) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-用户程序:play_again2
摘要:1 /* play_again1.c 2 * purpuse: ask if user wants another play 3 * better : instant response without echo 4 * returns: 0 -> yes , 1 -> no 5 */ 6 7 #include 8 #include 9 #include... 阅读全文

posted @ 2016-03-18 14:25 H.D 阅读(190) 评论(0) 推荐(0)

控制系统的带宽与二阶系统的简单定性理解
摘要:先上自动控制原理上面的定义: 当控制系统的幅频特性下降到比零频率幅值低3dB时,所对应的频率为带宽频率,简称带宽。 系统的带宽反应了系统响应的快速性,也反映了对输入信号的复现能力。带宽大,系统的响应越快咯,但是带宽过宽,那么现实世界中的噪声会引入系统,造成不利影响。 这么说也许过于抽象,不知诸位看客 阅读全文

posted @ 2016-03-17 16:30 H.D 阅读(10756) 评论(1) 推荐(0)

Understanding Unix/Linux Programming-用户程序:play_again1
摘要:1 /* play_again1.c 2 * purpuse: ask if user wants another play 3 * better : instant response without echo 4 * returns: 0 -> yes , 1 -> no 5 */ 6 7 #include 8 #include 9 #include... 阅读全文

posted @ 2016-03-17 10:58 H.D 阅读(276) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-用户程序:play_again0
摘要:1 /* play_again0.c 2 * purpuse: ask if user wants another play 3 * returns: 0 -> yes , 1 -> no 4 */ 5 6 #include 7 #include 8 #include 9 10 #define QUESTION "Do you want anot... 阅读全文

posted @ 2016-03-17 10:57 H.D 阅读(254) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-终端控制和信号
摘要:终端驱动程序的模式: 先通过简短的转换程序来深入理解设备驱动程序的细节: 使用tr命令能够达到同样的效果,但是tr的GNU版本具有输入缓冲,以上是一个不带缓冲的具体例子。这个程序中,rotate程序是和终端驱动器交换数据的,而终端驱动器从键盘输入数据并且从屏幕输出数据。 规范模式:缓冲和编辑 使用默 阅读全文

posted @ 2016-03-17 10:17 H.D 阅读(359) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-文件、设备和流
摘要:每个设备文件都支持系统调用 ioctl: 实际上,任何数据的源或者目的地都被Unix视为文件来处理,基本的系统调用既支持磁盘文件,也适用于设备文件。它们的区别体现在对于连接的操作上。磁盘文件的文件描述符包含对缓冲属性和扩展属性的定义代码;而终端的文件描述符包含编辑、回显、字符转换和其他操作的定义代码 阅读全文

posted @ 2016-03-16 21:19 H.D 阅读(335) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-stty指令练习
摘要:先来看一个简单的练习程序: 以上是程序编译后运行的效果啦,可以看到在输入hello之后敲击回车后才运行了该程序,也就是说,在终端中输入的字符实际上是被缓冲的。 另外,回车键本身被识别为换行了,也由该程序识别了,这也与终端的设置有关。 tty驱动程序包含很多对数据的操作: 编写终端驱动程序:关于系统调 阅读全文

posted @ 2016-03-16 11:16 H.D 阅读(245) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-设备文件与磁盘连接的概念
摘要:我只是书本的搬运工,具体见《Unix/Linux编程实践教程》 Linux/Unix中,文件包含数据,具有属性,通过目录中的名字被标识,可以从文件中读写数据,而这种方法也被广泛应用于设备。 对于Unix而言,声卡、终端、鼠标和磁盘文件是同一种对象,每个设备都被当作是文件,都具有文件名、inode节点 阅读全文

posted @ 2016-03-14 22:15 H.D 阅读(497) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-pwd指令练习
摘要:系统调用的意义: mkdir:创建目录 rmdir:删除空目录 unlink:删除一个链接 link:创建一个新链接 rename:重命名或者删除一个链接 chdir:切换所调用进程的当前目录 1 #include <sys/types.h> 2 #include <sys/stat.h> 3 #i 阅读全文

posted @ 2016-03-10 19:54 H.D 阅读(228) 评论(0) 推荐(0)

奈奎斯特稳定判据的推导与理解
摘要:先上结论,奈奎斯特稳定判据: 若奈奎斯特曲线不穿过(-1 , j0)点,Z = P - 2N = 0 时系统稳定若奈奎斯特曲线穿过(-1 , j0)点,则系统临界稳定 其中,Z为包围函数的零点数 P为开环传递函数的极点数 N为奈奎斯特曲线包围(-1 , j0)的圈数 看上去挺抽象的哈,当初我就死记着 阅读全文

posted @ 2016-03-09 21:27 H.D 阅读(10912) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-ls指令练习二
摘要:完善ls练习一的功能: 排序,使用qsort 分栏,计算宽度和行数 文件“.”的显示需要由-a选项来选择 详细信息的显示,-l选项 将stat结构体中的st_mode——16位二进制数转换成10位的字符串 15-12:type 11:suid 10:sgid 9:sticky 8-6:user 5- 阅读全文

posted @ 2016-03-09 12:58 H.D 阅读(236) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-ls指令练习一
摘要:1 #include <stdio.h> 2 #include <sys/types.h> 3 #include <dirent.h> 4 5 void do_ls(char[]); 6 7 main(int ac , char * av[]) 8 { 9 if(ac == 1 ) 10 { 11 阅读全文

posted @ 2016-03-08 09:35 H.D 阅读(156) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-who指令练习
摘要:1 /*Apply a Buffer trick in who3.c*/ 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <utmp.h> 6 #include <fcntl.h> 7 #include <unistd.h> 8 #in 阅读全文

posted @ 2016-03-07 22:48 H.D 阅读(231) 评论(0) 推荐(0)

复习自控有感——20160307
摘要:今天复习自动控制原理,发现自己大三时只顾着应付考试了,很多需要理解的东西都没有吃透。而当时做实验时也没有完全弄懂实验的意义,现在想来,可惜了实验老师的苦心了。如果再给我一次机会,我会怎样选择呢?我也不知道,可能我还是会翘课,毕竟不撞南墙不回头。 都说南航自己编的自动控制原理不好,其实觉着吧,国内编的 阅读全文

posted @ 2016-03-07 13:12 H.D 阅读(200) 评论(0) 推荐(0)

根轨迹法的校正正目标、原理和方法
摘要:闭环零极点分布于阶跃响应的定性分析 要求系统稳定:闭环极点均需位于左半平面 要求快速性好:瞬态分量衰减快——闭环极点应远离虚轴 超调量小、振荡次数少:共轭复数极点最好接近±45°附近,此处阻尼比为0.707 如果阻尼比小于0.707,则超调过大,振荡加剧 如果阻尼比大于0.707,则快速性较差,接近 阅读全文

posted @ 2016-03-07 12:57 H.D 阅读(1959) 评论(0) 推荐(0)

Understanding Unix/Linux Programming-cp指令练习
摘要:1 #include <stdio.h> 2 3 #include <unistd.h> 4 5 #include <fcntl.h> 6 7 #include <stdlib.h> 8 9 10 11 #define BUFFERSIZE 4096 12 13 #define COPYMODE 0 阅读全文

posted @ 2016-03-07 09:52 H.D 阅读(275) 评论(0) 推荐(0)

树莓派交叉编译环境在Linux下的建立
摘要:简明扼要:交叉编译环境的建立流程 阅读全文

posted @ 2016-03-04 13:16 H.D 阅读(3048) 评论(0) 推荐(0)

导航