保研面试408复习 1——操作系统、计网、计组

2024-05-05 17:12

本文主要是介绍保研面试408复习 1——操作系统、计网、计组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1、操作系统
    • 一、操作系统的特点和功能
    • 二、中断和系统调用的区别
  • 2、计算机组成原理
    • 一、冯诺依曼的三个要点
    • 二、MIPS(每秒百万条指令)
    • 三、CPU执行时间和CPI
  • 3、计算机网络
    • 一、各个层常用协议
    • 二、网络协议实验——数据链路层
      • a.网络速率表示
      • b.数据链路层结构
      • c.MAC帧结构
      • d.TCP协议
    • 三、物理层

标记文字记忆,加粗文字注意,普通文字理解。

1、操作系统

一、操作系统的特点和功能

操作系统的基本特征包括并发、共享、虚拟和异步。
操作系统最基本的特征是并发和共享。

  • 特点

    • 并发:并发是指两个或多个时件在同一时间间隔内发生。操作系统的并发性是通过分时得以实现的。引入进程的目的之一是使程序能并发执行。(如果没有引入不同进程,不同任务都只能顺序执行)
    • 共享资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
      • 互斥共享方式:(临界资源)比如打印机,磁带机,规定一段时间内只能允许一个进程访问该资源,一个进程释放后另一个进程才能进行访问,资源独占。如果不是这样,打印A的时候打印B也可以进行,那么一张A4纸上杂乱无章。
      • 同时访问方式:比如磁盘,虽然磁盘一个时刻只能由一个进程访问,但是可以并发访问,分时共享。
    • 虚拟:实现虚拟的技术称为虚拟技术。比如虚拟处理器,虚拟内存,虚拟外部设备。让每个进程感觉自己拥有独立的CPU/内存空间/外设等
    • 异步:操作系统以不可预知的速度向前推进。
  • 功能

    • 操作系统作为计算机系统资源的管理者:
      • 处理机管理
      • 存储器管理
      • 文件管理
      • 设备管理
    • 操作系统作为用户与计算机硬件系统之间的接口
    • 操作系统实现了对计算机资源的扩充
      • 确实是这样的,操作系统实现了进程并发,控制资源共享,只有一个硬件却让不同进程感受到独立的空间设备;这都是操作系统的功能,对计算机资源的扩充。

二、中断和系统调用的区别

中断(Interrupt)和系统调用(System Call)都是操作系统中用于处理任务和管理硬件与应用程序之间交互的机制,但它们的触发方式和目的有所不同。

中断可以分为两类:

  1. 硬件中断:由外部硬件设备产生,如键盘输入、鼠标移动、网络数据包接收、脉冲信号等。
    • 硬中断是实实在在的硬件发出的中断,cpu检测到发生中断后,保护现场,通过中断类型码在中断向量表中查找中断向量地址,执行中断服务程序,之后,重新选择进程进行调度。
  2. 软件中断:由程序性故障或特殊指令(如除零错误、缺页故障、运算溢出、系统调用)触发。
    • 自陷就是指系统调用。因为调用系统调用,通常指陷入。系统调用指令通常叫作陷入指令(访管指令)
    • 异常:异常似乎包含了所有错误的情况,包括程序性错误和硬件错误,也包括了系统调用。异常包含了软件中断。异常包含了程序性出错的情况(也是软件中断的一部分),比如故障(除零故障,运算溢出),也包含了用户系统功能调用。还包含了无法避免的硬件故障终止执行。
      在这里插入图片描述

系统调用是软件中断的一种,是由用户程序主动触发的,用于请求操作系统提供服务。

比如汇编程序中的返回操作系统的系统功能调用:

MOV AH 4CH
INT 21H

无论如何,发生中断时,要从目态(用户态)转向管态(核心态)。

2、计算机组成原理

一、冯诺依曼的三个要点

在这里插入图片描述

  • (1)所有种类的计算机都有相同的五大部件:运算器、控制器、存储器、输入和输出。
    • 比如CPU运算部分(运算器);内存(存储器);键盘(输入);显示器(输出);CPU中的指令解码,解读指令的具体功能(控制器)
  • (2)采用二进制
  • (3)程序和原始数据先存入存储器,然后再启动计算机工作。(存储程序和数据)

二、MIPS(每秒百万条指令)

MIPS实际上表示的是,每秒能执行多少条指令,是一种衡量计算机处理器性能的指标。
比如1.8MIPS,表示的是1.8(百万条/秒),即 1.8 ∗ 1 0 6 ( 条 / 秒 ) 1.8*10^6(条/秒) 1.8106(/)

所以MIPS的计算公式是: M I P S = 指令条数 执行时间 × 1 0 6 MIPS = \frac{指令条数}{执行时间×10^6} MIPS=执行时间×106指令条数
本质上就是将执行速度除以 1 0 6 10^6 106单位转换成 百万条/秒。

三、CPU执行时间和CPI

