Skip to content

Latest commit

 

History

History
98 lines (76 loc) · 10.8 KB

编程入门.md

File metadata and controls

98 lines (76 loc) · 10.8 KB

一、前言

大家好,我是苍何。最近思考了一个问题,为什么会出现公司面试造火箭,工作扭螺丝的现象,包括各种八股文的连环大绝杀问到你不会为主,其实这是考察你的知识面以及掌握的深度,而为什么需要这样呢?归其原因,无非是通过筛选找到那些会思考的人,他们需要的并不是CRUD的工具人,而是会思考能创新的工程师。

当你深刻理解到这点,我想不用刻意去学习,在工作中,肯定会吾日三省吾身。

于是乎,这个重新开始学习编程系列文章出来了。

愿与君共勉!

二、知识图谱

在这里插入图片描述

三、计算机硬件

计算机包括硬件和软件,硬件是看得见的物理部分,而软件提供看不见的指令 在这里插入图片描述 个人计算机上,总线搭建在主板上,主板是一个连接计算机各个部分的电路板 在这里插入图片描述

1、中央处理器【CPU】

指中央处理器,它是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU核:一个CPU代表一个核,多核CPU CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。CPU的能力高低直接影响了整个电脑的运行速度。 CPU的选择方法: 1、看编号。Intel和AMD的每一颗正品盒装处理器都有一个唯一的编号,在产品的包装盒上的条形码和处理器表面都会标明这个编号,这个编号相当于手机的IMEI码,两个编号必须一致才是正品。

2、看包装。Intel盒装处理器与散包处理器的区别就在于三年质保,价格方面相差几十到上百元不等。以AMD的包装盒为例,没有拆封过的包装盒贴有一张标贴,如果没有这张标贴,那肯定是假货。

3、看风扇。这个方法针对Intel处理器,打开CPU的包装后,可以查看原装的风扇正中的防伪标签,真的Intel盒包CPU防伪标签为立体式防伪,除了底层图案会有变化外,还会出现立体的“Intel”标志。

2、赫兹Hz

每台计算机都有一个内部时钟,该时钟以固定速度发射电子脉冲,时钟速度越快,在给定的时间内执行的指令就越多,嘟嘟的伎俩单位为赫兹,1Hz 相当于每秒1个脉冲,随着COU速度不断提高,目前以千兆赫GHz来表述。1khz = 1024hz ,1mhz = 1024khz 1ghz = 1024mhz 在这里插入图片描述

四、内存

内存(Memory)是计算机的重要部件之一,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。

1、比特bit 一个0或1存储为1个比特,是计算机中最小的存储单位 2、byte 计算机中是最基本的存储单元byte,每个字节由8个比特构成 1kb = 1024b 1MB = 1024kb 1GB = 1024MB 1Tb = 1024GB

五、操作系统

操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。常见的操作系统有windows、IOS等。

1、安全加固技术

随着计算机网络与应用技术的不断发展,信息系统安全问题越来越引起人们的关注,信息系统一旦遭受破坏,用户及单位将受到重大的损失,对信息系统进行有效的保护,是必须面对和解决的迫切课题,而操作系统安全在计算机系统整体安全中至关重要,加强操作系统安全加固和优化服务是实现信息系统安全的关键环节。当前,操作系统安全构成威胁的问题主要有系统漏洞、脆弱的登录认证方式、访问控制形同虚设、计算机病毒、特洛伊木马、隐蔽通道、系统后门恶意程序和代码感染等,加强操作系统安全加固工作是整个信息系统安全的基础。

安全加固原理: 安全加固是指按照系统安全配置标准,结合用户信息系统实际情况,对信息系统涉及的终端主机、服务器、网络设备、数据库及应用中间件等软件系统进行安全配置加固、漏洞修复和安全设备调优。通过安全加固,可以合理加强信息系统安全性,提高其健壮性,增加攻击入侵的难度,可以使信息系统安全防范水平得到大幅提升。 安全加固方法 安全加固主要通过人工对系统进行漏洞扫描,针对扫描结果使用打补丁、强化账号安全、修改安全配置、优化访问控制策略、增加安全机制等方法加固系统以及堵塞系统漏洞、“后门”,完成加固工作。

