计算机基础概论

一、计算机的组成

1.计算机组成的五大部件

(1)运算器:也叫算术逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻辑运算,位移,比较等。

(2)控制器:它是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。

(3)存储器:存储程序和各种数据。

(4)输入设备:把人所熟悉的信息,如图片,声音,文字,转换为计算机能够识别的信息存储起来。

(5)输出设备:把计算机能识别的信息转换为人能识别的信息进行呈现。

一台计算机中CPU中包含控制器和运算器,内存就是存储器。I/O设备就是输入和输出设备。

CPU、内存、I/O这些设备通过总线链接起来,放到主板上。

在这里插入图片描述

2.系统总线

(1)数据总线:用来在各个功能部件中传输数据,是双向传输总线。

(2)地址总线:用来指出数据总线上的原数据或目的数据在主存单元的地址或I/O设备的地址。

(3)控制总线:由于各个连接在数据总线和地址总线的部件都是共享这两类总线的,那么在某一时刻由谁来用,就是控制总线负责完成的。

现在如果内存中有一个变量i=0,现在要给i++,这时候3条总线都要工作,控制总线做的事告诉其他部件都不要动,只操作内存,确定数据传递方向是内存将数据传给CPU,而不是从CPU写如内存;地址总线就打出所操作的内存的地址;数据总线把地址的四个字节的数据从内存中搬到CPU,先放到寄存器中,然后从寄存器中再拿i++进行计算,再把结果写到一个寄存器中,再把寄存器的内容要写回到内存中;这时候3条总线又要工作,但是方向变了,这时候是从CPU往内存中写数据,最后i的值就从0变成了1。

3.指令

(1)指令:是指计算机执行某种操作的命令。一条指令通常由两部分构成:地址码和操作码。

(2)程序:由一条一条的指令构成。

(3)指令周期:CPU每取出并执行一条指令所需的全部时间称为指令周期。

(4)指令系统:计算机能够执行的全部指令的集合称为该计算机的指令系统。

(5)RISC:精简指令系统计算机(手机)

(6)CISC:复杂指令系统计算机(电脑)

(7)程序与指令:高级语言 汇编助记符 机器指令

二、进程

1.进程

一个正在运行的程序

2.PBC

即进程控制块,是进程存在的唯一标准。用来描述进程的属性信息。每一个进程控制块都相当于一个结构体,里面存放了进程id等进程的属性信息。

在这里插入图片描述

3.进程的状态

就绪:一切资源都准备好了,只要CPU调度该进程去执行就可以执行。(买票排队中)

运行:在处理器执行该进程。(排到队正在买票)

阻塞:某一条件没有满足执行不了,就算有空闲的处理器也执行不了。(买票时发现钱不够,让朋友转钱,等待钱转过来才能买票,钱转来之后变成了就绪状态)

进程数永远多于处理器数,每个进程都分一点时间进行轮转。(这个时间非常短)。

4.并行和并发的区别

并发:有一个处理器空闲,有两个进程要执行的时候无法同时执行,一个进程在执行的时候另一个进程无法执行,只能在一段时间内两个进程交替执行。在一段时间内,两个进程都有执行。(时间片轮转)

并行:有两个处理器空闲,有两个进程要执行的时候可以同时一直在执行,在任意一刻两个进程都在执行。并行是一个特殊的并发。

三、内存管理

1.简单分页、逻辑页、物理页、页表

内存是被划分成一块一块的空间使用的。一块是4k,就是4096个字节。

一个格子就是4k或者8k,一般是4k

在这里插入图片描述

现在要使用4个格子的内存:

在这里插入图片描述

这个格子中的0,1,2,3是逻辑页,分别对应真实物理页的4,10,17,18。

如以下页表:

在这里插入图片描述

页表用来记录逻辑页和物理页的映射关系。

2.虚拟内存

虚拟内存是用来补充物理内存。

物理内存不够的时候在磁盘上划分的一块空间,当作内存去用,但是它不是真正的物理内存,速度没有物理内存的速度快。

虚拟内存提供3个重要的能力:

