前言
对于操作系统可能很多人会觉得:“我又不需要写一个Linux,写一个windows所以我就不需要学习”。这里需要注意的是我们学操作系统不是叫你写一个操作系统的,讲的是资源的调度和分配,以及大型软件的设计。稍微写过一些并行并行的程序,都能体会到这门课的重要性。它介于软件和硬件之间的一个部分,一般意义上认为其重要性介于软硬件之间,不会操作系统,不了解基本的计算机形成过程,玩计算机恐怕无异于痴人说梦,而我们程序员这一群体,做啥都离不开计算机,如果连操作系统都没有一点了解的话,在我看来是不算一个合格的程序员的!
说到操作系统就不得不说计算机网络了,计算机网络这块苦且绕不过去。开发时服务数量一多,吞吐量一大,我们关心的不再仅仅是某个Java应用,而是要提升整个集群的性能,这时网络问题就会出现。而且大规模的微服务架构必定要上云、使用VPC网络,这时就必定要考虑双活和灾备,必定要做各个层次的负载均衡,这些都需要网络方面的技术。以上种种让操作系统与计算机网络方面已经成为我们程序员必会的知识了!那么我们该如何学习这两方面的知识呢?不要慌,互联网雷锋(小编我)从我华为的朋友手上为大家搜罗到两份其内部疯传的进阶文档。由于内容太全,只能以截图主要内容的形式为大家展示出来了,需要的朋友只需要评论+转发,关注我之后私信【666】即可免费获取高清版文档。
第一份:操作系统
大部分操作系统提供了特定的基础概念和抽象,例如进程、地址空间、文件等,它们是需要理解的核心内容。


进程和线程
操作系统中最核心的概念就是进程,进程是对正在运行中的程序的一个抽象。操作系统的其他所有内容都是围绕着进程展开的。在传统的操作系统中,每个进程都有一个地址空间和一个控制线程。


内存
主存(RAM)是一件非常重要的资源,必须要认真对待内存。虽然目前大多数内存的增长速度要比IBM7094要快的多,但是,程序大小的增长要比内存的增长还快很多。不管存储器有多大,程序大小的增长速度比内存容量的增长速度要快的多。这一节就是探讨一下操作系统是如何创建内存并管理他们的。


文件储存
对于长久存储的信息我们有三个基本需求:必须要有可能存储的大量的信息,信息必须能够在进程终止时保留必须能够使多 个进程同时访问有关信息。这时候文件存储概念就出来了。


I/O
I/0 设备又叫做输入/输出设备,它是人类用来和计算机进行通信的外部硬件。输入/输出设备能够向计算机发送数据(输出)并从计算机 接收数据(输入)


死锁
两个进程独占性地访问某个资源,从而等待另外一个资源的执行结果,会导致两个进程都被阻塞,并且两个进程都不会释放各自的资源,这种情况就是死锁(deadlock)


多线程面试题
下面是大厂的一些关注操作系统的面试真题


由于篇幅限制就只能这样展示出来了,需要的朋友帮忙评论+转发,关注我之后直接私信【666】即可免费获取!下面我们来看看第二份文档.
第二份:网络协议
这份文档以通俗易懂、更加贴近日常生活的方式,从底层到上层对最基础、最常用、最重要的网络协议进行解析,并将深入分析网络协议在云计算、容器和微服务等领域的应用和实践。帮助入门级程序员深入、直观地理解网络协议基础概念和原理,构建一个完整、 精准的网络协议知识框架:也会帮助有一定工作经验的程序员填补知识漏洞、打通知识体系。
目录一览



内容一览




上篇:
怎样禁止客人(流动人员)wifi访问到公司内部局域网?
下篇:
线上故障如何快速排查?来看这套技巧大全
1 从 0 到 1:使用 Loki + Promtail + Grafana 搭建日... 2 VLAN基础+划分详细教程 3 网络—监控网络网段规划指导 4 路由协议OSPF 5 模拟一个三层办公大楼,实现所有部门、楼层的互通,以及都可以访问公网;出口网关配置... 6 使用 OSPF 协议(多区域)实现不同路由器间互通 7 ER3、5、6系列路由器搭配AP实现多SSID网段上网的配置实例 8 tplink路由器怎么做vlan隔离 9 两层楼的公司如何开始搭建网络的步骤详解 10 华为fusioncompute利用模板创建虚拟机 11 华为fusioncomptue虚拟机中安装Windows 12 华为fusioncomptue虚拟机中安装Linux