加载中...
认识Shell之前我们一直在说shell,也一直在使用shell。那么shell到底是什么? 实际上,shell自身也是一个应用程序,它负责用户与操作系统之间的通信。当用户登录到shell时,系统会将一个shell程序调入内存——每个用户都有一个默认的shell,记录在/etc/passwd文件(口令文件)中。 如我(root用户)现在默认的shell为zsh,那么/etc/passwd中的记录就为: 有些特殊用户的记录可以不是shell程序,如上图中的第二个。 zsh是mac os自带的一个shell,以高度定制化和有众多的主题闻名,Linux需要安装。 用户登录、shell执行和用户退出的过程如下: 用户登录:init进程fork/exec一个login程序,输入用户名和密码。如果验证成功,则按照口令文件为用户fork/exec默认的shell程序。 shell执行:shell内置了解释器如sh,它可以解释用户输入的正确的命令。如果命令为shell内置命令,那么直接由shell完成即可;如果命令为可执行程序,那么fork/exec一个新的进程来执行该程序;如果命令为脚本文本 ...
前言这篇文章将研究两个很有趣的内容:Vim编辑器与正则表达式。 「如何退出Vim编辑器?」应该是每个初学者都会遇到的问题,也是各大论坛上经常被问到,浏览量很高的一个问题。Vim让初学者如此不知所措,却又被誉为“编辑器之神”。从不会到会用是很简单的,但从会用到用得好却是一个鸿沟。这篇文章的目的之一是“Vim从会用到不会”。 大多数和我一样的学生第一次遇到正则表达式应该是在Python中。但是很遗憾,编程语言中的正则表达式和Unix中的正则表达式使用的是两个不同的规范:PCRE和POSIX。POSIX又分为BRE和ERE——Unix中的正则表达式还真让人头疼。 Vim编辑器Vim四种工作模式Vim的四种工作模式分别为命令模式、插入模式、命令行模式与可视模式。 各模式间的切换如下:(后面会讲到) 回答开头的问题(怎么退出vim)。使用:q或:q!或:wq。 命令模式:刚进入Vim编辑器所处于的模式。一般在这个模式下停留最久,所以又被称为普通模式。此时我们输入的字母不会被当作文本写入文件中,而是会被当作命令解析执行。 插入模式:和我们平时使用编辑器的方式一样,输入什么,就向文件中写入 ...
Unix有三大抽象:文件对I/O设备的抽象、进程与线程对执行过程的抽象和地址空间对内存的抽象。这篇文章将介绍文件对I/O设备的抽象,后面两种抽象主要放在《操作系统》中讲,不是这门课的重点。 预备知识文件要长期保存,就必须存储在存储在硬盘这样的非易失性存储器中。以机械硬盘为例,一个硬盘包含多个盘片(记录面),每个记录面划分为若干磁道,每条磁道又可以划分为若干扇区。硬盘最小的读写单位就是一个扇区,通常为512B。 但是,读写硬盘都是很耗时的。如果每次都512B地操作,那么硬盘的读写就会占用大量的时间。所以,又将硬盘分块,块的大小一般为4KB,即8个扇区的大小。 这里的物理上的“分块”和虚拟存储器中的“分页”在逻辑上是一一对应的(地址空间对内存的抽象): Unix文件系统介绍Unix的文件分为普通文件、目录文件和特殊文件三种。普通文件包含字节序列,如代码、文本等;目录文件不是标准的ASCII文本文件,它包含了其中的各种文件的信息(包括子目录,套娃);特殊文件包含外部设备的特定信息,如驱动等。一个外设对应一个文件。 文件系统的结构上一篇中说了Unix的文件结构是下面这样的树形结构: ...
写在前面你应该听过Linux,但是也许没有听说过Unix。实际上,Linux就是Unix的一个变种,它的本质还是Unix。就好比Mysql支持sql语句,但又比原生的sql多了一些自己的语法一样。 学习Unix,一方面可以让我们多了解一些其他基于Unix的操作系统;另一方面,Linux也有不同的发行版,但它们最基本的东西都是通用的。学习Unix更便于我们在不同的Linux系统间进行切换。 本系列将使用Ubuntu系统,用的是云服务器,所以不会有图形界面。 最常用的命令下面这些都是Unix最常用的命令,使用率高达80%(据统计),各命令的含义以及它们的参数都要滚瓜烂熟! 命令格式Unix中一条命令的格式为:命令名 [-选项] [参数]。 选项包括长选项--word和短选项-character,如ls --all和ls -a,它们是全称与简写的关系。 有的选项需要带上参数,如find -type f指定搜索的文件类型为普通文件(file)。 然后需要理解什么是命令名。命令名可以是一个可执行程序、也可以是shell内置程序或脚本程序。我们可以使用type来查看命令类型: man命令L ...
面试体会因为涉及到保密等原因就不说多了。我的建议是:多玩游戏。 面试准备面试“2022腾讯游戏客户端开发公开课-学员”。这算是我第一次参加比较正式的面试吧,再加之本来口才就不好,所以这篇文章也写得口水话一点。统共30分钟,自问自答,就当是演练吧,希望到时候不要卡壳了😂。 下面是复习和准备时的一些知识点。C++的多态平时用的太少差不多都忘完了…… C++方面请说明引用和指针的关系? 指针的语法含义就是指向变量的地址。它本质是一个变量,用于存储其他变量的地址。指针所占空间的大小和机器或使用的编译器有关,32位机器指针占4字节,64位机器地址占8字节。 我们可以给指针附加权限,分为一般指针、指针常量int * const ptr,常量指针int const * p和指向常量的指针常量const int * const ptr。 引用则是C++中引入的新类型,语法含义是变量的别名。它也是一个变量,在内存中占的大小也是地址的大小。它的安全性同指针常量一样,只能在初始化时指定为某个变量的别名,之后就不能改变成其他变量的了。 我们也可以给引用附加权限:常引用cons ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第三部分,复习计算机的指令系统和CPU,重点是MIPS各指令的规则以及CU中与之对应的控制信号的取值。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 指令系统指令系统又称为指令集ISA,表示一台计算机所能执行的全部机器指令的集合,由该计算机的CPU决定。ISA是硬件设计的依据,因此指令系统的设计至关重要。 指令格式的设计与原则? 冯诺依曼结构的计算机采用存储程序的思想,给出一个程序(n多指令),计算机能够自动执行这些指令。为了自动执行,一条指令必须明确或隐含包含的信息有:操作码、源操作数的值或地址、结果的地址、下一条指令的地址。 所以可以据此给指 ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第四部分,复习系统总线与输入输出系统,重点是磁盘与I/O接口的三种工作方式。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 总线 总线的概念与组成? 和CPU内部的总线(片内总线)不同,这里研究的总线是连接计算机内各部件,如CPU、主存和各种输入输出设备的总线,称为系统总线。系统总线是一组能为多个部件分时共享的公共信息传输通路。 共享是指多个设备共同使用同一个总线;分时是指某一时刻只允许一个设备向总线发送信息,但可以有多个接收方。 总线存在于电脑的主板上。主板上刻印的线就是总线。此外提供了很多IO设备的接口(图略)。 系统总线包括地址总线、数据总线 ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第二部分,复习存储器的分层体系结构,主要是Cache—主存层次。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 存储系统 存储器的分类? 按照存储器在计算机中的层次化结构(三级存储系统)分类: 从下到上,分别是外存、辅存、主存、高速缓存和寄存器(在CPU中)。规律是速度越来越快,容量越来越小,成本越来越高。其中能和CPU直接交换信息的有Cache和主存。存储系统的两个主要层次: “Cache—主存”层次:主要解决CPU和主存速度不匹配的问题。 “主存—辅存”层次:实现虚拟内存,主要解决主存容量不够的问题。 按照存储介质分类: 半导体存储 ...
本文请前往PC端浏览。 论文周,写论文,你还在用word吗? 这次分享的主角是Typora的一个主题:Typora-LaTex-Theme。使用它,结合作者给我们提供的论文模板,我们可以快速地创作出一片论文,而无需关注各种格式、字体、字号的设定。 Typora-LaTex-Themehttps://github.com/Keldos-Li/typora-latex-theme 食用方式也很简单,在release里面下载对应操作系统的版本(各版本应该差不多,大小都一样……),然后将里面的两个CSS文件放到Typora主题文件夹里面,最后安装对应的字体即可,所有字体文件都可以在作者的另外一个仓库里面找到: Typora-LaTex-Theme-Fontshttps://github.com/Keldos-Li/typora-latex-theme-fonts 使用这个主题赶的一篇论文如下,写论文的全过程都感觉很舒服(虽然写论文本身让我很不舒服),没有Word那种设置各级标题、设置字体等需要在菜单栏点来点去的问题。用Typora把论文导出HTML后嵌入到这篇文章里面,读者可以感受一下这个 ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第一部分,复习计算机的结构和计算机中数值的表示与计算。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 计算机系统概述计算机系统由硬件和软件组成。软件包括系统软件和应用软件。我们研究的是计算机硬件。 计算机硬件的历史? 1946年第一台数字电子计算机ENIAC(埃尼阿克),它使用的逻辑元件为电子管,体积很大。需要注意冯诺依曼是顾问而不是发明者。(电子管时代:1946-1957) 1958年出现了晶体管计算机(晶体管时代:1958-1964),这时也出现了第一个高级语言FORTRAN。 1964年出现了集成电路计算机(中小规模集成电路:1965-19 ...
avatar
Sato
祝愿我们都能够保持初心,做兴趣使然的英雄
Follow Me In Github
公告

Roselia介绍

"Roselia"取自蔷薇的rose和茶花的camellia,蓝色蔷薇的花语为"完成不可能之事"。Roselia也如同蓝色蔷薇一样,以"到达音乐巅峰"为目标,不断地练习与成长。