计算机基础

近日复习计算机基础,看到老汤说_计算机基础,深入浅出,很有借鉴意义。做如下笔记,以捋清思路,以便后续回忆。


计算机基础_内容导图.png
一、计算机的基本组成
    1. 硬件主要包括主机和外设。主机:CPU和内存;外设:输入/出+外存
    1. 软件主要包括系统软件和应用软件。本文主要关注系统软件中的操作系统,因为它是计算机硬件和其他计算机软件的桥梁和中转


      计算机系统.png
二、计算机运行的基本原理
  • 2.1 计算机运行的本质是对数据的操作,具体形式是将所有的地址、操作、数据都进行二进制编码,CPU中的控制器通过地址获取操作和数据;运算器负责执行操作。因此,计算机可以通过三种语言进行操作:1)机器语言(即二进制码),直接通过二进制码输入来操作机器 2) 汇编语言:与二进制码之间有着某种直接对应关系,也属于比较原始的低级语言 3) 高级语言(又分编译型语言和解释型语言),更接近于自然语言的编程语言,如C,C++,Java,Python;


    计算机基础.jpg
  • 2.2 进制之间的转化
    计算机只能识别二进制,二进制是计算机的运行和计算基础。而十进制是我们人类便于阅读的格式;十六进制(0-9,A-F)本质上是二进制的延伸,能够更为精炼地表达二进制数据(说白了就是可以更短地表达二进制数据)。1Byte == 8位;即1字节可以存储0-255(2的八次方-1)

    • 2.2.1. 二进制/十六进制 转十进制举例:


      image.png
    • 2.2.2. 十进制转二进制/十六进制:采用余数定理,直到商为0,然后自下往上组合,即为所得


      image.png
    • 2.2.3. 二进制和十六进制之间的转化(尤其在字符编码中能够体现):4位转化法(我自己命名的,嘿嘿 16 = 2的四次方)
      十六进制跟二进制是 一位十六进制==四位二进制
      二进制 111101 转十六进制(不足四位,则自动补零)
      image.png

    十六进制转二进制(1位16进制==4位2进制,若不足四位,则自动补0; \color{red}{不可能出现超过四位的情况})

    image.png

  • 2.3 各种编码(ASCII/Unicode/UTF-8/GBK) : 上文提到计算机会将所有数据和操作都进行二进制编码,供计算机识别和运行。那么如何将数据和操作进行二进制编码呢?过程无外乎就是 数据/操作---数字---二进制数字的转化。我们真实世界中的一切数据都可以由计算机进行处理,如文字及符号、声音、图像。声音和图像本身就可以由数字进行表示;而文字及符号则需要有一套专门的对应关系来转化为数字,这就是编码的作用。

    • 2.3.1. ASCII码是1968年诞生的,由美国制定的文字(英文)+符号与数字的对应关系,参见https://baike.baidu.com/item/ASCII
    • 2.3.2. Unicode码包含了世界上所有语言符号与数字的对应关系,用16进制数进行表达;比二进制表达更为紧凑,增加了可阅读性;但由于世界上所有的文字和符号数量级达到了百万,导致Unicode编码的十六进制数字,如果转为二进制,则其存储位数可在1-4 Byte之间变动;而Unicode并没有规定这些变动的二进制该以什么样的规则进行存储。
    • 2.3.3. UTF-8是Unicode编码的实现方式之一(还有UTF-16/32),也是目前最为通用的编码方式。\color{red}{它规定了Unicode编码中具体的十六进制数究竟应该以多少Byte的二进制数进行存储}
      image.png
  • 2.3.4. GBK是我国编制的,专为中文设计的编码规则

三、操作系统

上述我们在讲到计算机运行的基本原理中提到,其本质是\color{red}{对数据的操作,具体形式是将所有的地址、操作、数据都进行二进制编码} \color{red}{CPU中的控制器通过地址获取操作和数据,运算器负责执行操作} 计算机可以通过三种语言进行操控:1.机器语言 2. 汇编语言 3. 高级语言(如C,C++,Java,Python). 即在\color{orange}{计算机发展的初期,我们是完全可以通过机器语言或者汇编语言直接操作计算机的} \color{orange}{即没有操作系统我们也可以运行计算机。}

