
操作系统
文章平均质量分 59
moots_
取乎其上,得乎其中;取乎其中,得乎其下;取乎其下,则无所得矣
展开
-
日常与臭虫斗智斗勇
臭虫竟是我制造的?block住进度的bug由我引起此事说来话长,手上有一个小概率出现的bug,这概率有多小呢?咱也不敢说,咱也不敢问,在手上总得解决吧。然后就劈里啪啦一顿 ctrl c + ctrl p,代码完成了,测试也没啥问题,merge到主分支。第二天,测试就报了个p0的bug,还是由我的bug引起的,我这一看吓尿了,block住进度了啊,但我也不是个小白,厚着脸皮,硬着头皮就开始了打到臭虫的道路。排查,排查,在错误思路上排查1、由于报错是我改的代码报的,所以先入为主,认为这个bug就是我原创 2021-04-12 10:22:07 · 222 阅读 · 0 评论 -
bah 带你入门
我们经常会在cmd上写一些命令,而这些命令其实也可以在bash中执行,bash增加了更多的语法,让我们可以写出比较简单的处理流程bash中的分支结构条件if express; thenfiexpress:1、[]whilewhile xxx; doexpressdoneexpress可以是case语句,可以是其它语句方法https://stackoverflow.com/questions/6212219/passing-parameters-to-a-bash-function原创 2020-12-07 21:26:29 · 250 阅读 · 0 评论 -
nftables和iptables的区别
nftables简介1、是一款想取代 (ip、ip6、rarp、eb)tables的基础设施2、它可以在Linux内核>= 3.13中使用nftables和iptables的不同pointiptablesnftables语法前面是双减如。一个键或一个减号。- p tcp。nftables使用了更好、更直观、更紧凑的语法,这是受到tcpdump的启发。表和链iptables附带的表具有预定义数量的基链,您可以以全有或全无的方式获得它们因此,即使您只需要其中一个链原创 2020-11-10 15:38:48 · 4090 阅读 · 0 评论 -
bash常用语法
http://www.gnu.org/software/bash/manual/bash.html#Introduction-and-Notation{} () ``2020.7.21 项目要改动一个bash,取得一个表达式后的值,起初是${ xxxx; } 然后报bad situation,这是为什么?后面是xxx 解决了,原理还未搞清楚...原创 2020-07-21 22:44:43 · 408 阅读 · 0 评论 -
硬件和软件对虚拟化的支持
构建虚拟机的体系结构要求1、平等虚拟机上的应用程序应该跟直接运行在计算机硬件上相同2、安全vmm必须是由硬件所控制的,不可以被运行的虚拟机所中断,虚拟机和计算机硬件是隔离的,并像是和在不同机器上运行一样。另外,虚拟机之间是隔离的,3、效率虚拟化环境下最坏的情况要比直接运行在硬件上差一点点。...原创 2020-07-06 13:07:25 · 1308 阅读 · 0 评论 -
Linux常用
文章目录man命令:查看命令使用文档man手册的一些约定ip简介常用的命令man命令:查看命令使用文档man手册的一些约定IOS命令参考约定:1、互斥元素用竖线(|)隔开2、中括号[]表示可选项3、大括号{}表示必选项4、中括号内的大括号[{}]表示可选项中的必选项ip简介 Linux的ip命令和ifconfig命令类似,但是ip功能更为强大。而且ifconfig是net-t...原创 2020-01-16 20:59:29 · 321 阅读 · 0 评论 -
计算机启动过程
距自己刚接触计算机已经很久了,虽然自己是一名程序员,但很是惭愧,自己对计算机的相关知识还是很薄弱。虽然之前写过计算机启动过程,但是很多细节还是不太熟悉。还是结合一些代码来更为清楚。约定入口①、硬件是如何找到我们的操作系统的? 学过体系结构的都是到,cpu会根据cs:ip指定的位置加载代码。那通电后,只要强制将cs:ip设置为BIOS的起始地址(约定为0xFFFF0)即可。这样cpu就会...原创 2020-01-21 20:59:18 · 320 阅读 · 0 评论 -
Linux根文件系统的过程
文章目录根文件系统Initrd根文件系统初始化过程VFS的注册VFS的挂载根文件系统的挂载真实根文件系统挂载后的操作猜测过程:1、加载根文件系统存储介质的驱动程序(根文件系统存在于一个存储介质中)2、执行根文件系统的初始化代码(从存储介质加载到内存了)根文件系统 对于Linux系统,系统中只有一个根目录,路径是“/”,而其它的分区只是挂载在根目录中的一个文件夹,如“/proc”和“/s...原创 2020-01-20 15:59:47 · 485 阅读 · 0 评论 -
Linux上常用的一些程序
keepalived简介 Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。 VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议),VRRP是为...原创 2020-01-19 19:18:18 · 335 阅读 · 0 评论 -
磁盘虚拟化系列-前奏:Linux的磁盘管理和文件系统
continue…原创 2020-01-19 17:14:36 · 328 阅读 · 0 评论 -
磁盘虚拟化系列(三):存储虚拟化库和工具
文章目录kvm平台工具qemu-img(磁盘管理工具)libguestfsvirt-v2v(v2v工具)kvm平台工具qemu-img(磁盘管理工具) qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件。qemu-img也是QEMU/KVM使用过程中一个比较重要的工具,本节对其用法和实践使用方法进行介绍。 qemu-im...原创 2020-01-19 17:13:28 · 835 阅读 · 0 评论 -
磁盘虚拟化系列(一):qcow2文件、raw文件、qcow2镜像、vmdk文件
qcow2文件跟raw文件原创 2020-01-19 16:58:11 · 2348 阅读 · 0 评论 -
磁盘虚拟化系列(二)存储虚拟化技术
文章目录数据与存储何为存储何为存储虚拟化存储虚拟化原理裸设备+逻辑卷存储设备虚拟化存储虚拟化+文件系统比较各个虚拟化平台的存储虚拟化方案VMware数据与存储 数据在整个计算机系统中是最为重要的一部分(很多公司的机房都叫数据中心),数据也是大多数公司的命根子,是非常珍贵的。数据存储发展已久,跟云计算没有特别的关系。何为存储 白话来说就是记录信息的介质,下图是我们常见的存储介质。现在的家...原创 2020-01-19 16:14:23 · 2183 阅读 · 0 评论 -
centos7 使用libvirt创建kvm虚拟机并vnc连接
环境安装libvirtyum install -y原创 2020-01-13 21:04:19 · 4325 阅读 · 0 评论 -
工具 -- vim 一键美化
文章目录效果图脚本链接vim的常用插件总结NERDTreeYouCompleteMe效果图脚本链接一位老哥总结的脚本 ,大家可以按照指导操作。如果报错提示没有vunder:可以先进行vunder安装1、下载git2、// 这条命令默认安装在 ~/.vim/bundle/vundle 下$ git clone https://github.com/gmarik/vundle.gi...原创 2019-11-28 20:00:10 · 983 阅读 · 1 评论 -
Windows Linux子系统
原文链接:https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/ 我们最近宣布了Windows平台上的Ubuntu上的Bash,它使本机Linux ELF64二进制文件可以通过Windows Linux子系统(WSL)在Windows上运行。该子系统是由Microsoft Win...转载 2019-11-18 10:25:27 · 562 阅读 · 0 评论 -
yum -- Failed connect to mirrors.aliyuncs.com:80; No route to host
yum在配置完阿里的地址后出现 Failed connect to mirrors.aliyuncs.com:80; No route to host解决方法方法一# vi /etc/resolv.conf # Generated by NetworkManagernameserver 8.8.8.8nameserver 114.114.114.114方法二curl -o /...原创 2019-11-13 14:38:36 · 12328 阅读 · 1 评论 -
云计算 入门 -- KVM和libvirt
KVM 在 云计算 - 系统虚拟化 入门及书籍介绍中简述了系统虚拟化的一些概念。而kvm是一个现在非常流行的hypervisor(虚拟机监视器)。libvirt 从功能来说,Hypervisor已经实现了虚拟化的各项功能。为什么还需要一个上层应用呢?因为hypervisor的实现有很多,就像操作系统的文件系统一样,有很多的实现,linux就在此基础上用VFS来统一接口,屏蔽底层,还...原创 2019-11-11 19:05:17 · 280 阅读 · 0 评论 -
云计算 - 系统虚拟化 入门及书籍介绍
系统虚拟化概述 系统虚拟化可以提供给用户一个虚拟的机器 – guest machine,但是其还是脱离不了寄主(原始操作系统+Hypervisor或者裸机Hypervisor – 虚拟机监视器)。 如果采用原始操作系统+Hypervisor方案:guest操作系统是依托于宿主操作系统的,这样的话guest操作系统和guest上的应用程序是运行在非内核模式下,该如何模拟指令的运行(敏感指令 ...原创 2019-11-07 23:42:23 · 1218 阅读 · 0 评论 -
操作系统--(LINUX)关于进程的虚拟空间和可执行文件结构
原创 2019-01-16 22:54:16 · 349 阅读 · 0 评论 -
操作系统--初探如何实现锁机制
目录前言关中断硬件提供的原语test-and-setcompare-and-swapfetch-and-add后言前言 锁对于我来说是一个很难理解的机制,因为底层知识了解不够。只是在Java层面用过其提供的synchronized关键字还有reentrantlock。弱点专攻,所以我专门找了书籍去看了这方面的知识,由于本人能力有限,所以以下言论有错还请各...原创 2019-01-15 08:24:59 · 2847 阅读 · 2 评论 -
操作系统--关于POSIX
目录含义好处说明LINUX上的实现含义 POSIX(Portable Operating System Interface of UNIX,缩写为 POSIX )表示可移植操作系统接口,POSIX标准定义了操作系统应该为应用程序提供的接口标准。好处 POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在...原创 2019-01-17 19:33:31 · 5394 阅读 · 0 评论 -
操作系统--Linux 2.6下的NPTL(经典)
这几天由于工作需要,琢磨了一下Linux下的多线程的相关资料。Linux下最常用的多线程支持库为Pthread库,它是glibc库的组成部分。但是关于Pthread的说明文档非常缺乏,特别是对POSIX多线程规范的介绍以及pthread库中多线程实现方式的介绍实在是少之又少。而多线程编程对于系统程序员而言是必须掌握的技术,因此总是让学习中的程序员觉得头痛不以。我自己也没有太多多线程编程的经验,在这...转载 2019-01-17 19:38:20 · 441 阅读 · 0 评论 -
操作系统--LINUX中块设备文件和字符设备文件的本质区别
原文链接: https://www.cnblogs.com/hu-xx/p/7219013.html在LINUX系统文件类型分类的文章中我们提到了 块设备 和 字符设备文件,那么什么是块设备 字符设备文件呢?他们之间有什么本质上的区别呢? 设备文件分为 Block(块) Device Driver 和 Character(字符)Device Drive 两类。Character Dev...转载 2019-01-18 12:24:03 · 2615 阅读 · 1 评论 -
操作系统--地址转换疑惑与解答
地址转换的时间 访问到内存时都得进行地址转换,例如每执行一条指令,取指令就涉及到地址转换。地址转换的机构 硬件(cpu中的mmu,负责虚拟地址转换,每一个程序运行时,就会将页表信息设置mmu,让mmu知道页面与页框的关系,从而快速计算出实际物理地址)快速计算出实际的物理地址 参考:https://www.cnblogs.com/azheng...原创 2019-01-18 22:55:31 · 799 阅读 · 0 评论 -
window下关闭占用端口使用
最近在写java的socket编程,有时候不小心直接重新启动。就会提示java.net.BindException: Address already in use: JVM_Bind。所以在网上找了下怎么在window下关闭端口!1:查看特定端口被占用情况命令: netstat -ano 和 netstat -ano|findstr 端口号netstat -ano:查看电脑所有...原创 2018-09-07 20:27:52 · 27119 阅读 · 1 评论 -
操作系统--brk()和mmap()详解
如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看。 majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程发生缺...转载 2019-01-21 15:21:29 · 17875 阅读 · 10 评论 -
Linux系统调用表(system call table)
转自:https://filippo.io/linux-syscall-table/ 系统调用号 函数名 入口点 源代码 0 read sys_read fs/read_write.c 1 write sys_write fs/read_write.c 2 open sys_o...转载 2019-02-11 16:40:02 · 5252 阅读 · 0 评论 -
操作系统真象还原--书上完整版代码+工具
书上完备的代码:链接: https://pan.baidu.com/s/17Y8cuW49GTuPabvTXmu4_Q 提取码: 3snymake allbochs -f bochsrc.disk.book这时会启动另外的窗口原窗口:窗口二:在原窗口按c窗口二:...原创 2019-02-28 16:15:56 · 7156 阅读 · 12 评论 -
操作系统真象还原 -- ld: i386 架构于输入文件 lib/kernel/print.o 与 i386:x86-64 输出不兼容
目录原因:解决方案 :第六章实现字符串打印时1.nasm -f elf -o lib/kernel/print.o lib/kernel/print.asm 2.gcc -I ./lib/ -c -o kernel/main.o kernel/main.c 3.ld -Ttext 0xc0001500 -e main -o kernel/kernel.bin ke...原创 2019-02-20 18:20:51 · 3487 阅读 · 1 评论 -
操作系统 -- 重要的组成硬件及作用
目录一:概述二:冯·诺依曼模型三:现代计算机重要组成详解一:概述冯·诺依曼结构广为人知,现代的计算机也脱离不了这个结构。一切复杂都源于简单。在学习操作系统的过程中,我们也应该紧紧抓住起源,认真学习简单的模型机,慢慢再过度到现代计算机。这样循序渐进,才能将很多设计想明白,因为很多是历史遗留问题。二:冯·诺依曼模型1、五大部分:内存,处理单元,控制单元, 输入,输出...原创 2019-08-07 09:46:37 · 673 阅读 · 0 评论 -
操作系统 -- 操作系统绪论
文章目录概述操作系统的功能处理机管理存储管理文件管理设备管理用户接口操作系统的发展史无操作系统的计算机系统(真空管)—— 穿孔卡片:批处理系统(晶体管)—— 磁带存储:联机批处理系统脱机批处理系统多道程序系统(小规模集成电路)多道批处理系统多道程序设计技术分时系统实时系统通用操作系统操作系统的进一步发展个人计算机操作系统网络操作系统分布式操作系统概述 在计算机启动过程中讲到操作系统是如何接管...原创 2019-08-09 10:59:13 · 691 阅读 · 0 评论 -
操作系统 --cpu与指令集
计算机这个黑箱子 计算机展示在我们面前就是一个黑箱子,我们给出声明式的指示(点击键盘、点击鼠标)它就可以做出一系列复杂的响应并给出相应的结果。计算机在短短的几毫秒内发生了什么神奇的事情,始终像是蒙了一层层的纱布,看不清。如何将这个巨大的机器怪物剖析开来,了解它的内部细节?cpu大观 计算机的cpu初步看是这样 一眼看上去是不是也没什么稀奇?而内部确实大有玄机,世界上第一个商用微处理...原创 2019-08-09 15:26:31 · 3760 阅读 · 0 评论 -
操作系统 -- 计算机启动过程
当机器之血(电)唤醒沉睡的机器巨兽,噗呲的瞬间,历经了什么样的变化,才从沉睡中醒来。让我们好好聊聊机器的启动过程。一:ROM的神秘代码(BIOS)何为BIOS?它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控...原创 2019-08-07 13:29:47 · 795 阅读 · 0 评论 -
操作系统 -- 处理器管理
进程的由来进程的定义处理器管理概述linux的处理器管理 在前面操作系统绪论中有介绍到操作系统的几大部分:处理机管理 存储管理 设备管理 文件管理 用户接口。这篇文章主要是对处理器管理这一部分进行详细说明。进程的由来 从联机批处理 -> 脱机批处理 -> 多道批处理 -> 多道程序设计技术,很大的原因是cpu和其他硬件资源速度不匹配(cpu太快,其他硬件速度都跟不...原创 2019-08-11 16:23:30 · 2591 阅读 · 0 评论 -
操作系统 -- 存储管理
内存硬件介绍内存管理发展简史linux内存管理实现 内存存放着程序和数据,是冯·诺依曼结构的重要组成部分。内存容量在不断增长,但是其作用是没有发生变化的。但是由于人们对计算机的使用要求不断发生变化,从只是运行单道程序(独占全机资源),到多道程序设计技术(多道程序共享全机资源),操作系统对存储的管理还是发生了很大的变化。下面就详细说说!内存的发展史内存容量/指标时期出现原因...原创 2019-08-12 14:57:23 · 252 阅读 · 0 评论 -
操作系统--(Linux)LinuxThread vs NPTL
文章出处:http://blog.youkuaiyun.com/guosha/article/details/2976429NPTL: Native POSIX Thread Library Linux从内核2.0到内核2.4期间多线程编程使用的是LinuxThread,但使用这种方式写出的多线程程序在诸多特性上并不是跟POSIX标准兼容的(通过网址:http://www.kernel.o...转载 2019-01-17 17:50:42 · 216 阅读 · 0 评论