当前位置: 首页 > wzjs >正文

wordpress 命令执行seo顾问

wordpress 命令执行,seo顾问,怎么做网站推销产品,手机浏览器下载appok,我们今天学习linux中的操作系统和进程 1. 冯诺依曼体系 我们常⻅的计算机,如笔记本。我们不常⻅的计算机,如服务器,⼤部分都遵守冯诺依曼体系。 内存是CPU和外设之间的一个巨大的缓存! 截⾄⽬前,我们…

ok,我们今天学习linux中的操作系统和进程

1. 冯诺依曼体系

我们常⻅的计算机,如笔记本。我们不常⻅的计算机,如服务器,⼤部分都遵守冯诺依曼体系。

内存是CPU和外设之间的一个巨大的缓存!

截⾄⽬前,我们所认识的计算机,都是由⼀个个的硬件组件组成

  • 输⼊单元:包括键盘,⿏标,扫描仪,写板等
  • 中央处理器(CPU):含有运算器和控制器等 
  • 输出单元:显⽰器,打印机等

关于冯诺依曼,必须强调⼏点:

  • 这⾥的存储器指的是内存
  • 不考虑缓存情况,这⾥的CPU能且只能对内存进⾏读写,不能访问外设(输⼊或输出设备)
  • 外设(输⼊或输出设备)要输⼊或者输出数据,也只能写⼊内存或者从内存中读取。
  • ⼀句话,所有设备都只能直接和内存打交道

对冯诺依曼的理解,不能停留在概念上,要深⼊到对软件数据流理解上,请解释,从你登录 上qq开始和某位朋友聊天开始,数据的流动过程。从你打开窗⼝,开始给他发消息,到他的 到消息之后的数据流动过程。如果是在qq上发送⽂件呢?

当数据在计算机内部设备流转的时候,本质是在不同的设备间进行拷贝!设备的拷贝效率本质就是计算机的效率

2. 操作系统(OperatorSystem)

任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:

  • 内核(进程管理,内存管理,⽂件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

OS的目的

  • 对下,与硬件交互,管理所有的软硬件资源
  • 对上,为⽤⼾程序(应⽤程序)提供⼀个良好的执⾏环境

核心功能

在整个计算机软硬件架构中,操作系统的定位是:⼀款纯正的“搞管理”的软件

面向对象语言

先描述    再组织

面向对象 标准库(STL)

3. 进程

3-1 基本概念与基本操作

  • 课本概念:程序的⼀个执⾏实例,正在执⾏的程序等
  • 内核观点:担当分配系统资源(CPU时间,内存)的实体。

进程 = 内核数据结构(task_struct) + 程序的代码和数据

对进程的管理就成了对数据的增删查改

3-1-2 描述进程-PCB 基本概念

  • 进程信息被放在⼀个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
  • 课本上称之为PCB(processcontrolblock),Linux操作系统下的PCB是: task_struct

task_struct-PCB的⼀种

  • 在Linux中描述进程的结构体叫做task_struct。
  • task_struct是Linux内核的⼀种数据结构,它会被装载到RAM(内存)⾥并且包含着进程的信息。

3-1-3 task_ struct

  • 内容分类
  • 标示符:描述本进程的唯⼀标⽰符,⽤来区别其他进程。
  • 状态:任务状态,退出代码,退出信号等。
  • 优先级:相对于其他进程的优先级。
  • 程序计数器:程序中即将被执⾏的下⼀条指令的地址。
  • 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
  • 上下⽂数据:进程执⾏时处理器的寄存器中的数据[休学例⼦,要加图CPU,寄存器]。
  • I / O状态信息:包括显⽰的I/O请求,分配给进程的I/ O设备和被进程使⽤的⽂件列表。
  • 记账信息:可能包括处理器时间总和,使⽤的时钟数总和,时间限制,记账号等。
  • 其他信息 • 具体详细信息后续会介绍

组织进程

查看进程

1. 进程的信息可以通过 /proc 系统⽂件夹查看

如 :要获取PID为1的进程信息,你需要查看  /proc/1 这个⽂件夹。

2. ⼤多数进程信息同样可以使⽤top和ps这些⽤⼾级⼯具来获取

 #include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(){while(1){sleep(1);}return 0;}

通过系统调用获取进程标识符

  • 进程id PID
  • 父进程id PPID
 #include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(){printf("pid: %d\n", getpid());printf("ppid: %d\n", getppid());return 0;}

getpid 获得进程的标识符

pid_t id = getpid(); 获得pid

/proc目录/文件夹   Linux中的进程目录

/proc不是磁盘级别的文件,不需要存储任何信息,而是进程文件信息。

.exe

Windows中,执行一个程序,双击.exe文件,本质上就是启动一个进程(两种情况:1执行完就退出 2. 一直不退,直到用户退出----常驻进程(杀毒安全软件))

cwd (current work dir)

当前工作目录,默认创建进程会在当前工作目录

chdir更改进程的目录 

父进程id ppid

在Linux系统中,启动之后,新建任何进程的时候,都是由自己的父进程创建的!

命令行中,执行命令/执行程序, 本质是bash的进程,创建的子进程,由子进程执行我们的代码!

每登陆一次,就会创建一个bash

使用系统调用,创建进程

fork函数

  • 运行 man fork 认识fork
  • fork有两个返回值
  • 父子进程代码共享,数据鸽子开辟空间,私有一份(采用写时拷贝)

fork给父进程返回子进程的pid,给子进程返回0

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(){int ret = fork();printf("hello proc : %d!, ret: %d\n", getpid(), ret);sleep(1);return 0;}

Linux中,所有进程都是树型结构

fork之后通常要用 if  进行分流

#include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(){int ret = fork();if(ret < 0){perror("fork");return 1;}else if(ret == 0){ //childprintf("I am child : %d!, ret: %d\n", getpid(), ret);}else{ //fatherprintf("I am father : %d!, ret: %d\n", getpid(), ret);}sleep(1);return 0;
}

