首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

保护模式中断异常() -- 硬件原理篇

引言 在我们这个系列第一篇文章中,我们就已经使用过了 BIOS 10H 中断,用来在屏幕打印一行字符: 计算机是如何启动?...如何制作自己操作系统 除了 10H 中断,我们还使用过 BIOS 21H 中断,用来让实地址模式程序退出,以及使用 15H 中断获取物理内存信息: 保护模式进阶 — 再回实模式 实战分页机制实现...,此时我们可以通过操作控制字 OCW(Operation Control Word)来实现操作控制,虽然 ICW 一样,OCW 也不只有一个,而是有 OCW1、OCW2、OCW3 三个,但实际我们只需要使用...结语 本文我们详细介绍了保护模式中断异常与实地址模式不同之处,以及如何通过程序操作硬件 — 可编程中断控制器初始化、屏蔽或打开中断响应,这些是理解硬件系统、操作系统基础知识,也是硬件部分...本文涉及实际开发内容比较少,你是否已经迫不及待想要立即尝试一下如何通过程序让我们能够在保护模式下触发响应中断呢?敬请期待下一篇文章中实战吧。 5.

96620

Emacs 快捷键

常用缺省 Emacs 按键前缀 按键前缀 描述 C-c 当前编辑模式特有的命令 C-x 文件和缓冲区命令 C-h 帮助命令 M-x 函数名称 2. ...M-a beginning-of-sentence 将插入点移到句子开始处。 M-e end-of-sentence 将插入点移到句子结尾处。...常用 Emacs 编辑命令 键盘输入 函数 描述 Ins overwrite-mode 切换改写模式(缺省为关闭)。...Emacs 搜索替换命令 绑定 命令或者函数 描述 C-s [字符串 ] [C-w ] [C-y ] isearch-forward 前向增量地在整个缓冲区中搜索字符串(在缺省情况下,将搜索您一次给出搜索字符串...高级 Emacs 标记选择命令 键盘输入 功能 描述 C-u C-space 移动到标记环中前一个标记。 C-x C-x exchange-point-and-mark 交换光标标记位置。

2K20
您找到你想要的搜索结果了吗?
是的
没有找到

开发者福利:solarized跨平台配色方案

Solarized 是目前最完整终端、编辑器、开发工具配色项目,适用于: 操作系统:Mac OS X、Linux、 Windows 编辑器 IDE:Vim、Emacs、Xcode、TextMate...这篇文章里Mac OS X终端为例 安装: git clone git://github.com/altercation/solarized.git 终端配色 在 solarized/osx-terminal.app-colors-solarized...下双击 Solarized Dark ansi.terminal Solarized Light ansi.terminal 就会自动导入两种配色方案 Dark Light 到 Terminal.app...所以一些工具 ls, top 等都是 BSD 那一套,ls 不是 GNU ls,所以即使 Terminal/iTerm2 配置了颜色,但是在 Mac 敲入 ls 命令也不会显示高亮。...CLICOLOR=1: 其效果类似于ls -G $ vi ~/.bash_profile export CLICOLOR=1 示例: ls mtuu vim编辑C源码 Haskell HTML PHP Python

1.6K60

Linux 下 12 个最佳 Notepad++ 替代品

Notepadd++ 是一款完全免费源代码编辑器,旨在替代 Windows 记事本 – 基于 Scintilla 用 C++ 编写,并实现 Win32 API STL,确保程序尺寸小且执行速度快...Vim 与其他文本编辑器有点不同,因为它在终端或命令提示符下工作,并提供多种模式:用于移动正常模式、用于键入插入模式以及用于发出命令命令模式。...要在 Linux 安装 GNU Emacs,您可以使用以下适合您特定 Linux 发行版命令。...GNOME GNOME 文本编辑器是 GNOME 桌面系统主要编写工具,它为各种编程语言(包括 Python、JavaScript、C C++)提供了内置主题语法突出显示出色编辑用户体验。...VS Code 功能包括 IntelliSense、内置 Git 命令、编辑器中内置调试器(带有调试中断)、调用堆栈交互式控制台、支持几乎所有编程语言等。

73620

树莓派:文本编辑器与文件

GNU nano是Unix系统下一款常用文本编辑器,简单易用著称。与之相比,功能更强大ViEmacs编辑器,学习曲线比nano陡峭很多。...因此,^G表示就是同时暗下Ctrl键G键。...下面是一些常用功能键:  M-\ 把光标移动到文本开始 M-/ 把光标移动到文本结尾 M-A 开始选择文本块 ^K 剪切所在行或选定文本块 M-6 复制所在行或选定文本块 ^U...在树莓派中,文件存储于那张SD卡。除了用户编辑生成文本,数据还可能是Linux系统中程序或配置文件。在Unix哲学下,文件是数据存储唯一形式,就连硬件也会虚拟成一个文件。...比如: /home/pi/test.txt 总结 本文介绍了Linux下一款简单易用文本编辑器nano常用文件命令。

73810

服不服!数据科学语言鄙视链

▍网传编程语言鄙视链如下: asm → C ←→ C++ ←→ Java ←→ C# → JavaScript → VB → VBScript Common Lisp ←→ Scheme → Emacs...Lisp → Python Python ←→ Perl → shell PHP → all ▍网传编程语言单身版鄙视链如下: 老婆漂亮程序员,鄙视老婆不漂亮程序员。...有老婆程序员,鄙视没有老婆程序员。 没有老婆有女朋友程序员,鄙视单身程序狗。 在单身狗之间,才有语言、编辑器操作系统互相鄙视。...▍网传操作系统鄙视链如下: Unix → Linux → Windows → DOS Solaris → 其他Unix *BSD ←→ System* OpenBSD ←→ FreeBSD → NetBSD...Arch → Debian* → Redhat* Debian → Ubuntu Fedora → CentOS → RHEL OSX → all 殊不知,数据科学语言也有自己鄙视链,太形象了 ?

1K30

盘点OSX最佳DevOps工具

对于运维人员来说,他们往往需要各种各样工具来应对工作需求,近日Dustin Collins通过“The Best DevOps Tools on OSX”一文对OSX平台上工具进行盘点,由OneAPM...协作方面 Slack——沟通(内部或对外),还支持Github、JenkinsPingdom推送通知。 Google Drive——分享设计文档/电子表格/演示文稿(内联注释十分强大)。...docker-machine——使用它来建立VirtualBox虚拟机从而运行Docker服务,也可以在OSX安装Docker客户端。...packer——构建AMI首选工具,比vagrant-aws插件更为轻量级。 RubyMine——vim还是emacs?都不是首先。...PyCharm——很棒debug工具,集成了IPython notebook。笔者使用过每一种Python IDE,最终在前几年选中了它。

1.5K100

树莓派:文本编辑器与文件

GNU nano是Unix系统下一款常用文本编辑器,简单易用著称。与之相比,功能更强大ViEmacs编辑器,学习曲线比nano陡峭很多。...因此,^G表示就是同时暗下Ctrl键G键。...下面是一些常用功能键:  M-\ 把光标移动到文本开始 M-/ 把光标移动到文本结尾 M-A 开始选择文本块 ^K 剪切所在行或选定文本块 M-6 复制所在行或选定文本块 ^U...在树莓派中,文件存储于那张SD卡。除了用户编辑生成文本,数据还可能是Linux系统中程序或配置文件。在Unix哲学下,文件是数据存储唯一形式,就连硬件也会虚拟成一个文件。...比如: /home/pi/test.txt 总结 本文介绍了Linux下一款简单易用文本编辑器nano常用文件命令。

1.4K50

Mac 配置终端环境

Mac 配置终端开发环境 ---- 概述 作为一个服务端开发人员基本都是通过终端和服务器打交道,所以一个好个开发人员那么他终端配置也是高效。...我个人终端开发环境有以下组成: iTerm2+Oh My Zsh tmux emacs 这些软件对于终端服务器开发足矣,废话少说我们来介绍一下它配置安装。...很多快捷键都是通用 Emace 等都是一样 ⌃ + u:清空当前行 ⌃ + a:移动到行首 ⌃ + e:移动到行尾 ⌃ + f:向前移动 ⌃ + b:向后移动 ⌃ + p:一条命令 ⌃ + n...⌃ + t:交换光标之前字符 zsh 我们接下来安装zsh,这个需要通过mac brew命令来安装,例如: brew install zsh #在全局shells增加zsh emacs /etc...由于macemacs版本非常老,并且没有图形化界面,现在新版osx系统都增加了保护系统程序。

2.3K120

论开发者最讨厌编程语言竟然是...

而那些很少被标记为“dislike”语言,大多都是在其他榜单中增长较快,比如 R、Python、Typescript、Go Rust 等。 ? ? 如上图所示,橙色点代表最不喜欢语言。...开发者最不喜欢技术包括 Internet Explorer、Visual Basic、Flash、COBOL、Fortran Pascal ; 普遍喜欢技术则包括:机器学习、Git、Python...有意思是,数据还体现了行业中存在技术型竞争关系,像是 Linux 、OSX vs Windows,Git vs SVN,vim vs emacs ,React vs Angular 等。...@neinei:我不听,php是世界最好语言 @苍暮之星:我工作就用PHP,时不时帮人搞个小管理后台或者小网站之类赚点零花钱,但是真心觉得PHP太零散,规范性方面远不如C++这种企业级开发语言。...@Tim:汇编语言是世界最好语言。。。 @隐王成一:语言不分好坏,能赚钱就行

1.1K71

Emacs 折腾记

在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器。...目录 TOC {:toc} 文本编辑环境——Evil 从 Vim 转到 Emacs 最大不适应就是以前那些用得飞起编辑模式简洁熟悉快捷键不好使了,需要切换到频繁 Ctrl+ Alt+ 各种组合键去...start python % 使用 Emacs 运行外部命令方法 M-!...C/S 模式快速启动 Emacs Emacs 启动速度是相比 Vim 来说被诟病吐槽得很多一个点,我们在 Windows 下可以利用 C/S 模式来实现 Emacs 快速打开文件。...varible ALTERNATE_EDITOR) 平滑滚动 Emacs 默认滚动方式 Vim 不一样,是光标移到屏幕或者下边缘时突然跳动半屏,比较不符合我目光跟着光标走习惯,这个可以使用一个插件来解决

