怎样才能创建自己的网站,wordpress 分页不出来,商丘购物网站开发设计,优质校建设专题网站1. 硬件
①冯诺依曼体系
我们常见的计算机#xff0c;如笔记本。我们不常见的计算机#xff0c;如服务器#xff0c;大部分都遵守冯诺依曼体系。其详细结构如下图所示 在这里有几点要说明 1. 这里的储存器实际上指的是内存 2. 输入设备与输出设备都属于外设 常见的输入设备…1. 硬件
①冯诺依曼体系
我们常见的计算机如笔记本。我们不常见的计算机如服务器大部分都遵守冯诺依曼体系。其详细结构如下图所示 在这里有几点要说明 1. 这里的储存器实际上指的是内存 2. 输入设备与输出设备都属于外设 常见的输入设备如鼠标键盘摄像头话筒磁盘网卡等 常见的输出设备如显示器播放器硬件磁盘网卡 3. 运算器与控制器都属于中央控制器即CPU 运算器的功能是对我们的数据进行计算任务(算数运算逻辑运算) 控制器的功能是对我们的计算硬件流程进行一定的控制 值得注意的是 1. 在不考虑缓存情况时这里的CPU能且只能对内存进行读写不能访问外设(输入或输出设备) 2. 在冯诺依曼体系中每一个部件都是一个独立个体 3. 外设(输入或输出设备)要输入或者输出数据也只能写入内存或者从内存中读取 根据上面的情况我们可以总结出一个结论所有设备都只能直接和内存打交道
在了解了冯诺依曼体系后我们也可以解释一些之前无法解释的问题如 为什么一个程序要运行必须要先加载到内存中 答因为冯诺依曼体系结构规定了必须这样做。 在实现进度条小程序时我们知道默认缓存的数据被储存了起来那么这些数据存储在哪 答储存器中。 ②实际举例
在这里我们举一个实际例子
我们在使用QQ向朋友发送消息时数据是如何流动的 如果发送的是文件时那么自己的输入设备和朋友的输出设备都应该是磁盘朋友在收到文件后采取的措施是将文件保存到本地磁盘中。
2. 软件
①什么是操作系统
任何计算机系统都包含一个基本的程序集合称为操作系统(OS(operating system) 内核进程管理内存管理文件管理驱动管理 其他程序例如函数库shell程序等等 简单来说操作系统是一个对软硬件资源进行管理的软件。 计算机中有如上图所示的层状结构在其中我们可以看到操作系统通过直接管理驱动程序来实现间接管理底层的硬件在管理好软硬件资源之后操作系统为了保证自己数据安全也为了保证给用户能够提供服务操作系统以接口的方式给用户提供调用的入口来获取操作系统内部的数据这就是系统调用它是操作系统提供的用C语言实现的自己内部的函数调用。所有访问操作系统的行为都只能通过系统调用来完成。那么操作系统存在的意义是什么呢为什么我们需要操作系统呢根据上面对层状结构的解释我们可以有以下理解 1操作系统帮助用户管理好下面的软硬件资源 2为了给用户提供一个良好(稳定高效安全)的运行环境 即操作系统通过管理好底层的软硬件资源(手段),为用户提供一个良好的执行环境目的)
在C语言中我们经常会调用系统库那么这个系统库与系统调用又有何关系和
②操作系统如何进行管理
那么在知道了操作系统是什么之后它是如何对软硬件进行管理的呢
首先我们要知道一般管理资源都分为决策者执行者与被管理者举几个例子在大学中校长就相当于决策者辅导员是执行者各个学生就是被管理者在公司中老板就相当于决策者小组长是执行者员工就是被管理者。在这些例子中我们可以发现管理者和被管理者是不需要见面的既然如此那么管理者在不见被管理者的情况下如何做好的管理呢——其实只要能够得到管理信息就可以进行管理决策由此我们也可以看到管理的本质——通过对数据的管理达到对人的管理。既然管理者和被管理者面都不见那怎么拿到对应的数据呢——通过执行者。
管理者在决定好要收集到被管理者的什么数据之后如校长需要收集到学生的学院、专业、班级、学号、姓名、性别、身高、体重、籍贯、电话等数据通知辅导员收集数据之后再将其反馈到校长处校长为了能够更好的管理数据决定描述每一个学生的具体情况将每个学生视作一个结构体的具体对象对学生的描述可以如下图所示 在描述好之后为了将它们互相联系起来可以向Student结构体中添加struct Student* next来衔接下一个学生这之后每有一个学生便实例化一个对象并使它们链接起来这样就将对学生数据的管理转换成了对链表的管理这种方式就是操作系统管理资源的方式即在操作系统中管理任何对象最终都可以转化成为对某种数据结构的增删查改这种管理资源的方式我们将其称为“先描述后组织”即对于任何一个要管理的资源都要先对其进行描写有什么属性这之后再使用一种数据结构来管理它们
3. 进程
①什么是进程
对于一个已经加载到内存中的程序叫做进程通俗一点来说正在进行的程序我们将其称之为进程。
②进程的理解
因为操作系统是需要同时运行多个进程的那么操作系统要如何管理进程呢这在之前我们就提到过——先描述后组织。对于任意一个进程在磁盘将其加载到内存时都是加载的代码与数据进去而操作系统想要管理它就要先对一个进程作出相应的描述为了描述这样一个进程操作系统有自己的描述进程的结构体对象即——PCBprocess control block它是一个进程属性的集合体在这个结构体中包含了许多的进程属性然后操作系统会根据自己的PCB类型为传输进来的代码和数据创建相应的PCB对象。 操作系统为了管理这些进程会将它们转换为单链表方便管理。那么我们就可以认为进程操作系统对应的PCB相应的代码与数据。
③Linux中的进程
在了解了PCB后Linux中的进程又是什么样的呢在LInux中操作系统所使用的PCB为task_struct其包含进程的所有属性且LInux是使用双链表的形式来管理进程的。下面就让我们来创建一个进程其代码如下
int main()
{while (1){printf(这是一个进程\n);sleep(1);}return 0;
}然后我们可以使用
ps ajx | grep code1
来查看我们想要查看的进程属性运行有 在这里我们能够看到除了我们想看到的自己的进程外还有一个auto code1进程我们要想只显示自己的进程可以添加一个过滤命令即
ps ajx | grep code1 | grep -v grep
即
此外为了方便我们更好的了解进程属性可以打印一个表头出来即
ps ajx | head -1 ps ajx | grep code1 | grep -v grep
运行效果如下