linux系统

蜕变成蝶~Linux设备驱动之中断与定时器

拜拜、爱过 提交于 2020-03-25 07:40:55
  “我叮咛你的 你说 不会遗忘 你告诉我的 我也全部珍藏 对于我们来说 记忆是飘不落的日子 永远不会发黄 相聚的时候 总是很短 期待的时候 总是很长 岁月的溪水边 捡拾起多少闪亮的诗行 如果你要想念我 就望一望天上那 闪烁的繁星 有我寻觅你的 目光” 谢谢你,曾经来过~   中断与定时器是我们再熟悉不过的问题了,我们在进行裸机开发学习的 时候,这几乎就是重难点,也是每个程序必要的模块信息,那么在Linux中,我们又怎么实现延时、计数,和中断呢? 一、中断 1.概述   所谓中断是指cpu在执行程序的过程中,出现了某些突发事件急待处理,cpu必需暂停执行当前执行的程序,转去处理突发事件,处理完之后cpu又返回原程序位置并继续执行,根据中断来源,中断分为内部中断和外部中断,软中断指令等属于内部中断,中断还可以分为可屏蔽中断和不可以屏蔽中断。Linux 的中断处理分为顶半部和底半部,顶半部完成尽可能少得的比较紧急的功能,往往只是简单的完成“登记中断”的工作,就是将底半部处理程序挂到该设备的底半部处理队列中去,中断处理机制如下图: 2、中断编程 2.1 申请和释放中断 (1) 申请irq int request_irq (unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname

linux Samba搭建

限于喜欢 提交于 2020-03-25 06:16:06
关闭防火墙和SElinux systemctl stop firewalld setenforce 0 1.安装samba应用 systemctl start smb nmb 2.启动Samba应用 systemctl start smb nmb 3.查看Samba服务进程 ps -ef | grep -E 'smb | nmb' 4.查看Samba应用服务端口 netstat -tunlp | grep -E 'smbd|nmbd' 创建文件夹 cd / mkdir storage mkdir logger shared ls 创建用户 useradd -s /sbin/nologin logadmin useradd -s /sbin/nologin admin useradd -g admin -s /sbin/nologin shared cat /etc/passwd 6建立Samba用户 smbpasswd -a logadmin smbpasswd -a admin smbpasswd -a shared 7.更改目录属性 chown logadmin.logadmin logger chown admin.admin shared chmod -R 777 logger chmod -R 777 shared 8.配置Samba服务 vim /etc/samba

10个炫酷的 Linux 终端命令大全

家住魔仙堡 提交于 2020-03-25 05:58:51
3 月,跳不动了?>>> 今天给大家分享用了十年的Linux总结出来的11个炫酷的Linux终端命令大全,通过今天这篇文章我将向大家展示一系列的Linux命令、工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我。 1.命令行日常系快捷键 如下的快捷方式非常有用,能够极大的提升你的工作效率: CTRL + U -剪切光标前的内容 CTRL + K -剪切光标至行末的内容 CTRL + Y -粘贴 CTRL + E -移动光标到行末 CTRL + A -移动光标到行首 ALT + F -按单词前移(右向) ALT + B -按单词后移(左向) ALT + Backspace -删除前一个单词 CTRL + W -从光标处删除至字首 Shift + Insert -向终端内粘贴文本 那么为了让上述内容更易理解来看下面的这行命令: sudo apt-get intall programname 如你所见,命令中存在拼写错误,为了正常执行需要把“intall”替换成“install”。 想象现在光标正在行末,我们有很多的方法将她退回单词install并替换它。 我可以按两次ALT+B这样光标就会在如下的位置(这里用指代光标的位置)。 sudo apt-get^intall programname现在你可以按两下方向键并将“s”插入到install中去了。

linux文件系统挂载

雨燕双飞 提交于 2020-03-25 05:48:20
接上一篇博客 创建好了文件系统的磁盘仍然是不能用的,必须挂载到某个目录下才能使用 [root@gechong mnt]# ll /dev/sdb* brw-rw----. 1 root disk 8, 16 11月 5 18:59 /dev/sdb brw-rw----. 1 root disk 8, 17 11月 5 19:34 /dev/sdb1 brw-rw----. 1 root disk 8, 18 11月 5 18:59 /dev/sdb2 brw-rw----. 1 root disk 8, 21 11月 5 19:07 /dev/sdb5 查看文件系统信息 [root@gechong mnt]# dumpe2fs /dev/sdb1 挂载文件挂载 [root@gechong /]# cd mnt [root@gechong mnt]# mkdir gechong [root@gechong mnt]# mount /dev/sdb1 /mnt/gechong 查看已经挂载的文件系统 [root@gechong mnt]# mount /dev/mapper/vg_gechong-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts

kvm冷热状态迁移

眉间皱痕 提交于 2020-03-25 05:14:14
KVM迁移 静态迁移(冷迁移) 对于静态迁移,你可以在宿主机上保存一个完成的客户机镜像快照,然后在宿主机中关闭或者暂停该客户机,然后将客户机的镜像文件复制到另一台宿主机中,使用在源主机中启动该客户机时的命令来启动复制过来的镜像。 动态迁移(热迁移) 如果宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的vCPU执行状态,内存中的内容,虚机设备的状态到目的主机上。共享存系统指的时源和目的虚机的镜像文件目录是在一个共享的存储上的。 在基于共享存储系统时,KVM动态迁移的具体过程为: 1、迁移开始时,客户机依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上。 2、QEMU/KVM 会监控并记录下迁移过程中所有已被传输的内存页的任何修改,并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容。 3、QEMU/KVM 会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认 30 毫秒)内传输完成时,QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内存内容在目的宿主机上恢复客户机的运行状态。 4、至此,KVM 的动态迁移操作就完成了。迁移后的客户机尽可能与迁移前一致,除非目的主机上缺少一些配置,比如网桥等。 注意,当客户机中内存使用率非常大而且修改频繁时