1.3K20

程序员效率指南

Rule 1: 尽量不要用windows进行开发 除非你只用dotnet开发软件,不然osx/ubuntu会是更好开发平台。...武学中要打通任督二脉,靠勤奋往往是不够,还要有际遇,好比虚竹遇上了无涯子或者张无忌遇到了白猿。程序世界里无涯子白猿们都在github,只是需要你发掘。...我使用了几年vim,又换用过大半年emacs,为了强制自己习惯emacs,我甚至在bash中把vim alias成emacs。...一个程序员效率很大程度上跟他snippet库有关。如果你python class,html标签,erlang/elixirotp代码还是一个字符一个字符手敲,那么你该好好看看这个插件了。...从那以后,我会时不时地看一些各种各样screencast(rails居多),学习点新东西同时,还能学习高手习惯。 Rule 10: 订阅「程序人生」 这个不解释,你懂

87660

Emacs 折腾记

在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器。...文本编辑环境——Evil 从 Vim 转到 Emacs 最大不适应就是以前那些用得飞起编辑模式简洁熟悉快捷键不好使了,需要切换到频繁 Ctrl+ Alt+ 各种组合键去,以前就听说过有 Evil...这么个东西,试了一下发现这货还真是强大,常用编辑模式、快捷键、命令,甚至宏正则表达式等等操作都模拟得很好,跟在 gVim 里感觉一模一样,平移编辑习惯坡度一下没了。...C/S 模式快速启动 Emacs Emacs 启动速度是相比 Vim 来说被诟病吐槽得很多一个点,我们在 Windows 下可以利用 C/S 模式来实现 Emacs 快速打开文件。...For use with Internet Explorer 平滑滚动 Emacs 默认滚动方式 Vim 不一样,是光标移到屏幕或者下边缘时突然跳动半屏,比较不符合我目光跟着光标走习惯,这个可以使用一个插件来解决

