- 博客(52)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
原创 Linux.Shell Scirpt.基本够用的操作
基本够用的 Shell Script 语法选择 Shell在 Shell 脚本的第一行设置,如下选择 bash 来运行#!/bin/bashLinux 中的 Shell 有多种,常见有以下:Bourne Shell(sh),是 UNIX 最初使用的 Shell,在不同 UNIX 下均能使用。sh 在 Shell 编程上非常好用,但在与用户的交互上不如其他。Bourne Ag...
2019-09-01 22:06:26 716 1
原创 计算机体系结构.微结构概述
计算机体系结构.微结构概述随着工艺的进步,从集成电路发展到大规模集成电路,再到超大规模集成电路,相同面积内可集成的晶体管数目越来越多,这也就给了芯片设计人员极大的空间来发挥身手。在体系结构的发展历程中主要有两个阶段,第一个阶段是专注提升单核性能的阶段,受到摩尔定律的推动,处理器主频越来越高,出现了流水线、动态调度(乱序执行)、多发射等经典的设计,主要是提高ILP(Instruction Lev...
2019-07-03 20:19:25 1776
原创 计算机体系结构.指令集架构
计算机体系结构.指令集架构微结构与ISA微结构(Microarchitecture)对应的是底层硬件如何实现指令执行的,那么指令集架构(Instruction Set Architecture)对应的是程序员所看到的程序的模样。具体指令是如何被处理器一步一步完成执行任务的,这交给了微结构。而到底有哪些指令可供使用、指令是什么格式、哪些通用寄存器可以用,以及这些指令在程序员看来是要如何执行的,...
2019-06-08 22:28:19 10406 1
原创 计算机体系结构.计算机发展历史
计算机体系结构.计算机发展历史两大定律与两种结构既是要回顾计算机的发展,那必然绕不开著名的摩尔定律。当然摩尔定律想必已是闻名天下,但除此之外在体系结构领域内,还有一个定律叫Dennard Scaling,相对而言不是那么有名。此外还有一个绝对绕不开的,那就是著名的冯诺伊曼结构。比较巧合的是,体系结构领域内也有一个与之对应、却不太出名的,叫哈佛结构。摩尔定律相同面积的集成电路里,晶体管数...
2019-05-25 16:50:04 9105
原创 计算机体系结构.是系统结构还是体系结构
计算机体系结构.体系结构简介什么是计算机体系结构对于“Computer Architecture”,有些地方译为“计算机系统结构”,有些地方译为“计算机体系结构”。这两种翻译都对,只是经常会被混用。本文将以“体系结构”为主,不过如果偶尔出现了“系统结构”那也不要慌,其实指的都是”Computer Architecture“。计算机体系结构包含了整个计算机设计与实现的方方面面,是对整个计算机系...
2019-05-21 16:01:37 2302
原创 UEFI.源码分析.DXE的异步事件服务.第三部分.定时器与时钟中断
源代码:EDK2版本:UDK2017UEFI源码分析第二篇,异步事件服务第三部分,定时器第一部分,事件驱动第二部分,任务优先级设置定时器EVT_TIMER244 EFI_STATUS 245 EFIAPI 246 CoreSetTimer ( ...
2018-05-16 11:33:04 971
原创 UEFI.源码分析.DXE的异步事件服务.第二部分.任务优先级
源代码:EDK2版本:UDK2017UEFI源码分析第二篇,异步事件服务第二部分,任务优先级第一部分,事件驱动定时器类型EVT_TIMER将在第三部分任务优先级简述典型的优先级有四种/** MdePkg/Include/Uefi/UefiSpec.h **/585 // 586 // Task prior...
2018-05-10 00:18:52 1005
原创 UEFI.源码分析.DXE的异步事件服务.第一部分.事件驱动
源代码:EDK2版本:UDK2017UEFI源码分析第二篇,异步事件服务第一部分,事件驱动事件相关接口参考文献
2018-05-09 16:02:04 1420 1
原创 UEFI.源码分析.DXE的内存服务.第三部分.HeapGuard
源码EDK2:TianocoreUEFI源码分析系列第二篇,DXE阶段的内存服务第三部分,HeapGuardDXE阶段源码目录MdeModulePkg/Core/Dxe基于开篇日(2018/04/18:16:30)时最新的EDk2版本,commit为255101471918ed8840f2be347916b90eef0e9c08从初始化过程入手直到CoreAddMemo...
2018-04-23 20:12:48 1132
原创 UEFI.源码分析.DXE的内存服务.第二部分.函数接口
源码EDK2:Tianocore UEFI源码分析系列第二篇,DXE阶段的内存服务第二部分,函数接口DXE阶段源码目录MdeModulePkg/Core/Dxe首先我们来分析上一节的遗留问题,即函数CoreAddRange之后我们分析一下其余的接口,如申请内存、释放内存等最后我们从一个整体的视角来看整个内存服务初始化流程首先我们回顾一下整个内存初始化的过程。在D...
2018-04-21 16:56:53 2160
原创 UEFI.源码分析.DXE的内存服务.第一部分.初始化
源码EDK2:TianocoreUEFI源码分析系列第二篇,DXE阶段的内存服务第一部分,内存服务的初始化过程DXE阶段源码目录MdeModulePkg/Core/Dxe源码版本为UDK2017目前最新版2018代码在/Dxe/Mem/下多了HeapGuard.c这个文件,看名称应该是用来守护堆操作防止异常的。在UDK2017中并没有这个特性,所以我们的分析按照UDK2017的代码来。...
2018-04-13 09:24:41 4536 3
原创 UEFI.源码分析.DXE阶段的执行
源码EDK2 : TianocoreUEFI源码分析系列第一篇,DXE阶段的初始化与执行流程源码结构MdeModulePkg/ Core/ Dxe/ Dispatcher/ DXE调度器DxeMain/ DXE阶段入口函数Event/ 异步事件机制FwVol/ 闪存文件系统FFSFwVolBloc...
2018-04-11 16:12:37 6171
翻译 PCIe是如何工作的——How PCI Express Works
原文链接:原文https://computer.howstuffworks.com/pci-express.htm作者 TRACY V. WILSONPCI(Peripheral Component Interconnect)插槽是计算机体系中很重要的一个部分,这也让大多数人都习以为常了。多年以来,PCI已经成为了一个通用的、有用的方法来连接声卡、显卡、网卡到主板上。但是PCI也
2018-02-02 17:34:22 7304
原创 Linux.ext4文件系统.inode和extent
翻译自http://computer-forensics.sans.org/blog/2010/12/20/digital-forensics-understanding-ext4-part-1-extentsEXT4作为EXT2、EXT3家族的下一代文件系统,已经鱼2008年10月被2.6.28版本的内核接纳。在本文撰写时,EXT4已经被许多发行版Linux作为默认的文件系统。EXT4文件系
2017-06-27 00:10:48 8256 9
原创 计算机网络.五层协议栈模型简介
OK,又进入了考试复习的阶段不知道我这样用博客来准备考试是不是有点不太好复习纲要按照五层协议栈模型 物理层链路层网络层传输层应用层物理层bit物理层解决如何在物理介质上传输bit的问题说到底,任何电脑中需要传输的数据,都是一堆0和1,那么物理层的任务,就是传输0和1最简单如以某个范围的高电压表示1、低电压表示0,或以电压由低变高表示1、由高变低表示0等等,也就是bit的编码
2017-05-29 23:17:31 8891 6
原创 Linux. Hadoop Hbase & MapReduce
Using Map Reduce to read/write table in HBaseinstall Hadoop & Hbasehadoop.apache.orghbase.apache.orginstall hadoopinstall hadoop tutorial -> linksome questions I met and solutions I found -> link
2017-03-27 10:01:42 815
原创 Linux.实现一个简单的shell
fork & execveShell框架shell start and wait for inputing command and paramentsidentify the commandcannot identify then print ‘bad command’ and go back to waitif exit then exit() shellelse fork(), ch
2017-03-25 13:26:21 1952
原创 Linux.网络抓包库libpcap
TCPDUMP & Libpcap$ uname -aLinux niugenen 4.4.0-66-generic #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/LinuxDownLoad Libpcapdownload linkclick “libpcap-1.8.1.tar.gz” to downl
2017-03-23 20:31:48 1802
原创 java.探索EJB的使用
EJB到底是什么是这个看完才知道Enterprise Java Bean,其实就是进一步封装了RMI的一个技术,让编程人员可以更专注于功能的实现而不是其连接。引用原文中的一段话如下 通过RMI 技术,J2EE 将EJB 组件创建为远程对象,EJB 虽然用了RMI 技术,但是却只需要定义远程接口而无需生成他们的实现类,这样就将RMI 技术中的一些细节问题屏蔽了。但不管怎么说,EJB 的基础仍然是
2017-03-09 03:58:38 1468 2
原创 Linux.分区、格式化、挂载
双系统+小硬盘=ubuntu空间不够用于是用win10自带的分区工具(右键计算机-管理-磁盘管理器)删掉了一个卷,大约20G,决定将这块空间挂载到ubuntu上如今一块500G的SSG要一千块,实在买不起系统与硬盘niugen@niugenen:~$ uname -aLinux niugenen 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 2
2017-03-03 02:36:25 1543
原创 java.使用RMI实现上传和下载
OK来搞我的实验作业了打算模拟一个简单的git在我看来一个简单的git,无非就是上传和下载没有版本控制,没有分支控制,什么也没有仅作为一个云端保存代码的工具那么问题来了,如果没有版本控制的功能,还能称之为git吗git版本控制原理功能设计需求就是我要完成作业啦> GitClient init [repository name]将当前工作目录注册到远程reponsity,之后再在此目录
2017-03-02 20:31:22 1954
原创 Linux.配置Hadoop环境的一些问题解决
弄了很久几篇教程官方教程很良心的中文版教程问题与解决问:伪分布环境配置的时候,启动Hadoop时提示输入root的密码,但是无论如何也无法输入正确。(本人参考很良心的中文版教程进行的配置)$ sudo /usr/local/hadoop/sbin/start-dfs.shStarting namenodes on [localhost]root@localhost's password:
2017-02-24 00:12:25 5425 1
原创 Java.给Linux安装JDK和Eclipse
好吧在windows上玩够了不过还是Linux比较省心因为windwos一旦出错就让人满头雾水不知所措操作系统版本$ cat /proc/version Linux version 4.4.0-57-generic (buildd@lgw01-54) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #78-Ubunt
2017-02-16 22:55:23 940
原创 Java.RMI远程方法调用
RMI(Remote Method Invocation,远程方法调用)是Java进行调用远程对象的一种技术,基于Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信。形象来说,就是你把服务端的对象写好、绑定到某个端口,就可以在客户端访问这个对象的方法了客户端需要知道的有ip和端口,以及绑定名客户端有怎么知道对象有什么方法呢?这里有Remot
2017-02-16 11:56:07 659
原创 GitHub in Linux/Ubuntu的配置安装
最近萌发了使用github的冲动尽管现阶段最大的好处还是将代码保存到了远程因为感觉并不会用到分支等等其他功能的样子系统版本$ cat /proc/versionLinux version 4.4.0-57-generic (buildd@lgw01-54) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #78-Ub
2017-02-15 18:11:13 703
原创 JavaEE.第一步是环境配置而不是HelloWorld
啥都不讲了,环境配置搞起所需材料jdk(Java Development Kit)eclipse for JavaEEtomcat一步一步JDK即 Java Development Kit , 写Java的东西这玩意必不可少,其包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。链接JDK安装的时候 第一次安装JDK第二次安装JRE两者不能在同一目录下建议形式 /Ja
2016-06-24 20:09:51 4930
原创 计算机组成.更好的利用处理器.从输入输出看中断
计算机组成.更好的利用处理器.从输入输出看中断- 有了存储器就足够了吗?不,还差最后一步的包装- 即外设 - 诸如显示屏、键盘、鼠标、音响等等,这些才是我们直接可以接触到的计算机 - 这些设备,如显示屏,是接收图像的数据并显示出来;而鼠标、键盘则属于输入设备,这些数据是某程序运行所需要用到的,比如我现在正在打字的火狐浏览器 - 也就是说,外设也需要也需要数据,这些数据也要被CPU来处理,而这些数据的传输也
2016-06-10 15:22:39 1069
原创 计算机组成.记忆力核心.存储器Memory
CPU终究只是一个执行部件,它所执行的指令和数据来自哪呢?总不能由人来输入吧,我觉得键盘输入的速度肯定是比不上CPU运行的速度的虽然根本上来说还是我们输入的,但我们不直接给CPU,而是放在一个地方存起来,也就是存储器。存储器也是机器啊,机器之间交换数据的速度就快多了嘛说得简单点,存储器就是为了存储处理器所需要的数据的指令的PS:图片要么是我自己画的(Visio很不错)、要么就是我从网上找的(
2016-06-10 06:33:44 12741 4
原创 XML.转换XML的工具.XSLT
eXtensible Stylesheet Language Transformations本身是XSL规范的一部分,专门用于对XML的树型数据进行重组转换,并可以以各种格式输出示例//hello.xml<?xml version="1.0"><?xml-stylesheet type="text/xsl" href="hello.xslt"?><message>hello</messag
2016-06-08 00:58:11 2735
原创 XML.更好的文档类型定义.XML Schema
相对于DTD,XML Schema则是专门属于XML的文档类型定义还是专有的好特点一致性:基本语法规则与XML一致完备性:完美支持XML各种特性 规范性准确性:嗯 面向对象特征:OO扩展性:DTD中没有则XML必然不能有,但XMLSchema则允许一些实现无法确定的元素出现数据类型简单类型:仅文本或空白,不能包含子元素和属性 复杂类型:包含了元素或属性或二者的类型 常用 字符串
2016-06-07 22:02:18 972
原创 XML.一个简单的文档类型定义.DTD
Document Type DefinitionDTD这个词其实在SGML就看到过了其实没错,DTD本是面向SGML的通常在某一领域内,其信息的交换都是遵循一定的模式的 所以我们就希望来约束这种信息的模式,加强信息在双方之间的可交换性XML本身SGML的子集,其DTD也自然可以拿来用而XML用的DTD又是SGML的DTD的一个子集 XML uses a subset of SGML D
2016-06-07 21:17:06 961
原创 XML.可扩展标记语言.就知道你不知道英文全称
eXtensible Markup Language , 可扩展标记语言,简称XML读作“叉按木爱要”发展史XML实际上是标记语言(Markup Language)的一种,其由来、发展也就是标记语言的发展历程。SGMLStandard Generalized Markup language (SGML; ISO 8879:1986)标准通用标记语言是IBM自1960年代就在发展的GML
2016-06-07 20:21:28 1550
原创 OpenGL.光栅化就是扫描转换
进一步说,对于一些几何,我们还只是有数学的抽象表达,但实际的图像确实离散的像素点所以光栅化其实就是把数学表达转化为像素表达,得到的数据我们称为“片段”,用于进一步的片段处理线段的扫描转换对于线段来说,其数学描述只是两个顶点(x1,y1)和(x2,y2) 这两个顶点自然可以很容易的对应两个像素点,但这两个顶点的连线也应该对应着若干个像素点才行 这里默认像素位置均为整数,尽管也有不是整数的情况
2016-06-06 22:21:02 2676
原创 OpenGL.裁剪算法
裁剪就是来确定 哪些是位于视景体内,应当被最后成图来考虑的哪些是位于视景体外,不需要后续的处理了(因为不属于成图范围嘛)线段的裁剪算法Cohen-Sutherlend算法 这是一种很巧妙的裁剪算法,运用了编码的思想先考虑二维的裁剪,即一条二维的线段和一个方形的裁剪区域方形的裁剪区域为 对于一条线段,其是由两个顶点来刻画的 对于每个顶点都根据其位置(x,y)进行编码编码 b1b
2016-06-06 21:08:03 5602
原创 OpenGL.光照模型
光照分析一下光照是怎么个回事 光源被认为有四种 点光源:从一点向四面八方发出光线 聚光灯:从一点朝一个方向发出光线,且只在一定的角度内有光,离中心越近越亮无穷远:平行光 环境光:错综复杂的给每处物体都均匀的打光材质有三种,也就是对光有三种反射 镜面反射面:镜面反射光漫反射 :均匀反射光透明面:折射光Phong光照明模型这个人叫Phong不用怀疑了光线被分成了三类,分别用三个
2016-06-06 20:01:43 1720
原创 OpenGL.坐标系统的介绍与坐标变换的实现
坐标变换其实一直是一个比较让人着迷的内容,嘿嘿嘿从中也可以看到矩阵的魅力记得一篇文章讲,矩阵就是记录一个向量到另一个向量的运动,一个点可以用一个向量来表示,乘上一个矩阵就变成了另一个向量,对应着另一个点。所以说矩阵就是记录向量空间中向量的运动,记录向量之间的转换规则。齐次坐标只讲三维的情况啊向量空间中,只有标量和向量 向量 + 向量 = 向量标量 * 向量 = 向量 三维向量空间中,
2016-06-06 19:02:36 9646 1
原创 OpenGL.渲染流水线//大概就是这样的吧
其实OpenGL的流水线,对我学习来说只能算是一个概念性的东西。毕竟OpenGL也在发展,流水线也不会是一成不变的。不过理解流水线的过程,重点在于理解每一步的作用,进而可以如何衔接起来,完成整个绘制图像的工作。顺序不一定相同,但仍能完成工作,但效率上肯定会有差。状态机在OpenGL中,我们输入的总是 “顶点”但同时我们也会改变许多 “状态”比如 当前顶点颜色glColor当前顶点的
2016-06-06 11:46:26 2238 1
原创 计算机组成.零件之间的通信.总线BUS
总线干嘛的?说白了就是用来传输数据的,在计算机的各个部件之间。比如我主存里存的数据CPU要用,需要一条线路传过去吧,CPU内部各个寄存器之间、寄存器与ALU、CU与各个部件之间等等等等很多地方,总之就是部件之间需要传输数据传输的数据分为三种,对应着三种功能的总线 数据总线地址总线控制总线 那么为何称为“总”线?那是因为大部分情况下,我们没办法把任意两个部件之间都连起来,因为部件的数量太多太
2016-06-04 02:05:26 12671
原创 计算机组成.机器需要控制.控制器CU
控制器部分的内容算是让我对处理器有了更深一步的理解学到汇编其实还是有些抽象,为什么机器指令就可以直接被机器识别并执行呢?这才知道,机器指令之下还有微程序,细究起来最不可分的操作应当是微指令,多条微指令实现了一个指令的功能进一步把指令细分为很多阶段(称为周期,如取指周期、执行周期等)的话,那在微指令和指令层次之间,还有一个指令的分段的中间层次,即多条微指令实现指令的某个阶段(如取指、读取等等)的
2016-05-25 20:29:28 15929
原创 计算机组成.就是它在运算.处理器CPU
处理器是要好好复习了,毕竟考试重点主要的内容感觉还是在指令方面,包括指令的格式、指令集的设计、指令流水线、指令级并行。东西慢慢整理吧,如果一边在网上搜索的估计会找到很多资料,但是耗费的时间太多了国内的教材虽然有一定的局限性,但是tm的要考试啊我觉得需要考试的人不止我一个,,,,,,处理器的组成与功能组成基本功能综合视角处理器的指令集什么是指
2016-05-21 16:10:36 15722 5
Synthesis Lecture 2015-2019.zip
2019-09-01
深入理解计算机系统第七章参考文献整理
2018-04-10
深入理解计算机系统第五章参考文献整理
2018-04-09
深入理解计算机系统第十二章参考文献整理
2018-04-09
手动实现OpenGL部分功能:放缩、旋转、视角、缓冲区等等
2016-10-21
C#中用filestream新建了一个jpg后dispose,然后用bitmap打不开了
2016-01-01
iis发布asp.net网站,手机使用流量输入公网域名无法访问,但是其他电脑可以
2015-12-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人