对于一个任务,CPU执行时间是指运行在该任务在CPU上花的时间。
响应时间(执行时间):计算机完成某任务所需要的总时间。<用户真正感受到的时间>
吞吐率指的是单位时间完成的任务数量。

C P U 执行时间 = 总时钟周期数 × 时钟周期时间 CPU执行时间 = 总时钟周期数 × 时钟周期时间 CPU执行时间=总时钟周期数×时钟周期时间
C P I 是平均每条指令的平均时钟周期数 CPI是平均每条指令的平均时钟周期数 CPI是平均每条指令的平均时钟周期数
C P U 执行时间 = 总指令数 × C P I × 时钟周期时间 CPU执行时间 = 总指令数 × CPI × 时钟周期时间 CPU执行时间=总指令数×CPI×时钟周期时间


3、计算机网络

一、各个层常用协议

  • 应用层:HTTP、RIP、FTP、SMTP、POP3、IMAP、DHCP、BGP、DNS
    • 建立在UDP上的:DNS、RIP、DHCP
    • 建立在TCP上的:HTTP、BGP、FTP、SMTP、POP3
  • 传输层:TCP、UDP
  • 网络层:IP、IPv6、ICMP、[ARP]、OSPF
  • 数据链路层:HDLC、PPP、CSMA/CD

下面是各个层级及其协议的详细解释:

  • 应用层协议
  1. HTTP (超文本传输协议) - 用于网页浏览,基于TCP,提供网页数据的请求和传输。
  2. RIP (路由信息协议) - 一种动态路由协议,使用UDP进行传输。它通过定期广播更新路由信息,限制在较小的网络中使用。
  3. FTP (文件传输协议) - 用于文件的上传和下载,建立在TCP之上,提供可靠的数据传输。
  4. SMTP (简单邮件传输协议) - 用于发送邮件,建立在TCP上,确保邮件可靠传输至目标邮件服务器。
  5. POP3 (邮局协议版本3) - 用于接收邮件,建立在TCP上,允许邮件客户端下载服务器上的邮件。
  6. IMAP (互联网消息访问协议) - 类似于POP3,但提供更复杂的邮件管理功能(如在服务器上保留邮件),也建立在TCP上。
  7. DHCP (动态主机配置协议) - 使用UDP,自动分配IP地址及其他网络配置(如子网掩码和默认网关)给网络设备。
  8. BGP (边界网关协议) - 用于大规模网络(如互联网)中的路由决策,建立在TCP上,确保路由信息的稳定和可靠。
  9. DNS (域名系统) - 将域名转换为IP地址,使用TCP和UDP(主要是UDP,TCP用于长查询或区域传输)。
  • 传输层协议
  1. TCP (传输控制协议) - 提供面向连接的、可靠的数据传输服务。通过数据确认和重传机制保证数据完整性。
  2. UDP (用户数据报协议) - 提供无连接的、尽最大努力交付的通信服务。UDP不保证数据包的顺序或完整性,因此传输速度比TCP快,但不那么可靠。
  • 网络层协议
  1. IP (互联网协议) - IP是为计算机网络中的数据包交换提供无连接的服务。
  2. IPv6 - 下一代互联网协议,解决了IPv4地址耗尽的问题,并提供了改进的安全性和其他特性。
  3. ICMP (互联网控制消息协议) - 用于发送错误消息和网络通信状态的查询。
  4. ARP (地址解析协议) - 用于将网络层的IP地址解析为数据链路层的物理地址。
  5. OSPF (开放最短路径优先) - 一种内部网关协议,使用链路状态路由算法,动态更新网络路由信息。
  • 数据链路层协议
  1. HDLC (高级数据链路控制) - 一种点对点协议,用于安全的数据传输。
  2. PPP (点对点协议) - 另一种点对点数据链路协议,常用于直接连接的两个网络节点之间。
  3. CSMA/CD (载波监听多路访问/碰撞检测) - 以太网中使用的一种介质访问控制方法,用于控制网络上的设备在同一信道上发送数据的方式。

二、网络协议实验——数据链路层

a.网络速率表示

  • 1000兆宽带:通常指的是1000 Mbps(兆比特每秒)的网络带宽。在通信领域,小写的’b’通常表示比特(bit),大写的’B’表示字节(Byte)。因此,1000Mb指的是每秒传输1000兆比特。

b.数据链路层结构

  • MAC(媒体访问控制)子层:这是数据链路层的必需部分,负责管理协议访问的物理传输媒介。
  • LLC(逻辑链路控制)子层:这是数据链路层的一个可选部分,用于提供服务质量和流控制。LLC的以太网帧,协议字段是长度字段,因此LLC子层存在的目的是如果在局域网内只需要数据链路层,它类型字段不需要协议。
  • 这两个层不可能同时存在。