1.8K10

Emacs 29快到了!我们能期待什么

js-ts-mode json-ts-mode python-ts-mode typescript-ts-mode Tree-Sitter 目前在新分支中也拥有特殊地位,emacs-29因为新功能仍然可以添加到它...纯 GTK Emacs 为 Wayland 而来! Emacs 在 Linux 主要问题之一是它在 GUI 模式下运行时对 Xorg 依赖。...C# 新主要模式 csharp-mode现在是 Emacs 原生主要模式,并且基于cc-mode. 次要特征 在脚本中使用 Emacs 更容易!...事实,对 webp 图像支持已成为默认行为,因为您需要传递--without-webp给 Emacs 配置脚本以禁用 webp 支持。 C++ 模式现在支持 C++20 标准 是的。...更好鼠标触摸板支持 Emacs 现在使用 XInput 2,它使 Emacs 能够支持更多输入事件,例如触摸板事件。例如,默认情况下,触摸板捏合手势会增大或减小当前缓冲区文本大小。

2.4K20

编程语言中那些有趣命名

最早递归缩写命名实例应该是1977年或1978年出现TINT编辑器,其命名为“TINT Is Not TECO”(TINT不是文字编辑器修正器),它是一个MagicSix编辑器。...这又启发了麻省理工大学两个Lisp Machine 编辑器命名,一个叫做 EINE (“EINE Is Not Emacs“,EINE不是 Emacs),另一个是 ZWEI (“ZWEI Was EINE...Wine:Wine Is Not an Emulator,是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)运行 Windows 应用兼容层...PNG:PNG’s Not GIF,一种图像文件存储格式,其设计目的是试图替代GIFTIFF文件格式,同时增加一些GIF文件格式所不具备特性。...PNG名称来源于“可移植网络图形格式(Portable Network Graphic Format,PNG)”, EMACSEMACS Makes A Computer Slow,其自我调侃意味就太明显了

