剧情奥秘致力为广大影视爱好者提供电视剧电影未完剧情揭秘
你好,请登录

UNIX 文化中有哪些元素?优质

501次浏览| 2022-07-30 11:07:31 更新
来源:互联网
2个回答
满意答案
235 0

从C语言继承来的实用主义色彩强烈,不追求理论和哲学上的美感,注重用起来的一时爽。比如ioctl一用就是几十年,什么东西都往一个int型的fd里面装,什么错误都往全局变量写,类型安全那都不是事。有人炮轰宏内核设计不够优雅精美,linus则声称,现有的开发方式更为省心,至于一些隐含的指针和类型错误,反正排查的负担没超过一个阈值,不足为虑。能用老框架伸缩一下接着用的,绝不改进新方法。比如说epoll/poll用了这么多年,aio已经鸽掉。又比如进程间通信,大家宁可靠锤炼tcp栈达到逼近memcpy的效果,也不去搞共享内存之类的花哨技法。总体来说,我感觉UNIX系的哲学是“人类是愚蠢的,不如搞一坨简单的土逼方法让程序员去组合。”然后社区各自为阵,反复重造轮子。windows的理念是”我们的架构是牛逼的,要搞一套巴洛克式的鸿篇巨著一统天下“,然后就大力出悲剧,万年没人用。

298 0

多用户分时共用一台主机的文化:UNIX发明的年代计算机是如此昂贵,以至于唯一合理的利用方式就是多用户分时共享一台机器。这就解释了为什么UNIX一开始就支持多进程、多用户、用户组和权限管理。同时,还催生了一批允许同时登录一台机器的用户“单机聊天”的工具:write / talk / wall / mesg 以及后来的Telnet BBS把文件操作利用到极致的文化:UNIX有极其丰富的文件操作API,还有mmap,因此允许用户以最小的CPU/内存开销管理极其复杂的文件。这样导致的后果就是UNIX用户不爱用传统的数据库技术来保存数据,而是更偏向于自己管理索引、玩手工优化到极致的“文件API杂技”。我印象中的Telnet BBS服务端软件早期基本都是用文件系统而不是数据库来持久化数据的面向行的输入、输出格式:UNIX推崇在CLI Shell下通过管道组合多个进程协同完成工作,因此所有的程序都面临如何在读完标准输入流之前(谁也不知道会有多长)就要干活并输出的问题。理论上需要实现一个状态机来解析输入流,实际上为了省事基本上所有的程序都是以行为基本分割符来切割数据;这样做上游程序也省事:面向行的输出基本上都可以直接屏显给用户。因此,导致的后果是UNIX程序很少采用高度可靠的自分隔格式(如XML、JSON)作为标准输出,而是靠用户临时用sed / awk这样的工具来适配上下游程序的行内格式,造成了无穷无尽的(微妙的)解析bug。这是UNIX风格最大的弊端之一。

收到501个赞
最新文章
UNIX 文化中有哪些元素?
UNIX 文化中有哪些元素?
追剧小科普07-30
晓蜜蜂说娱乐
晓蜜蜂说娱乐
501
春节家长祝福语给孩子
春节家长祝福语给孩子
追剧小科普07-30
娱公主
娱公主
367
对菲茨杰拉德的评价是怎样的?
对菲茨杰拉德的评价是怎样的?
追剧小科普07-30
天下游戏说
天下游戏说
750
扬帆起航的励志句子
扬帆起航的励志句子
追剧小科普07-30
小恶魔游戏
小恶魔游戏
382
著名经学家和诂学家段玉裁有哪些重要的成就?
著名经学家和诂学家段玉裁有哪些重要的成就?
追剧小科普07-30
巨裕唠三农
巨裕唠三农
207
七夕表达爱的方式有哪些
七夕表达爱的方式有哪些
追剧小科普07-30
九竹
九竹
345
馓子怎么做?
馓子怎么做?
追剧小科普07-30
游讯特搜呀
游讯特搜呀
872
微信老公备注幽默名字
微信老公备注幽默名字
追剧小科普07-30
全球电影搜罗
全球电影搜罗
389
剧毒的竹叶青蛇与无毒的翠青蛇有什么区别?
剧毒的竹叶青蛇与无毒的翠青蛇有什么区别?
追剧小科普07-30
Super游戏资讯
Super游戏资讯
546
薛宝钗落选的原因有哪些?
薛宝钗落选的原因有哪些?
追剧小科普07-30
致富帮
致富帮
945

致富帮

还没有个性签名哟
作者
关于我们 | 版权声明 | 免责声明 | 联系我们
免责声明:所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,内容仅代表作者本人意见,若因此产生任何纠纷作者本人负责,本站亦不为其版权负责! 如有问题,请联系我们
CopyRight©1999-2013 WWW.YI2.NET All Right Reserved 湘ICP备16020439号-1