c.MAC帧结构

  • 最大和最小帧长:以太网帧的最大长度是1518字节(包括18字节的头部和1500字节的最大传输单元MTU)。最短帧长是64字节,这个长度包括从帧开始到CRC(循环冗余校验)前的全部字节,是为了确保在碰撞检测系统(CSMA/CD)中能检测到所有碰撞。
  • CRC:循环冗余校验是一种错误检测码,用于检测传输或存储过程中的错误。CRC通常由发送设备计算并附加到数据帧的末尾,接收设备再次计算并对照以验证数据的完整性。CRC自身不被上层软件如协议分析器截包所“看到”,因为它在网络设备层面处理。

d.TCP协议

  • 序列号:在TCP连接中,每个字节的数据都被赋予一个序列号。序列号用于保证数据传输的顺序性和完整性。
  • 传输字节量:TCP头部包含一个序列号,它标记了发送方已发送的数据的总量,用于数据的重组和确保数据的顺序。

三、物理层

王道计网:物理层

  • 传输介质:双绞线、同轴电缆、光纤
  • 物理层设备:中继器、集线器(多口集线器)
  • 通信方式:单工、半双工、全双工
  • 码元:一个M进制码元,表示一个码元有M种离散状态。需要表示M种状态,最少需要多少bit?
  • 传输速率限制:奈氏准则和香农定理
  • 信号类型:基带信号和宽带信号
    • 基带信号:在数字信道上传输的信号
    • 宽带信号:在模拟信道上传输的信号
  • 数据编码方式:非归零编码、归零编码、曼彻斯特编码(上1下0)、差分曼彻斯特编码
  • 数据交换方式:电路交换、报文交换、分组交换
    • 分组交换:数据报交换、虚电路交换
    • 电路交换资源独占、虚电路交换资源共享。

这篇关于保研面试408复习 1——操作系统、计网、计组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/962223

相关文章

可视化实训复习篇章

前言: 今天,我们来学习seaborn库可视化,当然,这个建立在Matplotlib的基础上,话不多说,进入今天的正题吧!当然,这个是《python数据分析与应用》书中,大家有需求的可以参考这本书。 知识点: Matplotlib中有两套接口分别是pyplot和pyylab,即绘图时候主要导入的是Matplotlib库下的两个子模块(两个py文件)matplotlib.pyplot和matp

【Linux进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。  从广义上说,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特生。这里所说的其他软件包括系统实用程序(system utility)、应用程序、shell以及公用函数库等

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

数据库期末复习知识点

A卷 1. 选择题(30') 2. 判断范式(10') 判断到第三范式 3. 程序填空(20') 4. 分析填空(15') 5. 写SQL(25') 5'一题 恶性 B卷 1. 单选(30') 2. 填空 (20') 3. 程序填空(20') 4. 写SQL(30') 知识点 第一章 数据库管理系统(DBMS)  主要功能 数据定义功能 (DDL, 数据定义语

复习2-20240624

vscode 使用 Javabean (封装性) public class Demo01 {/*1.原则 : 字母 数字 $ _ 中文 除了 这五个 其它都不可以2. 细则 : 数字 不能 开头%hbviunh &hfiureh )nhjrn 7487j -ni +hbiu tgf h

操作系统实训复习笔记(1)

目录 Linux vi/vim编辑器(简单) (1)vi/vim基本用法。 (2)vi/vim基础操作。 进程基础操作(简单) (1)fork()函数。 写文件系统函数(中等) ​编辑 (1)C语言读取文件。 (2)C语言写入文件。 1、write()函数。  读文件系统函数(简单) (1)read()函数。 作者本人的操作系统实训复习笔记 Linux

C++面试八股文:std::deque用过吗?

100编程书屋_孔夫子旧书网 某日二师兄参加XXX科技公司的C++工程师开发岗位第26面: 面试官:deque用过吗? 二师兄:说实话,很少用,基本没用过。 面试官:为什么? 二师兄:因为使用它的场景很少,大部分需要性能、且需要自动扩容的时候使用vector,需要随机插入和删除的时候可以使用list。 面试官:那你知道STL中的stack是如何实现的吗? 二师兄:默认情况下,stack使

【云计算 复习】第1节 云计算概述和 GFS + chunk

一、云计算概述 1.云计算的商业模式 (1)软件即服务(SaaS) 有些景区给游客提供烧烤场地,游客需要自己挖坑或者砌烧烤台,然后买肉、串串、烧烤。 (2)平台即服务(PaaS) 有些景区给游客提供烧烤场地,同时搭建好烧烤台,游客只需要自己带食材和调料、串串、烧烤。 (3)基础设施即服务(IaaS) 有些景区给游客提供烧烤场地,同时搭建好烧烤台,还有专门的厨师来烧烤,用户不需要关心前面的所有

Java面试八股之JVM参数-XX:+UseCompressedOops的作用

JVM参数-XX:+UseCompressedOops的作用 JVM参数-XX:+UseCompressedOops的作用是启用对象指针压缩(Ordinary Object Pointers compression)。这一特性主要应用于64位的Java虚拟机中,目的是为了减少内存使用。在传统的64位系统中,对象引用(即指针)通常占用8字节(64位),而大部分应用程序实际上并不需要如此大的地址空间