11.26整理
来源:互联网 发布:126邮箱imap端口 编辑:程序博客网 时间:2024/06/01 08:17
1、嵌入式操作系统相关概念
2、Linux相关的结构和命令
3、Vim的使用
1、嵌入式操作系统相关概念?
1.同步和互斥
同步:A,B,C三个人通过一个门,A先走,B第二个走,C第三个走,依次进行,这个是同步
互斥:对于门,A在进出门的时候,B,C是不能同时进出的,门这个资源对BC互斥的
总结:互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。
2.死锁
A,B,C三个进程在运行的时候分别占有了资源x,y,z, A-x, B-y, Z-c, 但是在运行的时候A需要y.B 需要z,C需要x,这种情况下A,B,C都不能进行下去,这种情况为死锁;
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
3.前后台系统
基于芯片开发的,如单片机设备,基本都是前后台系统,利用中断来实现。
2、Linux相关结构和命令
1. etc
放的是系统的配置,启动文件
2.bin.sbin
放的是用户命令和系统命令
3. dev
放的是设备文件,如果是从应用程序控制硬件,都是通过/dev下的设备来控制
4. proc
放置的都是系统所显示的信息,包括设备信息在/proc/devices
5. sys
系统中硬件的设备信息,做硬件的设备驱动开发的时候,里面经常要来显示硬件的设备信息 ;
如/sys/bus/platform/devices 放的是设备文件,而在同目录下drivers放的是驱动文件,两者都有对应上硬件才能用;
6. home
用户的工作目录,这个文件夹下的文件删除没问题,不影响系统工作;
7. lib
放的是库文件,经常使用
8.常用linux命令
8.1 cd 改变工作目录
#cd / 进入到根目录下
#cd /home 进入到/home下
#cd .. 返回上一级目录
# cd /sys/bus/platform/devices 进入到/sys/bus/platform/devices 目录下
#cd ../../../ 返回到sys目录下
注意:cd只能进入到目录中,不能进入文件和命令中;
8.2 pwd
显示当前路径
8.3 ls
查看目录下的内容
#ls /home 查看/home的内容的,有哪些内容
#ls -l /home 详细查看home的内容, 列表的形式
# ls -la /home 详细查看/home下包括隐藏文件在内的所有文件,列表形式
8.4 touch
新建一个文件,
#touch hello.c 在当前目录下新建了hello.c文件;
8.5 cp
拷贝
# cp hello1.c / 把当前目录下的hello.c 拷贝到根目录下;拷贝文件
#cp -r /mnt/blk/ /home 把blk 这个目录拷贝到/home目录下;拷贝目录,拷贝文件夹
8.6 mkdir
#mkdir www ; 创建www文件夹,创建目录
创建一个多级目录,当前目录下d1目录不一定存在;
#mkdir -p d1/d2/d3 在当前目录下创建d1目录,d1目录中创建d2目录,d2目录中创建d3目录
任务:
1. 创建一个文件夹,目录;
2. 创建一个文件;
3. 把这个文件拷贝到另外一个目录;
4. 把这个目录拷贝到另外一个目录;
8.7 mv
剪切,改名
#mv hello.c func.c 把hello.c 改名为func.c
#mv func.c / 把当前文件夹下的func.c 剪切到根目录/下
#mv func.c /mnt/every.c 把func.c 剪切到/mnt目录下,并改名为every.c
剪切多个文件:
#mv hello.c every.c /home/151 把every.c hello.c 剪切到/home/151目录下
剪切多个文件夹:
#mv rootfs1 www /home/151 把rootfs1 www 两个文件夹剪切到/home/151目录下
给文件夹改名:
#mv www www3 把文件夹www改名为www3
8.8 rm
删除
删除一个文件,
# rm hello.c 删除hello.c 文件,带有交互的
删除一个空文件夹;
# rm -r zyx 删除一个目录zyx
删除一个有内容的文件夹;
#rm -rf rootfs1 把rootfs1这个文件夹下所有的内容全部删除,不要交互
删除多个文件;
#rm -rf every.c hello.c 删除两个文件,不交互
删除多个文件夹;
#rm -rf a b 删除两个文件夹
8.9 tar
压缩解压文件:
把当前目录下的c1文件夹压缩成c1.tar.gz的压缩文件 :
#tar cvzf c1.tar.gz c1
解压缩:
#tar zxvf c1.tar.gz 在当前文件夹下解压缩
8.10 修改权限chmod
# chmod 666 hello1.c 把hello1.c 的权限为所有者可读可写,同组其他用户可读可写,其他用户可读可写
#chmod 777 hello1.c hello1.c 可读可写可执行
u:用户所有者
g:同组的其他用户;
o:其他用户
a:所有人
+:添加权限
-:减去权限
= 赋予权限
r:读权限
w:写权限
x:可执行的权限
#chmod a+w hello1.c 对hello1.c所有人都有可写的权限
8.11 网络配置ifconfig
#ifconfig 查看网络配置情况
//windows下是ipconfig
#ifconfig eth0 192.168.1.220 把我的虚拟机IP地址配置为192.168.1.220
#ping 192.168.1.79 连接192.168.1.79 这个网络,看是否能连接上 ?测试通路的
#ifconfig eth0 down 关闭eth0 这个网卡
#ifconfig eth0 up 开启eth0 这个网卡
8.12 find 查找文件
# find 路径名 -name "查找的文件"
#find /home -name "hello.c" 到/home下查找hello.c的文件
8.13 grep查找含有对应字符串的文件
#grep "hello " ./ -rn 在当前目录下查找含有hello的这个字符串的文件 r--读所有的文件,n:表示行号;
8.14 man 查询帮助
#man grep 查询grep的用法
8.15 ps查看进程的
#ps -aux
8.16 kill
# kill 进程号 杀死对应进程的
8.17 cat
#cat hello.c 在命令行下查看文件内容
3、vim的使用
vi
1 vi hello.c
2. 打开hello.c 以后,按一下i,这个时候是可以向文本中写入数据了
3. 写完以后,按一下esc,然后 :wq!保存退出
hello.c
#gcc hello.c -o hello 把hello.c 编译生成hello文件,-o 表示生成目标
#./hello
如果没有-o hello,那么生成a.out
#gcc hello.c ---生成 a.out 缺省文件,
- 11.26整理
- 整理
- 整理
- 整理
- 整理
- 整理
- 整理
- 整理
- 整理
- 整理
- 整理。。。
- 整理
- 整理
- 整理
- 整理
- 整理
- 整理
- 整理
- 批处理的简单的案例
- 15个顶级Java多线程面试题及回答 / Java程序员面试中的多线程问题
- centos 配置无密登录
- 第七次作业ArrayList集合
- 蓝桥杯-----基础训练--报时助手、芯片测试(Java)解法
- 11.26整理
- 【小知识】获取客户端真实的Ip地址
- 浅谈实模式与保护模式
- .properties 配置文件 加空格
- where,having与 group by连用的区别
- 合并俩棵二叉树
- 异步刷新动态获取数据
- 明德扬FPGA-培训班公开课-第03期-《算法的verilog实现》第2次课
- java百科