计算机基础概论

一、计算机的组成

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每一个任务分配时间片。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 共享内存mmap,进程通信

文章目录 前言一、存储映射 I/O二、mmap, munmap三、父子进程间 mmap 通信四、非血缘关系进程间 mmap 提通信五、mmap 匿名映射区总结 前言 进程间通信是操作系统中重要的概念之一,使得不同的进程可以相互交换数据和进行协作。其中,共享内存…

.bit域名调研

.bit域名研究 问题: .bit域名和ENS域名的相同点?不同点?有什么关系? .bit的定义 .bit 是基于区块链的,开源的,跨链去中心化账户系统.bit 提供了以 .bit 为后缀的全局唯一的命名体系,可用于加密…

SpringBoot复习:(36)国际化

一、Resources目录下建立一个目录(比如international)来存储资源文件 message.properties 空的,但不能没有 message_zh_CN.properties hello您好message_en_us.properties hellohello world二、自动配置类MessageSourceAutoConfiguration 常量MESSAGE…

学习笔记整理-JS-02-基本类型

文章目录 一、数据类型简介和检测1. JavaScript中两大数据类型 二、基本数据类型1. 数字类型2. 字符串类型3. 布尔类型4. undefined类型5. null 三、数据类型的转换1. 数据类型的转换 四、重点内容 一、数据类型简介和检测 1. JavaScript中两大数据类型 基本数据类型 Number S…

【Linux 网络】 数据链路层协议

数据链路层协议 数据链路层解决的问题以太网协议认识以太网以太网帧格式 认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响ARP协议ARP协议的作用ARP协议的工作流程ARP数据报的格式 总结 数据链路层解决的问题 IP拥有将数据跨…

认识 spring 中的事务 与 事务的传播机制

前言 本篇介绍spring中事务的实现方式,如何实现声明式事务,对事物进行参数的设置,了解事务的隔离级别和事务的传播机制;如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录…

python环境下载安装教程,python运行环境怎么下载

本篇文章给大家谈谈python安装步骤以及环境变量配置,以及下载python需要设置环境变量吗,希望对各位有所帮助,不要忘了收藏本站喔。 1.https://www.python.org/downloads/windows/ 下载适合自己电脑的python安装包 2.下载后安装即可 3.配置环…

FastAPI和Flask:构建RESTful API的比较分析

Python 是一种功能强大的编程语言,广泛应用于 Web 开发领域。FastAPI 和 Flask 是 Python Web 开发中最受欢迎的两个框架。本文将对 FastAPI 和 Flask 进行综合对比,探讨它们在语法和表达能力、生态系统和社区支持、性能和扩展性、开发工具和调试支持、安…

LVS集群和nginx负载均衡

目录 1、基于 CentOS 7 构建 LVS-DR 群集。 2、配置nginx负载均衡。 1、基于 CentOS 7 构建 LVS-DR 群集。 1.部署LVS负载调度器 1>安装配置工具 [rootnode6 ~]# yum install -y ipvsadm 2>配置LVS虚拟IP(VIP地址) [rootnode6 ~]# ifconfig ens…

测试开发探索:“WeTalk“网页聊天室的测试流程与自动化

目录 引言: 测试开发目标: "WeTalk"项目背景 关于登录测试用例的设计 测试开发策略与流程 集成测试:Selenium JUnit 接口测试:Postman 测试用例的设计与实现 自动化测试演示: 用例一:登…

vulnhub靶机Deathnote

难度:easy 下载地址:https://download.vulnhub.com/deathnote/Deathnote.ova 主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.140 进一步查看目标的端口的服务和版本 nmap -sV -sT -O -p22,80 192.168.21.140 扫描端口的漏洞…

CNN(四):ResNet与DenseNet结合--DPN

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 前面实现了ResNet和DenseNet的算法,了解了它们有各自的特点: ResNet:通过建立前面层与后面层之间的“短路…

springboot生成表结构和表数据sql

需求 业务背景是需要某单机程序需要把正在进行的任务导出,然后另一台电脑上单机继续运行,我这里选择的方案是同步SQL形式,并保证ID随机,多个数据库不会重复。 实现 package com.nari.web.controller.demo.controller;import cn…

【大数据】Flink 详解(二):核心篇 Ⅱ

Flink 详解(二):核心篇 Ⅱ 22、刚才提到 State,那你简单说一下什么是 State。 在 Flink 中,状态 被称作 state,是用来保存中间的计算结果或者缓存数据。根据状态是否需要保存中间结果,分为 无状…

OpenCV基本操作——图像的基础操作

目录 图像的IO操作读取图像显示图像保存图像 绘制几何图形绘制直线绘制圆形绘制矩形向图像中添加文字效果展示 获取并修改图像中的像素点获取图像的属性图像通道的拆分与合并色彩空间的改变 图像的IO操作 读取图像 cv2.imread()import numpy as np import cv2 imgcv2.imread(…

7-4 求整数均值

本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出4个整数,其间以空格分隔。 输出格式: 在一行中按照格式“Sum 和; Average 平均值”顺序输出和与平均值,其中平均值精确到小…

windows10 安装WSL2, Ubuntu,docker

AI- 通过docker开发调试部署ChatLLM 阅读时长:10分钟 本文内容: window上安装ubuntu虚拟机,并在虚拟机中安装docker,通过docker部署数字人模型,通过vscode链接到虚拟机进行开发调试.调试完成后,直接部署在云…

【C语言】每日一题(错误的集合)

最近在牛客、力扣上做题,花费海量时间,苦不堪言,有时绞尽脑汁也想不出,痛定思痛,每日记录写的比较困难的题。 错误的集合 题目如上图所示 题主乍看之下觉得很简单,再看例子,不就是一个有序数组…

Spring Boot单元测试与Mybatis单表增删改查

目录 1. Spring Boot单元测试 1.1 什么是单元测试? 1.2 单元测试有哪些好处? 1.3 Spring Boot 单元测试使用 单元测试的实现步骤 1. 生成单元测试类 2. 添加单元测试代码 简单的断言说明 2. Mybatis 单表增删改查 2.1 单表查询 2.2 参数占位符 ${} 和 #{} ${} 和 …

docker搭建LNMP

docker安装 略 下载镜像 nginx:最新版php-fpm:根据自己需求而定mysql:根据自己需求定 以下是我搭建LNMP使用的镜像版本 rootVM-12-16-ubuntu:/docker/lnmp/php/etc# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 8.0…