2、操作系统虚拟化

操作系统虚拟化作为容器的核心技术支撑,得到了研究者的广泛关注。最近几年,无论是在以SOSP/OSDI为代表的计算机系统领域顶级学术会议上,还是以Google为代表的重要互联网企业中,都陆续出现了一批操作系统虚拟化的最新研究成果,并且成果数量呈现出逐年增加的总体趋势。 操作系统虚拟化技术允许多个应用在共享同一主机操作系统 (Host OS) 内核的环境下隔离运行, 主机操作系统为应用提供一个个隔离的运行环境, 即容器实例:操作系统虚拟化技术架构可以分为容器实例层、容器管理层和内核资源层。 操作系统虚拟化与传统虚拟化最本质的不同是传统虚拟化需要安装客户机操作系统 (Guest OS) 才能执行应用程序,而操作系统虚拟化通过共享的宿主机操作系统来取代 Guest OS。

3、Windows下的内存是如何管理的

3种: 1.虚拟内存: 最适合用来管理大型对象或者结构数组 2.内存映射文件: 最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据 3.内存堆栈: 最适合用来管理大量的小对象

4、进程间通信有哪些方式以及区别

参考:https://blog.csdn.net/yang_teng_/article/details/53325280    https://blog.csdn.net/wh_sjc/article/details/70283843

IPC方式:7种 1.管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在有血缘关系的进程间使用,进程的血缘关系通常是指父子进程关系。 2.命名管道(named pipe):也是半双工的通信方式,但是它允许无亲缘关系关系进程间通信。

3.信号(signal):是一种比较复杂的通信方式,用于通知接收进程某一事件已经发生。 4.信号量(semophere):信号量是一个计数器,可用来控制多个进程对共享资源的访问。它通常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

5.消息队列(message queue):消息队列是由消息组成的链表,存放在内核中,并由消息队列标识符标识。消息队列克服了信号传递消息少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

6.共享内存(shared memory):就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问,共享内存是最快的IPC方式,它是针对其他进程间的通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量等配合使用,来实现进程间的同步和通信。 7.套接字(socket):套接口也是进程间的通信机制,与其他通信机制不同的是它可用于不同及其间的进程通信。 几种方式的比较: 管道:速度慢、容量有限 消息队列:容量收到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题。 信号量:不能传递复杂信息,只能用来同步。 共享内存:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全。

5、进程的调度算法

参考原文:https://blog.csdn.net/xiongluo0628/article/details/81461053 1.先来先服务(FCFS):此算法的原则是按照作业到达后备作业队列(或进程进入就绪队列)的先后次序选择作业(或进程)

2.短作业优先(SJF:Shortest Process First):这种算法主要用于作业调度,它从作业后备序列中挑选所需运行时间最短的作业进入主存运行。

3.时间片轮转调度算法:当某个进程执行的时间片用完时,调度程序便终止该进程的执行,并将它送到就绪队列的末尾,等待分配下一时间片再执行。然后把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证队列中的所有进程,在已给定的时间内,均能获得一时间片处理机执行时间。

4.高响应比优先:按照高响应比(已等待时间+要求运行时间)/要求运行时间 优先的原则,在每次选择作业投入运行时,先计算此时后备作业队列中每个作业的响应比RP。选择最大的作业投入运行。

5.优先权调度算法:按照进程的优先权大小来调度。使高优先权进程得到优先处理的调度策略称为优先权调度算法。注意:优先数越多,优先权越小。

6.多级队列调度算法:多队列调度是根据作业的性质和类型的不同,将就绪队列再分为若干个队列,所有的作业(进程)按其性质排入相应的队列中,而不同的就绪队列采用不同的调度算法。