Unix/Linux

老子叫甜甜 提交于 2020-03-25 04:23:44
Linux/Unix设计思想 1. C程序设计语言 内容简介: 在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书是C语 言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。本书第1版中介绍的C语 言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World" 程序就是由本书***引入的。现在,这一程序已经成为众多程序设计语言入门的***课。 作者简介 Brian W. Kernighan 是贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《Software Tools》、《The Elements of Programming Style》、 《 The Unix Programming Environment 》 、《The C Programming Language》、《The AWK Language》、《The Practice of Programming》等。 Rob Pike ,目前谷歌公司***的软件工程师之一,曾是贝尔实验室Unix开发团队成员

Linux脚本小知识之"$x"含义

这一生的挚爱 提交于 2020-03-25 04:01:08
Linux系统中的Shell脚本语言内设了用于接收参数的变量,变量之间可以使用空格间隔。 例如$0对应的是当前Shell脚本程序的名称,$#对应的是总共有几个参数,$*对应的是所有位置的参数值,$?对应的是显示上一次命令的执行返回值,而$1、$2、$3……则分别对应着第N个位置的参数值。 下面进行一个简单的小脚本编写: [root@localhost tmp]# vim shell.sh 编写完成后执行一下脚本: [root@localhost tmp]# sh shell.sh wo shi chen ming chang 上面的“wo shi chen ming chang”是我们执行脚本时输入的5个参数,最后一个命令执行返回值为0表示命令执行成功。 来源: 51CTO 作者: yixian12580 链接: https://blog.51cto.com/14529928/2445877

Linux 常用命令总结(一)

我们两清 提交于 2020-03-25 01:15:36
一、基本概念 1、为什么学习命令操作而不用界面操作?   Linux 作为服务器,使用图形界面会占用更多的系统资源,且影响稳定性、安全性。而且一个服务器连个显示屏都没有,图形界面毫无作用,所以命令行操作是 Linux 的必备技能。 常用命令手册:   https://www.runoob.com/linux/linux-command-manual.html 2、命令格式 【格式:】 [root@localhost ~]# 命令 [选项] [参数] 注: [root@localhost ~]# 是登录系统后看到的内容。 其中 []、@ 没有特殊含义,作为分隔符号。 root 表示当前登录的用户,切换成普通用户,会显示普通用户名。 localhost 表示当前主机名。 ~ 表示当前所在的目录,初始登录时显示 ~,表示为家目录(主目录)。 root 用户家目录在 /root,普通用户家目录在 /home/用户名。 # 表示当前登录用户为管理员,若为普通用户,则显示为 $。 命令 [选项] [参数] 其中 选项,为可选项,用于调整命令的功能。 参数,为可选项,用于调整命令的操作对象。 3、文件类型   Linux 内部一切皆文件,不同的类型的文件代表不同的意义。 【类型:】 - 表示常规文件,如 文本文件、压缩文件、二进制文件。 d 表示目录文件(directory) b 表示块设备文件

几个国内开源

ぐ巨炮叔叔 提交于 2020-03-24 23:03:37
1.共创软件联盟 ( Cosoft.org.cn ) 共创软件联盟自2000年2月份成立运作迄今,一方面,充分继承国际上已经投入数千亿美元开发出来的开放源码软件,另一方面,以国家863计划为战略导向,组织研发目前尚没有、同时急需的软件并加以集成,按照联盟许可证规则进行开放。截至 2007年12月 Cosoft.org.cn 已有项目1474项,注册会员49565名。 2.武汉自由软件协会(开源Linux) 成立于1998年6月23日,是国内历史最悠久的自由软件社区组织之一。致力于开源协作开发平台的建设,建有 GRO.clinux.org ,是国内最早建设的也是规模最大的开源软件协作开发平台之一,目前有近800个开源项目,近15000注册开发用户。 3. 开源中国社区 (Open Source Community of China,COC) 自成立起致力于普及、推广以Linux为代表的开源软件知识,使更多的人员认识开源,接触开源,参与开源,使用开源。社区提供了论坛、协同开发、知识库、资源库等资源。据最新统计数据显示,社区共有软件22122个,总下载数为34万余次。 下面的几个开源社区虽鲜有项目让中国人引以为傲,但是毫无疑问,它们为中国开源事业的传播做出了莫大的贡献。它们的技术文章和咨讯也是我们交流知识和了解开源动态的重要窗口。 4. LUPA LUPA是开源高校推进联盟(

Linux:nc命令

天涯浪子 提交于 2020-03-24 20:47:57
1. 简介   nc 常用于溢出、反向链接、上传文本等,是一个强大的网络工具; 2. 用法   ncat [options] [hostname] [port] 2.1 参数说明   时间选项单位:毫秒(ms),秒(s),分钟(m),小时(h)   -l port :绑定该端口,进入监听模式;   -k:侦听模式下接受多个连接;   -n:不通过DNS解析域名;   -p port:指定使用的源端口;   -s:指定使用的源IP;   -m number:最大同时连接数;   -i time:空闲的读写超时时间;   -w:连接超时时间;   -o filename:将会话数据转储到指定文件;   -x filename:将会话数据以16进制形式转储到文件;    来源: https://www.cnblogs.com/virgosnail/p/12561384.html