(1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,根据需要在磁盘和主存之间来回传送数据,使得能够运行比内存大的多的进程。

(2)它为每个进程提供了一致的地址空间,从而简化了存储器管理。

(3)它保护每个进程的地址空间不被其他进程破坏。

四、操作系统发展史

操作系统:管理计算机上的软硬件资源,为用户提供一个交互的接口。

1.串行处理

提交一个任务,处理完再提交下一个任务再去处理,那个时候操作系统非常简单。

2.批处理

一次提交多个任务A,B,C。A执行完自动加载B,B执行完自动加载C…,如果A发生阻塞,那么也不会加载B,只有A执行完才会加载B。这时候运行一个程序,一个程序运行完才能运行下一个,处理器性能提高。

3.多道程序设计

一次提交多个任务A,B,C。A,B,C三个程序同时执行,比如,A执行过程中发生阻塞了,换成B来执行…,哪一个能执行就换它来执行。比批处理更加灵活。

4.分时系统

一次提交多个任务A,B,C。让每一个任务真正去执行,给每一个任务一个很小的时间片,A,B,C每一个任务都执行一遍,然后再给每一个任务一个很小的时间片,A,B,C每一个任务执行一遍…一直给A,B,C每一个任务分配时间片。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/72651.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-物理层(一)物理层的概念与传输媒体

计算机网络-物理层(一)物理层的概念与传输媒体 物理层相关概念 物理层的作用用来解决在各种传输媒体上传输比特0和1的问题,进而为数据链路层提供透明(看不见)传输比特流的服务物理层为数据链路层屏蔽了各种传输媒体的差异,使数据…

图像的镜像变换之c++实现(qt + 不调包)

1.基本原理 1.水平镜像变化 设图像的宽度为width,则水平镜像变化的映射关系如下: 2.垂直镜像变化 设图像的宽度为height,则垂直镜像变化的映射关系如下: 2.代码实现(代码是我以前自学图像处理时写的,代码很…

Kotlin和Java互操作时的可空性

注:文中demo的kt版本是1.7.10 一、kotlin语言中的可空性设计 在Java语言中的NPE(NullPointerException)可以说非常常见,而且诟病已久。 kotlin做为后起之秀,在空指针的问题上进行了升级,即&#xff1…

Linux_5_Shell脚本编程

目录 1 基础1.1 程序组成1.2 程序编程风格1.3 编程语言1.4 编程逻辑处理方式 2 shell 脚本语言的基本结构2.1 shell脚本的用途2.2 shell脚本基本结构2.3 创建shell脚本过程2.4 脚本注释规范2.5 第一个脚本2.6 脚本调试2.7 变量2.7.1 变量2.7.2 变量类型2.7.3 编程语言分类2.7.4…

popen/pclose 函数

函数作用 如果说system在一定程度上是execl的优化版,那么popen就一定程度上是system的优化版,使用popen不仅可以运行代码,还可以获取运行的输出结果(但是system和exec族函数还是非常重要的,也有自己的特定应用场景&am…

python_day19_正则表达式

正则表达式re模块 导包 import res "python java c c python2 python python3"match 从头匹配 res re.match("python", s) res_2 re.match("python2", s) print("res:", res) print(res.span()) print(res.group()) print("…

Docker安装nacos v2.1.1

目录 前言安装nacos安装步骤1:准备1. 安装docker2. 搜索可以使用的镜像。3. 选择合适的redis镜像。3. 也可从docker hub上搜索镜像。 安装步骤2:拉取镜像拉取镜像查看已拉取的镜像 安装步骤3:创建容器创建容器方式1:快速创建容器创…

广州华锐互动:VR3D课程在线教育平台为职业院校提供沉浸式的虚拟现实学习体验

随着科技的飞速发展,虚拟现实(VR)和增强现实(AR)技术已经逐渐渗透到我们生活的各个领域。其中,VR3D课程在线教育平台作为一种新兴的教育方式,正在逐渐改变我们的学习方式和体验。本文将详细介绍VR3D课程在线教育平台的应用前景及特点。 VR3D课…

用对角线去遍历矩阵

原题链接 用对角线遍历矩阵https://leetcode.cn/leetbook/read/array-and-string/cuxq3/ 算法分析 图一 图二 图三 图四 由上述四个图可以总结得出以下八个结论: 结论1:k属于[0,a(max)b(max)]。 结论2:每一层遍历行最多存在min(m,n)个矩…

小程序发布注意事项

1、使用HBuildx的 发布 功能发布小程序,因为编译完的代码目录不是同一个 如果使用 运行 到小程序,最后发布的版本会显示”无法连接本地服务器“ 2、使用unicloud的云服务 uniCloud发行 | uni-app官网 阿里云的unicloud的话,使用request域名…

高效实用小工具之Everything

一,简介 有时候我们电脑文件较多时,想快速找到某个文件不是一件容易的事情,实用windows自带的搜素太耗时,效率不高。今天推荐一个用来搜索电脑文件的小工具——Everything,本文将介绍如何安装以及使用everything&…

分布式监控平台—zabbix

前言一、zabbix概述1.1 什么是zabbix1.2 zabbix的监控原理1.3 zabbix常见五个应用程序1.4 zabbix的监控模式1.5 监控架构1.5.1 C/S(server—client)1.5.2 server—proxy—client1.5.3 master—node—client 二、部署zabbix2.1 部署 zabbix server 端2.2 …

记一次物理机安装centos7遇到的问题

首先制作U盘镜像(之前装windows的大白菜之类的就没用了) 用的这个UltraISO制作U盘镜像 然后从U盘启动开始安装, 问题一 安装时报错 dracut-pre-udev[351]:modprobe :ERROR:could not insert ‘floppy’ dracut-pre-udev[351]:modprobe…

ctfshow-web8

0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 这道题实际上就是一个单纯的布尔型盲注,只不过是过滤了一些东西,一个是过滤的空格,还有一个是过滤了逗号 那么我们需要做的就是对这两个进行绕过,空格还是用/**…

【网络基础实战之路】实现RIP协议与OSPF协议间路由交流的实战详解

系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 PS:本要求基于…

Python Opencv实践 - 在图像上绘制图形

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料:https://blog.csdn.ne…

词法分析器的设计与实现

1、实验目的及要求 1.1、实验目的 加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。 1.2、实验要求 1)对单词…

Windows - UWP - 为UWP应用创建桌面快捷方式

Windows - UWP - 为UWP应用创建桌面快捷方式 前言 这是一个较为简单的方式,不需要过多的命令行。 How 首先Win R -> shell:AppsFolder -> 回车, 这将显示电脑上的已安装应用(Win32 & UWP): 找到想要创建…

38 | 浦发银行股票分析案例

本文将通过一个浦发银行股票分析案例,探讨如何从多个维度对股票进行分析,包括基本面、技术面和市场环境等因素。我们将深入挖掘浦发银行的财务数据、业务模式以及市场定位,以了解其内在价值和潜在风险。同时,我们还将考察技术面的指标,如价格走势、均线形态等,以揭示市场…

计算机网络—IP

这里写目录标题 IP的基本认识网络层与数据链路层有什么关系IP地址基础知识IP 地址的分类什么是A、B、C类地址广播地址用来做什么什么是D、E类广播多播地址用于什么IP分类的优点IP分类的缺点 无分类地址CIDR如何划分网络号和主机号怎么进性子网划分 公有 IP 地址与私有 IP 地址公…