1.1K20

tmux,你需要终端神器

应用场景 目标主机需要通过多次跳转,想另开终端做辅助调试时,免去重复多次跳转 保存当前终端状态,方便下次登入时继续做调试开发 给异地登入用户做功能演示时 实现更高级 nohup功能 预算拮据,只有一个办公屏幕...tmux 与 screen 两者都是做终端复用工具,相比于 screen,tmux 支持 Vi/Emacs 风格键盘映射,更好接口和文档,以及更好脚本控制。...安装 # for centos/redhat/fedora yum install tmux # for ubuntu/debian apt-get install tmux # for OSX brew...install tmux 常用参数 新建/恢复/查找/关闭 session 新建名为name会话(无-s参数则默认数字命名) (常用) 当多个用户使用 tmux a或 tmux a-t...优化设置 (重要) 如果你有使用 screen软件习惯,那么 Ctrla作为快捷键前缀会更加顺手 使用 vi风格复制粘贴功能,用于不同pane间内容复制粘贴, C-a[进入拷贝模式, <space

79420

网络编程(二).UDP

参数s非合法socket处理代码 EFAULT 参数中有一指针指向无法存取内存空间 ENOTSOCK 参数s为一文件描述词,非socket EINTR 被信号所中断 EAGAIN 此动作会令进程阻断...()获取相应错误代码 EBADF 参数s非法socket处理代码 EFAULT 参数中有一指针指向无法存取内存空间 ENOTSOCK 参数 s为一文件描述词,非socket EINTR 被信号所中断...---- 附:TCPUDP区别 Tip: 引自 《TCPUDP最完整区别》 TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单...4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证    UDP应用场景 1.面向数据报方式 2....也就是说,通过TCP连接传送数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付 3.TCP面向字节流,实际是TCP把数据看成一连串无结构字节流;UDP是面向报文

61920
领券