《计算机网络编程》学到期中的知识点,主要是回顾计算机网络的一些基础知识和UNIX socket的API(C/C++)。 预备知识点(不会考,但是应该作为预备知识): Linux虚拟机的安装 Linux系统常用命令以及使用gcc进行c语言的编译。 网络基础与基本概念 计算机网络概念? An interconnected collection of autonomous(自治的) computers。 LAN的物理拓扑结构? 总线型/环形/星形/。。。 OSI七层网络模型从上到下为: 应用层:常见的有HTTP,FTP,DNS等,为操作系统或网络应用程序提供访问网络服务的接口。 表示层 会话层 传输层:TCP协议,数据传输单位是数据段(segment);UDP协议,数据传输单位是数据报(datagarm) 网络层:IP协议,数据传输单位是数据包(packet) 数据链路层:数据传输单位是帧(frame) 物理层:数据传输单位是比特 字节顺序 主机字节序:不同的计算机体系结构可能使用不同的字节顺序(大端机和小端机) 大端机:和一般的表示一致 小端机:和一般的表示反过来 网 ...
认识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来查看命令类型: ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第三部分,复习计算机的指令系统和CPU,重点是MIPS各指令的规则以及CU中与之对应的控制信号的取值。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 指令系统指令系统又称为指令集ISA,表示一台计算机所能执行的全部机器指令的集合,由该计算机的CPU决定。ISA是硬件设计的依据,因此指令系统的设计至关重要。 指令格式的设计与原则? 冯诺依曼结构的计算机采用存储程序的思想,给出一个程序(n多指令),计算机能够自动执行这些指令。为了自动执行,一条指令必须明确或隐含包含的信息有:操作码、源操作数的值或地址、结果的地址、下一条指令的地址。 所以可以据此给指 ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第四部分,复习系统总线与输入输出系统,重点是磁盘与I/O接口的三种工作方式。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 总线 总线的概念与组成? 和CPU内部的总线(片内总线)不同,这里研究的总线是连接计算机内各部件,如CPU、主存和各种输入输出设备的总线,称为系统总线。系统总线是一组能为多个部件分时共享的公共信息传输通路。 共享是指多个设备共同使用同一个总线;分时是指某一时刻只允许一个设备向总线发送信息,但可以有多个接收方。 总线存在于电脑的主板上。主板上刻印的线就是总线。此外提供了很多IO设备的接口(图略)。 系统总线包括地址总线、数据总线 ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第二部分,复习存储器的分层体系结构,主要是Cache—主存层次。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 存储系统 存储器的分类? 按照存储器在计算机中的层次化结构(三级存储系统)分类: 从下到上,分别是外存、辅存、主存、高速缓存和寄存器(在CPU中)。规律是速度越来越快,容量越来越小,成本越来越高。其中能和CPU直接交换信息的有Cache和主存。存储系统的两个主要层次: “Cache—主存”层次:主要解决CPU和主存速度不匹配的问题。 “主存—辅存”层次:实现虚拟内存,主要解决主存容量不够的问题。 按照存储介质分类: 半导体存储 ...
章节一览计算机组成原理知识点比较多,所以分多部分复习。本篇是第一部分,复习计算机的结构和计算机中数值的表示与计算。 计算机系统概述 数据的表示和运算 指令系统 中央处理器(重点) 存储的分层体系结构(重点) 互联及输入输出设备 计算机系统概述计算机系统由硬件和软件组成。软件包括系统软件和应用软件。我们研究的是计算机硬件。 计算机硬件的历史? 1946年第一台数字电子计算机ENIAC(埃尼阿克),它使用的逻辑元件为电子管,体积很大。需要注意冯诺依曼是顾问而不是发明者。(电子管时代:1946-1957) 1958年出现了晶体管计算机(晶体管时代:1958-1964),这时也出现了第一个高级语言FORTRAN。 1964年出现了集成电路计算机(中小规模集成电路:1965-19 ...
数据库系统概论 数据与信息的区别与联系? 数据(Data)必须保存在计算机中,能够被计算机识别、存储和处理。 信息(Information)是对数据的具体描述和语义化解释。 数据是信息的载体,信息是数据的具体描述。 数据库的定义、特征及辨析? 定义:数据库(DB)是长期储存在计算机内、有组织、可共享的大量数据的集合。 特征:有组织、可共享、冗余度较低、易拓展。 辨析以下概念: DB:数据库 DBMS:数据库管理系统 DBA:数据库管理员 其中DBMS包含DB和DBA,属于系统软件。 数据模型是什么?数据模型有哪些? 数据模型是对现实世界数据特征的抽象和模拟。它的三个组成要素是:数据结构、数据操作和数据完整性。 数据模型包括概念数据模型和逻辑数据模型。 概念数据模型是用户易于理解的、对现实世界数据特征的抽象。它与具体的DBMS无关。如实体—联系模型。 逻辑数据模型是用户从数据库中看到的,具体的DBMS所支持的数据模型。 逻辑数据模型主要有层次模型、网状模型、关系模型和面向对象模型。 层次模型用树形结构来表示各实体以及实体间的联系。每个结点表示一个记录类型,每个记录 ...
avatar
Sato
我们的前方究竟会通往何处?
Follow Me In Github
公告

莱莎的炼金工房

十年炼金无人问,一朝肉腿天下知。

住在村裡的萊莎有如鄰家女孩,是一位“再普通不過”的少女。
某日,萊莎一行下定決心,前往禁止進入的「浮島對岸」,展開首次探險活動。
于是,僅限今夏的冒險,从此开始。