fork为什么会有两个返回值?

父进程和子进程代码时共享的,但是数据时各自私有一份的

两个返回值给父子如何返回?

fork给父进程返回子进程的pid,给子进程返回0

少年没有乌托邦,心向远方自明朗!

如果这个博客对你有帮助,给博主一个免费的点赞就是最大的帮助
欢迎各位点赞,收藏关注
如果有疑问或有不同见解,欢迎在评论区留言
后续会继续更新大连理工大学相关课程和有关Linux的内容和示例
点赞加关注,学习不迷路,好,本次的学习就到这里啦!!!

ok,我们下次再见!

http://www.dtcms.com/wzjs/259055.html

相关文章:

  • 网站建设 团队百度科技有限公司
  • 如何做自己的影视网站友链购买
  • 怎样用手机做网站网站的推广方式有哪些
  • 低代码平台开发seo网站建设优化什么意思
  • 怎么快速做网站怎么宣传网站
  • WordPress开启me360网站seo手机优化软件
  • php做购物网站黑帽seo技术培训
  • 网站做优化的操作图片html网页制作app
  • 山西公司网站建设抖音关键词优化
  • 网站游戏下载360搜索关键词优化软件
  • 怎样编写网站营销网站方案设计
  • 外贸海外网站推广博客优化网站seo怎么写
  • 网络营销网站刷排名有百度手机刷排名
  • 上海 宝安网站建设 网络服务百度商店
  • wordpress后台登录seo链接优化建议
  • 淄博周村专业网站建设公司网页设计费用报价
  • 浏览器打开苏州seo怎么做
  • 武汉个人做网站广州网页制作
  • wordpress 商城安全南宁seo排名外包
  • 自助网站东莞网站建设推广哪家好
  • php网站如何做多语言请简述网络营销的特点
  • wordpress 站点维护广东seo网站优化公司
  • 做网站代理需要办什么营业执照b站推广怎么买
  • 自己建免费网站做外贸怎么推广
  • 外贸网站设计市场调研报告范文大全
  • 网站开发国内外研究动态网站做seo教程
  • 制作绘本怎么做简易长沙排名优化公司
  • 返利网站程序郑州优化网站公司
  • 淘宝接网站开发的活十大网络营销经典案例
  • b2c电子商务网站需求推广网站模板