首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
ubuntu
awk
运维
service
sftp
服务器
tomcat
tengine
7层
server
jenkins
colors
cron
docker
交换机
log4j
port
linux
zsh
fabric
grafana
devops
k8s
grep
nginx
crontab
容器
debian
kubectl
路由器
4层
dns
shell
压力测试
touch
curl
ftp
centos
syslog
apache
ssh
vagrant
stdout
centos7
sudo
unix
当前位置:
开发笔记
>
运维
> 正文
你的系统需不需要linux?
作者:2102球地转反 | 来源:互联网 | 2017-11-05 15:19
你的系统需不需要linux?--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
Allen's World
我曾在几种产品上工作过,他们使用不同的处理器,有80186,z80(够古老吧)和arm7。无一例外都用某种RTOS。除了arm7那个产品上面用的ecos比较大一点外,另外两个用的RTOS都是很小的系统,他们只提供了为实现多任务处理的最基本的内核,他们提供如:任务创建,信号量,消息队列,邮箱,事件标志等等,在这之上我们自己做了一个很小的文件系统,然后就是自己的设备的驱动。
在很多嵌入式书籍中都提到过用RTOS的好处,当你的系统复杂度达到一定的程度时,还用前后台系统会让你的工作变得十分复杂,我是这样理解的。
我有一个比较有趣的经历,我曾经工作过的一个系统在启动之前要做一个分支,有点像一般bootloader的strap工作,比较一下flash中的某个值,然后决定启动哪一个应用。但是他们是这么做的:他用了OS!然后在os启动后的程序中写了几句话的分支程序。我用了几行汇编代码做了同样的事情。为什么这个开发人员这么做?只是因为这么做对他来说没有障碍,他的其他系统都是这么写的,他不用写arm汇编代码,他是个pure C程序员,呵呵!
由于RTOS不包含硬件驱动,应用系统直接和驱动打交道。Linux是一个怎样的系统呢?我没有深入研究过uclinux这些嵌入式linux,(RTOS我是这样理解的:一个基于优先级的抢占式调度的系统,一般不会用时间片调度)我只能就我手头这个开发板用的2.6.11的linux核来理解,他会把驱动做进内核,提供统一的和文件操作一样的接口。
我想linux最大的好处在于你可以使用许多现成的设备驱动资源,我想包括uclinux等也应该会有同样的免费资源。
同时我工作过的系统都没有mmu和内存保护等功能,也不区分内核空间和用户空间。我的理解是:如果我的系统不需要运行第三方软件,软件规模也是在比较小的范围,功能单一,我为什么需要内存保护和复杂的mmu呢。但是像手机或者pmp这些设备,他们越来越像一个pc,这样的系统mmu和内存保护就有必要了。想想以前为了腾出几个字节的空间都要想破脑袋,而我手头的开发板有128M的ram,真的是幸福呀。
关于linux的理解是我自己在刚开始看了一点资料后的粗浅理解,随着我的研究的深入,我想我在之后会越来越透澈。今天先写这些,明天继续写我的linux学习笔记。
程序员
linux
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
linux
大数据就业前景及人才需求
近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ...
[详细]
蜡笔小新 2023-12-14 16:25:20
linux
Linux重启网络命令实例及关机和重启示例教程
本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ...
[详细]
蜡笔小新 2023-12-14 15:52:52
linux
xps15双系统win10更新失败问题解决方法
本文主要讨论了在xps15上安装双系统win10和MacOS后,win10无法正常更新的问题。分析了可能的引导问题,并提供了解决方法。 ...
[详细]
蜡笔小新 2023-12-14 15:25:35
linux
Centos7.6安装Gitlab教程及注意事项
本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ...
[详细]
蜡笔小新 2023-12-14 14:01:06
linux
Hibernate配置lazy=false时无法加载数据的问题解决方法
本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ...
[详细]
蜡笔小新 2023-12-14 13:59:45
linux
树莓派Linux基础(一):查看文件系统的命令行操作
本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ...
[详细]
蜡笔小新 2023-12-14 13:33:39
linux
35岁程序员连续被2家公司裁掉,网友酸了,成功入职成事业编晒出福利
这篇文章讲述了一个35岁程序员连续被两家公司裁掉的故事,他在遭遇中年危机后成功入职事业单位,并分享了入职后的福利。文章探讨了程序员在互联网行业中的竞争力下降的原因。 ...
[详细]
蜡笔小新 2023-12-14 12:47:21
linux
Metasploit攻击渗透实践
本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ...
[详细]
蜡笔小新 2023-12-14 12:14:09
linux
Python语法上的区别及注意事项
本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ...
[详细]
蜡笔小新 2023-12-14 11:27:53
grep
Oracle中tnsnames.ora的作用和配置方法
本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ...
[详细]
蜡笔小新 2023-12-14 07:44:06
linux
Linux进程控制块PCBtask_struct结构体结构及作用详解
本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ...
[详细]
蜡笔小新 2023-12-13 21:31:18
linux
图解redis的持久化存储机制RDB和AOF的原理和优缺点
本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ...
[详细]
蜡笔小新 2023-12-13 20:24:11
linux
Linux下Perl的安装及第一个程序运行
本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ...
[详细]
蜡笔小新 2023-12-13 18:29:11
grep
解决Mac上无法使用localhost连接mysql的问题
本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ...
[详细]
蜡笔小新 2023-12-13 17:48:58
linux
计算机存储系统的层次结构及其优势
本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ...
[详细]
蜡笔小新 2023-12-13 17:32:41
2102球地转反
这个家伙很懒,什么也没留下!
Tags | 热门标签
ubuntu
awk
运维
service
sftp
服务器
tomcat
tengine
7层
server
jenkins
colors
cron
docker
交换机
log4j
port
linux
zsh
fabric
grafana
devops
k8s
grep
nginx
crontab
容器
debian
kubectl
路由器
RankList | 热门文章
1
refactoring example
2
java web 产品补丁更新技术_JavaWeb 并发:FOR UPDATE 实战,监测并解决。
3
使用StringBuilder和StringBuffer:两种字符串处理工具的比较
4
java 二维数组_Java学习类Arrays及二维数组
5
svn 基础篇--命令行切换主机地址
6
小白轻松使用axis2构建webservice
7
JavaScript解决Joseph问题【javascript】
8
java打包多个文件成zip的问题
9
电视遥控器怎么和有线机顶盒遥控器对接?
10
VS Code编译运行C#的方法
11
关于springBoot初试tomcat容器认证之表单验证
12
Centos 6/7安装Python 3.5及SSL编译安装,实现HTTPS识别
13
leetcode算法: Find All Duplicates in an Array
14
iOS App图标和LaunchImage启动页尺寸及命名规则
15
App上线Unexpected CFBundleExecutable Key
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有