找回密码
 注册
搜索
查看: 1603|回复: 6

[讨论] 底层软件怎么理解啊

[复制链接]
发表于 2006-9-5 21:38:00 | 显示全部楼层 |阅读模式
菜鸟求问
发表于 2006-9-6 11:27:00 | 显示全部楼层
驱动咯,中间曾咯
点评回复

使用道具 举报

发表于 2006-9-6 11:50:00 | 显示全部楼层
那就是软件。没什么特别的东西。
点评回复

使用道具 举报

发表于 2006-9-6 13:55:00 | 显示全部楼层
就是软件,是逻辑上的一个划分。底层软件就是在逻辑划分的下层,通常是硬件的控制,逻辑运算的基本处理。例如,驱动程序。基于底层软件的应用软件编程就变的简单,不需要了解太多内部的处理,通常了解接口就可以了。
点评回复

使用道具 举报

 楼主| 发表于 2006-9-7 17:27:00 | 显示全部楼层
那我现在在开发DSP
给内存分派空间,用汇编写的代码,这个算底层软件吗?
点评回复

使用道具 举报

发表于 2006-11-10 08:59:00 | 显示全部楼层
我也不太了解底层软件具体是干什么用的,做底层软件难吗??现在搞底层驱动开发有前途吗??望高手赐教!
点评回复

使用道具 举报

发表于 2006-11-11 10:51:00 | 显示全部楼层
底层软件可以这样理解,狭义上,可以理解为与硬件打交道部分的软件,比如驱动程序模块(包括Ethernet接口的驱动程序、DSP数字信号处理驱动、同异步串行接口驱动程序、声卡驱动、LCD显示驱动等),在Linux系统中大部分驱动程序以Module的形式出现,可以动态加载和卸载,这类程序运行在Linux的内核态,对于内存的分配和映射管理、ISR中断处理与内核线程的通信、内核级函数的调用等都会和用户态编程大不一样,需要有清晰的认识;
广义上,底层软件还可以理解为除‘驱动程序’之外,内核态(包括内存管理、文件系统、内核线程、TCP/IP协议栈、BPF滤包监控等)各类编程目前也通常被统称为底层软件开发,比如基于Linux系统的路由器、防火墙、VPN等产品的开发。
泛泛的理解,可以这样划一个界限,Linux下在用户态下编程可以看成是常规软件开发,包括网络socket编程(包括STREAM/DGRAM/RAW等不同类型的socket)、文件操作(open、close、read/write等)、多进程/线程编程(fork、pthread、signal、longjmp等)、shell编程、Qt图形应用编程等等;而内核态编程可以看成是底层软件开发。
呵呵,不知道说清楚没有,也许画个图会更容易理解些,可惜是新加盟论坛的,还不大会用,后面有机会再补充吧:)
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-27 07:24 , Processed in 0.044900 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表