最近项目组做xen底层,我已经被完爆无数遍了,关键在于对内核.驱动这块不熟悉,导致分析xen代码非常吃力.于是准备细细的将 几本 linux 书籍慢慢啃啃. 正好看到LINUX内核设计与实现,对于内核中中断下半段该如何选择?大牛的原话是这样的:"从根本上来说,你有休眠的需要吗?要是有,工作队列就是你的唯一选择,否则最好用tasklet.--" 书中一直强调 工作队列是可以休眠的,而且翻译的人总是强调"工作队列是运行在进程上下文的", 对于这个翻译,我不是很理解,进程…
转自:https://blog.csdn.net/cc289123557/article/details/52551176 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/l289123557/article/details/52551176workqueue归入中断子系统是由于和中断处理有密切关系,写博客重要在于整理自己的思绪,写的时候会把一些不懂的细节问题暴露出来,这样会把问题看的更…
[转载]Linux进程调度原理 Linux进程调度原理 Linux进程调度的目标 1.高效性:高效意味着在相同的时间下要完成更多的任务.调度程序会被频繁的执行,所以调度程序要尽可能的高效: 2.加强交互性能:在系统相当的负载下,也要保证系统的响应时间: 3.保证公平和避免饥渴: 4.SMP调度:调度程序必须支持多处理系统: 5.软实时调度:系统必须有效的调用实时进程,但不保证一定满足其要求: Linux进程优先级 进程提供了两种优先级,一种是普通的进程优先级,第二个是实时优先级.前者适用SCHE…
Linux内核分析第四周 扒开系统调用的三层皮(上) 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一.用户态.内核态和中断 用户态:当进程在执行用户自己的代码时,则称其处于用户态,即此时处理器在特权级最低的(3级)用户代码中运行. 内核态:当一个进程执行系统调用而陷入内核代码中执行时,我们就称进程处于内核态,此时处理器处于特权级最高的(0级)内核代码中执行. PS:CPU指令…
[转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之前用到的所有机器,无论是自己的PC还是云服务器,root权限都是妥妥的,但是现在发现实验室的服务器原来自己并没有root权限2333 再看用户的权限.root用户是bug,电脑上所有的文件都是它的,权限位设置对其无效.非root用户默认 只对家目录有完全的控制权限,对/tmp目录有读写的权限./tm…
[转载]Linux 命令详解:./configure.make.make install 命令 来源:https://www.cnblogs.com/tinywan/p/7230039.html 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤 一.基本信息 1../configure 是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本. 2.make 是用来编译的,它从Makefile中读取指令,…
[转载]Linux缓存机制 来源:https://blog.csdn.net/weixin_38278334/article/details/96478405 linux下的缓存机制及清理buffer/cache/swap的方法梳理 缓存机制介绍 写的很好:https://www.cnblogs.com/kevingrace/p/5991604.html 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存…
本文转自http://www.ibm.com/developerworks/cn/linux/kernel/l-thread/ 支持原创.尊重原创,分享知识! 自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性.效率.本文从线程模型入手,通过分析目前 Linux 平台上最流行的 LinuxThreads 线程库的实现及其不足,描述了 Linux 社区是如何看待和解决兼容性和效率这两个问题的. 一.基础知识:线程和进程 按照教科书上的定义,进…
先收藏着,抽空好好看看:http://www.ibm.com/developerworks/cn/linux/l-pow-debug/ 简介 调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者只需仔细考虑程序如何运行,并对问题进行有根有据的猜测. 在修复 bug 之前,首先要确定在源程序中的位置.例如,当一个程序产生崩溃或生成核心转储(core dump)时,您就需要了解是哪行代码发生了崩溃.在找到有问题的代码行之后,就可以确定这个函数中变量的值,函数是如何调用的,更具体点说,为什么会发…
背景:昨晚想尝试一下用putty远程登录我的linux系统,悲剧的是,我竟然连接不上,显示 connection refused   ,连接被拒绝.于是我就想看看能不能在linux下看看能不能访问百度.结果,,也是不行的. 一.Vm下的linux系统上不了网 隔壁的一个伙伴提醒我,说,是不是虚拟机VMware的服务没有开启.一言惊醒梦中人啊 linux下不能访问百度的原因: 粗心,没有开启VM的服务,太大意了,居然是服务没有打开.所以如果下次你的linux访问不了外网,看看是否没有打开服务.汗~…
Linux第四周学习总结--扒开系统调用的三层皮(上) 一.用户态.内核态和中断 系统调用通过库函数. 1.用户态和内核态 区分(不同的指令执行级别): 用户态:在相应的低执行状态下,代码的掌控范围受到限制,只能在对应级别允许的范围内活动 内核态:在高执行级别下,代码可以执行特权指令,访问任意的物理地址. Intel x86 CPU有四种不同的执行级别0-3,Linux只是用了期中的0级和3级分别表示内核态和用户态. 注意逻辑地址和物理地址的区别.逻辑地址是进程地址空间里面的 2.中断 中断处理…
1.如何拿到root权限 在shell里如果看到你的命令输入行最前面显示的是 $符号,说明目前账号只有系统的普通权限. 输入:sudo su 这时能看到shell的输入行最前面已经显示的是#号,说明已经是root权限了. 2.安装szrz命令 首先需要在yum的下载源里查询szrz的包名,命令如下: yum list|grep sz 或 yum list | grep rz 比如找到的包名是 szrz 安装命令如下: yum install szrz 3.上传到linux 直接进入到你想上传文件…
原地址:http://blog.csdn.net/shaovey/article/details/2744487 linux下如何产生core,调试core 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关.若结果为0,则表示关闭了此功能,不会生成core文件. 2)使用ul…
笔者最近想在arm开发板上,开发一个应用程序,经过网上查询发现qt作为跨平台开发软件很不错,于是便选择了qt开发,笔者的qt版本是4.8.6的.由于arm的主频太低,在arm上进行开发编译,效率会大大下降,因此选择了交叉编译.那么问题就来了: 在PC上编译好arm程序后,在arm上运行,运行参数为-qws,但是笔者郁闷的发现,界面上出现了两个鼠标.一个是qt自身的鼠标,另一个是系统的鼠标.当点击移动鼠标时,系统鼠标会擦除其他界面,而qt鼠标会擦除系统桌面. 笔者经过一系列的试验,发现出现,对于移…
导语 正好新人导师让我看看能否把产品目前使用的FileUploader从老的组件库分离出来的,自己也查阅了相关的各种资料,对文件上传的这些事有了更进一步的了解.把这些知识点总结一下,供自己日后回顾,也供有需要的同学参考,同时也欢迎各位大牛拍砖指点共同学习. FileUpload 对象 在网页上传文件,最核心元素就是这个HTML DOM的FileUpload对象了.什么鬼?好像不太熟啊~别急,看到真人就熟了: <input type="file"> 就是他啊!其实在 HTML…
GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据库.在接单的时候,也有客户要求GGTalk能支持国产Linux系统.于是,就逐渐有了要为GGTalk增加Linux端的想法. 还记得在2020年就尝试过使用Avalonia来开发GGTalk的Linux客户端,当时还写了一篇博客<国产化即时通信系统开发 -- 使用Avalonia实现GGTalk的U…
Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6) 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS客户端 4.配置名称解析顺序 5.配置路由与默认网关 6.双网卡绑定 5.配置路由与默认网关 5.1 临时: [1]临时网关配置:route add/del default gw 10.10.10.1 [2]临时路由配置: (1)通过网卡设备出去:route add/del -net 10.10.1…
1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8"> <property name="m…
原文地址:http://www.linuxidc.com/Linux/2014-11/109200.htm 图文详解Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开发环境,给需要的朋友参考学习. Eclipse的Hadoop插件下载地址:https://github.com/winghc/hadoop2x-eclipse-plugin 将下载的压缩包解压,将hadoop-eclipse-kepler-plugin-2.2.0这个jar包扔…
一个设备驱动, 在许多情况下, 不需要它自己的工作队列. 如果你只偶尔提交任务给队列, 简单地使用内核提供的共享的, 缺省的队列可能更有效. 如果你使用这个队列, 但是, 你 必须明白你将和别的在共享它. 从另一个方面说, 这意味着你不应当长时间独占队列(无 长睡眠), 并且可能要更长时间它们轮到处理器. jiq ("just in queue") 模块输出 2 个文件来演示共享队列的使用. 它们使用一个单个 work_struct structure, 这个结构这样建立: stati…
原文地址:http://www.stepday.com/topic/?459 作文一个ExtJs的入门汉子,学习起来的确是比较费劲的事情,不过如今在这样一个网络资源如此丰富的时代,依然不是那么难了的.基本上都是Copy过来加以部分改造即可实现自己想要的功能,加之如今的第三方开发者也大发慈悲地写出了API的帮助文档以及示例文档.关于ExtJs内的文件上传,将从以下几个方面进行展开讲解: 一.ExtJs文件上传版面的布局以及配置 因为ExtJs的文件上传组件filefield是基于form表单提交数…
增加logo的技术点:文件上传,国际化 文件上传的功能在struts2中是使用文件上传拦截器完成的. 1.首先需要在页面上添加一个文件上传的超链接. 点击该超链接能够跳转到文件上传页面.我给该表单页面中的field字段使用了logo作为名字,即name=logo. 2.在SurveyAction中进行表单的接收.接收的类型包括文件名.文件类型和文件本身,以方便处理,给每个字段都提供了set/get方法. //上传的logo图片 private File logo; //上传的logo的文件 pr…
debian服务器上不了网,缺少默认网关 root@hbg:/# route -nKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth2192.168.2.0     0.0.0.0         2…
内容概述 multer是常用的Express文件上传中间件.服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题.在SF上也有同学问了类似问题<nodejs multer有没有查看文件上传进度的方法?>.稍微回答了下,这里顺便整理出来,有同样疑问的同学可以参考. 下文主要介绍如何利用progress-stream获取文件上传进度,以及该组件使用过程中的注意事项. 利用progress-stream获取文件上传进度 如果只是想在服务端获取上传进度,可以试下如下代码.注意,这个模块跟Ex…
目录 1. 前言 2. 关于vue-simple-uploader 3. 基于vue-simple-uploader封装全局上传组件 4. 文件上传流程概览 5. 文件分片 6. MD5的计算过程 7. 秒传及断点续传 7.1 对于前端来说 7.2 前端做分片检验:checkChunkUploadedByResponse 8. 源码及后记 1. 前言 之前公司要在管理系统中做一个全局上传插件,即切换各个页面的时候,上传界面还在并且上传不会受到影响,这在vue这种spa框架面前并不是什么难题.然而…
先说结论:VMware建议装在固态上运行快,系统文件最好放在机械硬盘上(有钱除外),虚拟机会伤固态. 今天在学淘淘商城中的搜索项目,克隆了一个虚拟机,这个虚拟机开机贼慢,令人无法忍受,我觉得我再也受不了我那坑爹的HHD了.我笔记本上有两块硬盘,一块是东芝的HHD还有一块是国产的SSD,HHD上放的是一般的可以随时替换的数据,SSD上放的系统和开发软件和它们的数据.相信大家已经知道SSD的读写次数是有限的,要不然也不会问这个问题,关心这个问题.因为虚拟机的系统文件比较大所以我原先就是放在放在HHD…
最近在用unity做联机游戏,在网络方面费了不少劲,总是在代码没问题的时候出一些莫名奇妙的BUG,不过后来都决定了.如果感觉代码没问题,八成就是防火墙的问题. 用unity发布后的游戏,如果涉及网络,在第一次运行时会出现这个界面——windows 安全警报. 我清楚记得我点了允许访问,可后来还是出现了用TCP连接不上的问题,于是我把游戏复制到了另外一文件夹下,运行后就又出现了这个界面,我点了允许,运行后却可以顺利的实现TCP连接,然后我就感觉特别奇怪,我已经被各种奇怪的BUG困惑好几次了,比如说…
今天给大家来分享一下跨服务器操作数据库,还是以SQL Server的管理工具(SSMS)为平台进行操作. 什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查. 为什么要进行跨服务器操作 随着数据量的增多,业务量的扩张,需要在不同的服务器安装不同的数据库,有时候因为业务需要,将不同的服务器中的数据进行整合,这时候就需要进行跨服务器操作了. 跨服务器操作的工具是什么? DBLINK(数据库链接),顾名思义就是数据库的链接…
对于管道和FIFO来说.必须应该先有读取者存在.否则先有写入者是没有意义的. 而消息队列则不同,它是一个消息链表,有足够写权限的线程可往别的队列中放置消息,有足够读权限的线程可从队列中取走消息.每一个消息都是一个记录,它由发送者赋予一个优先级.在某个进程往一个队列写入消息之前.并不须要另外某个进程在该队列上等待消息的到达.消息队列是随内核的持续性,一个进程能够往某个队列写入一些消息,然后终止,再让另外一个进程在以后的某个时刻读出这些消息.这跟管道和FIFO不一样,当一个管道或FIFO的最后一次关…
当我们在使用 SWFUpload 做文件上传时,我们需要把已经上传的文件列表做一个删除, 但在我们把已上传列表删除后,再重新上传时,会发现提示 上传队列满 的问题,原因就是有一个状态对象中的一个 成功上传数据未处理,而导致这样的问题. 因此 做了这个插件来控制  这个 成功上传数量.用于在删除已上传文件列表时,来处理已经成功上传文件数量 插件代码如下: /** * SWFUpload 已上传成功数量控制 插件 * 功能说明: * 对已上传成功的文件数量进行控制 * 作 者: Alfa.wu *…