计算机导论笔记
第一章:计算机概述
计算机:是一种用于高速计算的电子计算机器,可以进行逻辑运算的数值运算,具有存储记忆功能
历史上的计算器:
时代 | 时间 | 特点 |
---|---|---|
电子管计算机时代(1946年ENIAC) | 1946-1958 | 体积大,耗电多,速度慢,成本高 |
晶体管计算机时代(1958年TRADIC) | 1958-1965 | 体积小,速度快,功耗低,性能稳定,出现了管理程序 |
小,中规模集成电路时代 | 1965-1970 | 体积更小,价格更低,计算速度更快,可靠性更高,出现了操作系统 |
大,超大,甚大,极大规模集成电路时代 | 1970至今 | 体积更小,价格更低,计算速度更快,可靠性更高 |
计算机由硬件系统(中央处理器+主存)和软件系统(系统软件+应用软件 )组成,**计算机系统的层次:硬件→系统软件→应用软件 **
计算机性能指标:
指标 | 概述 |
---|---|
机器字长 | 参与运算的数的基本位数,一个字节等于8位二进制位 |
数据通路宽度 | 数据总线一次所能并行传送信息的位数 |
主存容量 | 一个主存储器所能存储的全部信息量(字节类,字数×字长) |
运算速度 | 以MIPS和MFLOPS作为计量单位来衡量运算速度,也可以用"CPI"来衡量运算速度 |
Python作为网站后台,大数据的开发等。
第二章:计算机中的数据
与或非运算(1为真)
名称 | 实现方法 | 示例 |
---|---|---|
与运算(and) | 当输入的两个元素都为真,则输入and后的值,当两个值有一个为0,输出0 | 输入:0 and 0 输出:0 |
或运算(or) | 只要一个为真,就输出1 | 输入:1 or 0 输出:1 |
非运算 | 输出与输入的结果相反 | 输入:1 输出:0 |
存储容量8GB,机器字长2个字节,需要多少地址线:32根
进制
进制名称 | 后缀符号 |
---|---|
十六进制 | H |
十进制 | D |
八进制 | Q,O |
二进制 | B |
第三章:Python语言及其应用
程序(program):为解决某一问题而设计的一系列指令,能被计算机识别和执行 (即程序是可以被计算机识别和执行的指令)。
**程序设计语言:**用于书写计算机程序的语言。人与计算机打交道时交流信息的一类媒介和工具,由语句(statement)组成。
计算机程序设计语言发展历程
语言名称 | 概要 |
---|---|
机器语言 | 计算机直接使用的二进制形式的程序设计语言或机器代码 |
汇编语言 | 一种面向机器的用符号表示的低级程序设计语言。相当于机器指令的助记符号,与机器语言很接近 |
高级语言 | 易为人们理解的完全符号化的程序设计语言 |
编译系统
方式:
- 编译:输入结束后获得结果,可重复运行,修改麻烦,可生成独立执行文件
- 解释:随时可以获得结果,可以动态地调整,修改应用程序,不可以生成独立执行文件
负责程序:语言处理系统(编译程序,解释程序)
高级语言的特点:
- 高度封装,与低级语言相对
- 使用人易于接受的文字来表示
- 不是特指的某一种语言,而是包括很多种
- 与计算机的硬件和指令系统无关
- 执行速度慢
高级语言常用三种语句:
- 表达式语句
- 函数调用语句
- 控制语句
高级语言程序结构:
- 控制结构
- 顺序结构(最简单的程序设计结构)
- 选择结构(用于判断给定的条件)
- 循环结构(减少程序重复书写的工作量)
列举高级程序设计语言
- Python
- java(完全面向对象,对软件工程技术有很强的支持)
- C++(具有面向对象的的特性)
- C(允许直接访问物理地址,可直接对硬件进行操作)
- C#
- PASCAL
Python语言的内置数据类型
数据类型 | 符号 | 操作 |
---|---|---|
整型 | int | “+”,"-","*","/","//" |
浮点型 | float | “+”,"-","*","/","//" |
布尔类型 | True,False | >,<,<=,>=,==,!=,not,and,or |
列表 | L=[1,2] | 索引,分片,加,乘 |
字符串 | str | 字符串内既包含 ’ 又包含 " 时,可使用 \ 进行转义,%为格式化()%s,%d,%f,字符串中有%字符时,用%%转义来表示 % |
字典 | dict | 整个字典用{}括起来 |
Python语言的变量
- 不需要声明其类型
- 可以序列赋值
- 只能包含字母,数字和下划线,不能以数字打头
- 变量不能包含空格,但能使用下划线来分隔其中的单词
第四章:程序设计导引
数据结构(数据存储的关系)
类型 | 内容 |
---|---|
线性结构 | 数组,栈(后进先出),队列(尾进头出) |
树形结构 | 根节点有多个个部分,第一个存放数值,另外的几个放分支的地址,以此类推 |
图形结构 | 深度优先,广度优先两种遍历方式,没有方向的图(线连接的元素可以相互找到),有方向的图(只能按照箭头传递),权重图(每个线上有各个权重(相当于距离),要找一个数值,计算机只能找到所有的距离) |
程序设计方法
方法 | 内容 |
---|---|
MVC结构 | model数据层(底层),view视图层(最上),controller控制层(中层)。分模块控制程序 |
goto语句 | 可以让程序强制执行某一指令,有可能打乱当前结构 |
面向过程 | 主要注意步骤,哪一步要干什么,一步一步解决问题 |
面向对象 | 对目标的属性,方法(能力),根据得出的结果来编写过程,达成目的 |
面向对象4要点
- 对象是组成客观世界的基本
- 对象是属于某个类的
- 继承性(同一类有相同点,可以根据相同点来归类)
- 消息传递
对对象类的划分取决于划分的粒度(标准)。
基本手段–抽象:抽象的过程,就是对问题进行分析和认识的过程。
三大特征: - 封装:进行分类,分装
- 继承:同一类有相同点,
- 多态:不同的人有不同的认识
软件生命周期:
- 定义阶段:计划,需求分析
- 开发阶段:设计,编码,测试
- 维护阶段:运行、维护
一.可行性研究 - 技术可行性
- 资金可行性
- 社会可行性
二.需求分析
软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可 能的解法。是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清 晰、具体的要求。
软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能求)。
三.编码实现
四.软件测试: - 仿真测试
- 性能测试
- 稳定性测试
- 集成测试
- 接口测试
- 白盒异常测试
- 单元测试
五部署
将软件(网页)放到服务器上
六.软件维护
第五章:操作系统简介
操作系统简介:操作系统(OS, Operating System ):是控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。
计算机启动过程(DIOS系统启动前三步):
- 启动自检阶段(检查相关硬件)
- 初始化启动阶段(从设备启动系统)
- 启动加载阶段
- 内核装载阶段
- 登陆阶段
操作系统分类
类别 | 特点 |
---|---|
批处理操作系统(最早的) | 批处理是指计算机系统对一批作业自动进行处理的技术。 由于系统资源为多个作业所共享,其工作方式是作业之间自动调度执行。并在运行过程中用户不干预自己的作业,从而大大提高了系统资源的利用率和作业吞吐量! |
分时操作系统(时间作为最小的分片单位,最常用) | 交互性:用户与系统进行人机对话 多路性:多用户同时在各自终端上使用同一CPU 独立性:用户可彼此独立操作,互不干扰,互不混淆 及时性:用户在短时间内可得到系统的及时回答 |
实时操作系统 | 所谓**“实时”,即"及时",是指系统能及时(或即时)响应外部 事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。它必须保证实时性和高可靠性**,对系统的效率则放在第二位 |
嵌入式操作系统 | 嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等 嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能 |
操作系统在用户没有操作时,处于休息状态。
操作系统对硬件的管理----CPU,内存和外存,I/O设备
CPU管理:CPU有多个核,一个核只能同时运行一个程序
多任务在同一个核上进行:
1.分时间片
2. 中断——进程
3.调度——调度策略
进程:
- 就绪状态(不唯一,等待CPU指令)
- 运行状态
- 阻塞状态(在运行时资源不足时,就会被CPU关闭,这个叫阻塞状态,阻塞状态也不唯一)阻塞要想执行必须先回到就绪状态,才能运行。
周转时间:进入就绪状态开始到程序执行完需要的时间(如果上一个程序执行用了一小时,那么需要加上一小时)
进程调度P235:
- 先来先服务(与运行时间长短无关)
- 短任务优先(谁的运行时间短谁先运行)
如果系统时间片为5个时间单位,就是指在过完5个时间单位后,要重新选择运行的程序(主要体现在短任务优先中),然后分别计算周转时间,如果一个程序运行结束,则自动运行下一个程序。
####文件系统:
在现代计算机系统中,要用到大量的程序和数据,由于内存容量有限,且不能长期保存 ,故而平时总是把他们以文件的形式存放在外存中,需要时调入内存。但用户不能够胜 任管理文件的工作,于是在OS中又增加了文件管理功能,构成一个文件系统,负责管理 在外存上的文件。
文件夹:
计算机磁盘空间里面为了分类储存电子文件而建立独立路径的目录。
系统通过文件名找到文件,所以同一个文件夹不能有相同名的文件。
目录树结构:文件目录用于标识系统中的文件及其物理地址,供检索时使用。对目录管理的要求:
- 实现“按名存取”。
- 提高对目录的检索速度。
- 文件共享。
- 允许文件重名
目录查询技术:当用户要访问一个已存文件时,系统首先利用用户提供的文件名对目录进行查询,找出该文件控制块或对应索引结点;然后根据FCB或索引结点中所记录的文件物理地址,换算出文件在磁盘上的物理位置;最后通过磁盘驱动程序,将所需文件读入内存。
网络
URL:统一资源定位符(网页域名)
URL分为三部分:
- 协议(http,HTTPS,FTP)
- 域名
- 资源路径(查询网页在服务器的位置)
一个网页对应一个网页文件,一个网页文件对应一个URL。
网络访问过程: - 在浏览器输入URL或IP地址 (客户端浏览器)
- 发起查询
- 返回结果(本地DNS)
- 请求
- 响应(服务器)
静态网页和动态网页:
类别 | 特点 |
---|---|
静态网页 | 静态指有固定的代码,通过引进来实现(代码会变) 静态语言:HTML CSS JavaScript 动态语言:PHP Java 静态和后台合成动态网页 |
动态网页 | 动态指页面代码不变,显示内容随着时间、环境或者数据库操作的结果而发生改变。如百度的背景图:编写一段固定代码,像引用函数一样引进 |
大部分网页都属于动态网页
####计算机网络的体系结构:五层模型
从底层:物理层 数据链路层 网络层 运输层 应用层
每一层独立,每层有个接口,来进行联系,每层有单独的协议
模型 | 作用 |
---|---|
物理层: | 管理在物理层上的数据比特流(以比特流的形式传递)。信道复用技术:将多条信息通过叠加合成一条 |
数据链路层: | 将数据封装成帧(加入map地址,相当于电脑的身份证号),透明运输,差错检测绑定 |
网络层: | 绑定IP地址( IP地址:32位的二进制数组,每八位用十进制表示,得到现在的IP地址),将数据从原端送往目的端,找到发出信息和接收信息的服务器,有很多中转站(路由器),根据IP地址来寻找路由器 |
运输层: | 提供端口,建立连接或断开连接(在外有一层首部,用来保密,成为段),将数据分组打包,数据在两个层之间三次传递,应相互回馈(告诉对方数据已接受)**可靠传输:**停止等待协议:如果在等待一定时间后没有得到反馈,则认定为没有收到,将重新发送数据 |
应用层: | 解决问题(通过多个进程间的联系) |