操作系统的诞生是为了更方便、更易扩展地对计算机进行操作!它去对接底层的计算机硬件(CPU/内存),即它帮助我们做了机器语言或者汇编语言的事情;而将更易用的接口提供给更高级的软件,极大提升了我们计算机操作的丰富性和易用性,是现代计算机的标准结构。总结起来\color{blue}{操作系统有两部分功能:1.面向底层硬件的功能 2.面向用户的功能。}面向用户的功能其实就是我们日常生活中电脑使用的一些功能,略去。本部分我们主要介绍操作系统面向底层硬件的功能:\color{red}{管理CPU、内存、进程/线程/}。下图为整个计算机系统中,操作系统作为连接计算机硬件和其他软件的桥梁:
image.png
  • 3.1 操作系统管理CPU、内存、进程/线程
    \color{red}{操作系统管理的基本功能是进行资源调度}。即程序要运行,就要占用CPU和内存资源;而操作系统则负责资源调度,为程序运行做保障。与其说理解操作系统如何管理CPU、内存、进程/线程,不如说操作系统是如何调用这些资源的。内存的调用较为简单,存储空间的分配有两种方式:1. 类似于顺序表的一体式存储结构2. 顺序表的分离式存储结构;即按照以上方式进行空间分配即可。\color{blue}{真正让我感到困惑的,就是关于CPU的调用,以及多核、多进程、多线程等概念},\color{blue}{而这些概念的模糊,就是对CPU资源调用模式的不清晰所致}。接下来用一段话进行概括:

一个独立核心的CPU,在一个时间段内,是只能干一个活的。要想干活干得多,则有几个办法:

  1. 增加核心数: 一个CPU可以有很多个核心(core),则干活的就多了,即为“多核”
  2. 多进程:有了多核(C),则每个核可以负责一个任务,多个任务并行运算,即为多进程
  3. 多线程(T):原则上一个核在一个时间段内只能干一个活,但是利用超线程技术将一个物理核(实实在在有的核) 模拟出两个逻辑核(虚拟出来,能够执行核心所负责的活),此时一个物理核变成了两个逻辑核,故能够干两个活,因而称为多线程。
  4. 以马万琴给我的服务器配置为例:2 X Intel Xeon Gold 6258R Processor/2.70 GHz/38.5 MB/28C/56T/205W/2UPI/2933MHz 意思是每块CPU参数为28C/56T,共2块CPU。
    这里的“时间段”,是计算机执行时间的最小单位,称为时间片;    
    进程是操作系统分配资源的最小单元, 线程是操作系统调度的最小单元。
    每个进程在执行过程中拥有独立的内存单元,而一个进程的多个线程在执行过程中共享内存。
    一个应用程序至少包括1个进程,而1个进程包括1个或多个线程,线程的尺度更小。

总结起来,特定计算机的资源(算力)是固定的(有多少核,多少线程);操作系统的作用就是根据当前计算机接到的任务,合理地进行计算资源的分配;当然在我们编程的过程中(Python),我们也可以通过coding的方式,显式地指定资源调用的方式。

python多进程/多线程的内容非常值得深入阅读,待续……https://zhuanlan.zhihu.com/p/46368084

image.png

参考文献
每个程序员必须懂的计算机基础知识老汤说https://www.bilibili.com/video/BV1uz411v75t?p=24
没有操作系统时,人们是如何操控计算机的?
http://08643.cn/p/855be71576e8
ASCII
https://baike.baidu.com/item/ASCII
Python 多进程和多线程
https://zhuanlan.zhihu.com/p/46368084
关于多核,多进程,多线程
https://zhuanlan.zhihu.com/p/82123111
超线程
_百度百科
https://baike.baidu.com/item/%E8%B6%85%E7%BA%BF%E7%A8%8B/86034?fromtitle=%E8%B6%85%E7%BA%BF%E7%A8%8B%E6%8A%80%E6%9C%AF&fromid=276864

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351