《unix编程艺术》读后感

本文深入探讨了Unix操作系统的独特设计理念,包括模块化、正交性等关键原则,并解析了多道程序设计如何通过进程、管道等方式提升系统效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前三章:主要讲解了,unix的历史,以及与其他操作系统的不同之处

第四章:模块性-->保持清晰,保持简洁。
1:模块化的首要特质就是封装,不要过多的披露自身的细节,不胡乱共享全局数据,不直接调用其他模块的实现码。
2:尽量保持正交性,各个功能独立,互不影响。比如:调节显示器对比度,不会影响亮度,调节色彩,不会影响对比度。(改变属性有且只有一个方法,其他都是调用这个方法)
3:重构代码,尽量在功能完成之后进行重构
4:自顶向下:从抽象到具体。
   自底向上:从具体到抽象。
软件设计都会用到这2中方式,或者同时一起用。一起用的时候,中间需要一个衔接层。也就是胶合层,胶合层应该尽量的薄,不然容易产生bug

第五章:文本-->好协议产生好实践
1:主要讲解了,unix文本的一些标准。
2:介绍了各种协议的格式。

第六章:透明性
。。。
第七章:多道程序设计-->分离进程为独立的功能
1.生成多个进程,分工完成特定的功能,提高效率。
2.管道依赖于没个程序都有的:标准输出和输入。并且具有单向性。
3.信号,套接字也可以用与进程间通信
4.共享内存用于进程间通信。
5.线程提高了编程复杂度,由于共享了全局内存,使得地址空间管理和临界区竞争变得相当困难。尽管创建开销小,上下文切换开支同样也小。但是共享数据加锁,同样开销也很大,而且还容易造成死锁。

ps:看到很多大大推荐这么书,所以厚颜无耻的也去看了看。都是讲理论偏多,当然也有很多小例子,大多都是文字描述的,代码屈指可数。感觉里面讲的东西都很深,我也只是硬着头皮把书翻完了,很多东西可能是没接触过,所以不太懂。里面介绍了很多设计原则,设计方法。后面的章节也只是草草翻完了。过个几年一定要找机会再重新看看这本书。不大适合我这种菜鸟看,当前应该还是多看些基础书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值