计算机核心基础

编程语言介绍

什么是语言?什么是编程语言?为何要有编程语言?

语言:即人与人沟通交流之间的媒介,人类所特有的用来表达意思、交流思想的工具

编程语言:即人与计算机沟通交流的媒介。可以理解为是一门外语。

什么是编程?为什么要编程?

编程:为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

那么为何要有编程语言,或者说人为何要与计算机沟通呢?这是因为在编程的世界里,计算机就好比是人的奴隶,人与计算机沟通的目的就是为了奴役计算机,让计算机按照人类的思维逻辑自发地去工作从而把人力解放出来。

计算机组成原理

计算机概述:

什么是计算机?

计算机俗称"电脑",电脑二字包括人对计算机的终极期望:能够真的像人脑一样去工作

为何要有计算机?

为了执行人类的程序,从而把人类解放出来
计算机所有的组成都是模仿人的某一功能或器官

计算机的五大组成部分:

  1. 控制器:相当于人的大脑,计算机的指挥系统。使各部件在控制器控制下有条不紊地协调工作
  2. 运算器:相当于人的小脑,实现算术运算和逻辑运算的部件。
  3. 存储器/IO设备:相当于人的记忆功能。其中又分为'内存'与'外存' ,内存(基于电工作)优点是存取的速度相比硬盘较快;缺点是断电数据容易丢失,无法保存下来;外存(硬盘,基于磁工作的)优点是断电数据不会丢失,可以永久保存;缺点是存取速度与内存相比较慢。
  4. 输入设备/I设备(input):相当于人的眼睛 手:键盘,鼠标,触摸屏
  5. 输出设备/O设备(output):相当于人的嘴巴:显示器,音响,打印机

计算机的三大核心硬件

  1. CPU:由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成。作为整个系统的核心,CPU也是整个系统最高的执行单元,因此CPU已成为决定电脑性能的核心部件,很多用户都以它为标准来判断电脑的档次。
  2. 内存:内存(Memory)是计算机的重要部件之一,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平
  3. 硬盘:电脑硬盘是计算机最主要的存储设备

总结:cpu是计算机核心部件,任何软件想要运行起来都必须要有cpu才可以,内存是配合cpu一起工作的,软件想要运行要先将代码加载到内存,cpu再去从内存中取指令并执行,而硬盘则是帮我们永久保存数据。内存对比硬盘来说,空间小速度快 硬盘空间大速度慢因此两者缺一不可

计算机系统三层结构

我们开发应用程序本质是在控制硬件,但是我们打交道的是操作系统,应用程序都是通过操作系统来间接地操作硬件的,所以一套完整的叫算计系统分为三层:

  1. 应用程序(暴风影音、腾讯qq)
  2. 操作系统(控制系统)
  3. 计算机硬件

file

三个问题可以让我们更好的了解三层架构的概念。

  1. 双击一个文件发生了什么事情:控制硬盘转动读取文件数据到内存
  2. 编辑文件内容发生了什么事情:修改了文件在内存中的文件数据,但是断电后立马丢失
  3. 按ctrl+s(保存)发生了什么事情:将内存中的数据刷到硬盘,永久保存

平台与跨平台概念

应用程序都是运行于操作系统之上,而操作系统则是运行于硬件之上的,所以承载应用程序的是一台运行有操作系统的计算机,称之为应用程序的运行平台,即:硬件 + 操作系统 == 平台

file

软件的跨平台性指的是:一款软件可以在任意平台上运行,这也是衡量软件质量高低的一个非常重要的指标

常见的平台有:windows系统+某款硬件、linux系统+某款硬件、ubuntu系统+某款硬件等,我们在开发应用程序时就需要考虑到应用程序的跨平台性,如果能开发出一款可以在任意平台运行的应用程序,那对于开发者来说真是极大的福音。而决定应用软件的跨平台性的关键因素往往是编程语言的选择,python恰好是一款跨平台性语言,这也是我们学习它的原因之一。

操作系统概述

基本概念:

程序的区分:

计算机的硬件是死的,计算机硬件的运行都受软件控制,所以说,软件相当于计算机的灵魂

具体来说软件分为两种

1.应用软件:应用程序相关逻辑

2.系统软件:控制底层硬件的

操作系统概念:

操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序

操作系统是管理计算机硬件与软件资源的计算机程序(本质就是也是一款程序员编写的应用程序)操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

作用:

1.控制计算机硬件的基本运行

2.把使用硬件的复杂操作封装成简单的功能,给上层的应用程序使用

总结:用大白话来说就是:假如程序员要开发制作一款应用程序,在编写这款程序的逻辑代码之前,就先要开发一款控制这款应用程序基本运行的控制程序(因为文件都是保存在硬盘当中的) 而这款控制程序是所有程序员在开发应用程序前都需要做的重复劳动。举个例子:假如你要去玩steam游戏,这款游戏不论你要玩哪款游戏都需要登录一个公共账号,但创建账号过程需要填写很多信息异常麻烦,这时有人在网站上提供账号给你玩是一个道理。原理就是把复杂的硬件的控制整合成了一个简单的接口。而这时就有专门的公司跳出来承担开发控制程序的任务。

常见的操作系统

PC端常见的操作系统:

  1. Windows操作系统,是由美国微软公司(Microsoft)研发的操作系统,问世于1985年。特点:注重用户体验、支持应用软件多、对硬件支持良好
  2. linux系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布。特点:多用户、多任务、支持多种平台
  3. mac系统,MacOS是一套由苹果开发的运行于Macintosh系列电脑上的操作系统。特点:macOS多平台兼容模式、占内存小、macOS操作系统界面非常独特,突出了形象的图标和人机对话

移动端常见的操作系统:

  1. 安卓系统,由美国Google公司和开放手机联盟2008年9月23日领导及开发
  2. IOS系统,iOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad上。iOS与苹果的macOS操作系统一样,属于类Unix的商业操作系统。
  3. 鸿蒙系统,华为鸿蒙系统 (HUAWEI HarmonyOS),是华为在2019年8月9日于东莞举行华为开发者大会(HDC.2019)上正式发布的操作系统。

山林不向四季起誓 荣枯随缘