三月的最后一周
2013-06-25 17:23
225 查看
时间很快啊,一周时间又结束了,新的一周又要开始上了,现在继续总结上一周,首先上一周学习的内容是系统编程,这部分自己还是不怎么的熟悉,因为很又很多的计算机专业的知识自己以前没有学过,比如【计算机操作系统】,什么进程、线程、信号量、信号、互斥锁、无名管道、有名管道,此类的东西,都是比较晦涩的,不是很容易的理解,还好的自己对与系统管理这类的东西自己很久以前就想过,所以自己在学习的时候基本上还是按着自己的思路来,现在问题是这些东西的下边,到底是怎么完成的,这就不知道了,看来等以后又时间了还是要看看源码的,只有真正的明白了他是怎么实现的才能更好的进行系统编程。
根据我的理解,所谓进程就是一个资源的集合,它自己的代码段、数据段,堆区、栈区、BSS,这些资源在以前的单任务系统中,就是一台计算机,在以前的单任务计算机中,计算机的内存分配就是按照来分配的,但那是的资源分配没有现在这么的细致,要粗略很多。由此可见,当每个进程有了自己对立的资源集合的时候,就可以互不干扰的完成自己的任务,当很多进程同时运行的时候,就需要相互之间进行一些数据的交换,后者进程信号的同步,以更好的协同完成一项复杂的任务,那么这时候就需要进行进程间的通信了,必然要用到无名管道、有名管道、信号、消息队列,同时,对于有限的资源,有时候不能让两个任务同事去修改它,那这时候就要用到互斥锁、信号量的概念了,尽管如此,进程还有个很大的缺点就是数据之间的共享比较麻烦,不太方便。这时候人们就可虑用线程,在linux中,进程和线程的概念远没有windows中区分的那么明显,在linux中,线程就是一个轻量级的进程,但它没哟自己的资源集合,和自己的共享自己所属的进程的资源,正因为线程是共享自己的所属进程的资源,所以更子线程之间的数据交换是非常的方便的,用我们平常使用的全局变量就能很方便的完成数据的交换。
通过上边的叙述,可能会有一个错误的认识,那就是线程比进程用起来更加的方便,实际情况不是这样的,如果需要在本进程中调用一个可执行程序、或者一个外的shell脚本,这时候线程就能完成了,因为调用的时候需要开启新的资源集合,而线程是和所属进程共享资源集合的,显然他没有自己的资源集合,更不可能给别的外部程序开启资源集合了,那就需要使用进程,fork()函数可以是子进程有自己的资源集合。
阅读(348) | 评论(0) | 转发(0) |
0
上一篇:unix中,程序的的空间分配
下一篇:2410GPIO输出4路频率
相关热门文章
武汉牌九透视眼镜 骰子...
曼联登世界之巅!死忠珠峰 沙...
人生没有那么简单
多個臉部美白的方式
初入職場如何合適提薪水?...
linux 常见服务端口
什么是shell
linux socket的bug??
linux的线程是否受到了保护?...
一个适用于windows和linux的抓...
debian7系统与ATI X2300显卡...
ubuntu sysklogd之配置文件介...
自己用的ubuntu环境搭建(一)...
linux 学习心得
用户输入操作和数据的显示...
给主人留下些什么吧!~~
评论热议
根据我的理解,所谓进程就是一个资源的集合,它自己的代码段、数据段,堆区、栈区、BSS,这些资源在以前的单任务系统中,就是一台计算机,在以前的单任务计算机中,计算机的内存分配就是按照来分配的,但那是的资源分配没有现在这么的细致,要粗略很多。由此可见,当每个进程有了自己对立的资源集合的时候,就可以互不干扰的完成自己的任务,当很多进程同时运行的时候,就需要相互之间进行一些数据的交换,后者进程信号的同步,以更好的协同完成一项复杂的任务,那么这时候就需要进行进程间的通信了,必然要用到无名管道、有名管道、信号、消息队列,同时,对于有限的资源,有时候不能让两个任务同事去修改它,那这时候就要用到互斥锁、信号量的概念了,尽管如此,进程还有个很大的缺点就是数据之间的共享比较麻烦,不太方便。这时候人们就可虑用线程,在linux中,进程和线程的概念远没有windows中区分的那么明显,在linux中,线程就是一个轻量级的进程,但它没哟自己的资源集合,和自己的共享自己所属的进程的资源,正因为线程是共享自己的所属进程的资源,所以更子线程之间的数据交换是非常的方便的,用我们平常使用的全局变量就能很方便的完成数据的交换。
通过上边的叙述,可能会有一个错误的认识,那就是线程比进程用起来更加的方便,实际情况不是这样的,如果需要在本进程中调用一个可执行程序、或者一个外的shell脚本,这时候线程就能完成了,因为调用的时候需要开启新的资源集合,而线程是和所属进程共享资源集合的,显然他没有自己的资源集合,更不可能给别的外部程序开启资源集合了,那就需要使用进程,fork()函数可以是子进程有自己的资源集合。
阅读(348) | 评论(0) | 转发(0) |
0
上一篇:unix中,程序的的空间分配
下一篇:2410GPIO输出4路频率
相关热门文章
武汉牌九透视眼镜 骰子...
曼联登世界之巅!死忠珠峰 沙...
人生没有那么简单
多個臉部美白的方式
初入職場如何合適提薪水?...
linux 常见服务端口
什么是shell
linux socket的bug??
linux的线程是否受到了保护?...
一个适用于windows和linux的抓...
debian7系统与ATI X2300显卡...
ubuntu sysklogd之配置文件介...
自己用的ubuntu环境搭建(一)...
linux 学习心得
用户输入操作和数据的显示...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- 最后一周 银行储蓄系统
- 最后一周的总结。
- 最后一周了
- 最后一周作业
- 15/10/2010 最后一周
- 查询数据表中最后一周记录
- 期末,最后一周!!
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
- 新年前的最后一周之感想
- 得到一周的周一和周日的日期 和 当月第一天及当月最后一天
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
- mysql获取当前日期所在周(原则:每年1月1号所在周为第一周,最少1天,12月31日为最后一周)
- 2014年5月最后一周工作总结
- 最后一周psp
- 团队开发最后一周冲刺第六天 董文轩 苏康奖 刘权毅 刘梦辉 刘若凡 常晓杨
- 最后一周的 作业
- Clander的用法。如何取得当前时间一个月后/前的时间。如何取得某个月的最后一天。 如何取得今年的第一个周一。五月的第二个星期日。 如何取得今年的第一周(注意国外的日历和国内可能不一样,如何设置一周
- 2013年2月最后一周
- 这周是这个月的最后一周
- 根据时间段,求出时间段范围内的每月最后一周 周二