linux篇【4】:进程与操作系统

目录

一.冯诺依曼体系结构

1.为什么要有内存?

a.技术角度

b.成本角度

2.存储器/内存 的意义

二.操作系统

1.管理的理解一:管理的本质-对数据做管理。

2.管理的理解二:如何管好大量的数据!

管理的核心理念:先描述(对象有各种信息),再组织(数据结构)

3.进程

程序是文件吗?——是的!文件在磁盘! !

4.操作系统OS


一.冯诺依曼体系结构

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

输入输出设备这些外设不和cpu直接打交道,而是把数据放到内存中。cpu也是直接从内存中读数据。

输入:键盘,话筒,摄像头,磁盘,网卡...
输出显示器,音响,磁盘,网卡,显卡...
(运算器+控制器) [cpu]:算数计算+逻辑计算
存储器:就是内存
 

1.为什么要有内存?

a.技术角度

cpu的运算速度 > 寄存器的速度 > L1~L3Cache > 内存 >> 外设(磁盘)  >>  光盘磁带
数据角度:外设不和cpu直接交互,而是和内存交互,cpu也是如此
        内存在我们看来,就是体系结构的一个大的缓存,适配外设和cpu速度不均的问题的!

b.成本角度

        寄存器>>内存>>磁盘(外设)

计算机蔓延全世界 ! 那计算机一定有2个特点:有效 ,便宜
 

2.存储器/内存 的意义

使用较低的钱的成本,能够获得较高的性能。平衡输入输出速度慢和cpu运行速度快

几乎所有的硬件,只能被动的完成某种功能,不能主动的完成某种功能,一般都是要配合软件完成的(OS+cpu)

我们自己写的软件,编译好之后,要运行,必须先加载到内存,为什么? ?
体系结构规定!局部性原理

二.操作系统

1.管理的理解一:管理的本质-对数据做管理。
 

操作系统是一款软件,搞管理的软件

管理的本质:对数据做管理。
 

校长连我的面都不见,如何管理我呢?.
管理你要和你打交道,要和你见面吗?
他是怎么做到的?
管理的本质:不是对被管理对象进行直接管理,而是只要拿到被管理对象的所有的相关数据,我们对数据的管理,就可以体现对人的管理! ! ! ! !

2.管理的理解二:如何管好大量的数据!

如何管好大量的数据!

人认识世界的方式:
通过属性认识世界的!
一切皆对象
一切事物都可以通抽取对象的属性,来达到描述对象的目的
class OBJ {
//成员属性        

}

管理的核心理念:先描述(对象有各种信息),再组织(数据结构)

 对进程的管理变成了对链表的增删查改

3.进程

什么是进程?进程是一个运行起来的程序,进程=可执行程序(例如:内存中的test.exe)+该进程对应的内核数据结构(PCB)

task_struct 是一个具体的PCB,PCB进程控制块在linux中叫task_struct

程序是文件吗?——是的!文件在磁盘! !

操作系统里面可能同时存在大量的进程。操作系统要将所有的进程管理起来,
对进程的管理,本质就是对进程数据的管理。先描述(对象有各种信息),再组织(数据结构)

二.操作系统OS

1.OS介绍

操作系统:内存管理,进程管理,文件管理,驱动管理

什么是操作系统(OS),类比银行管理系统,操作系统就是银行的行长。 

银行给所有人提供服务的方式是通过窗口提供的:

我们见到的所有的银行,都是一个封闭体,暴露出来一些窗口。因为银行是不相信任何人的!防止一些不法分子闯入,要防止少数人,给多数人提供服务。

类比后,操作系统也是通过给用户提供接口的方式!操作系统也是不相信任何人

要防止少数人恶意修改代码,要给多数人提供服务。内核是使用C语言写的!接口:给我们提供底层是C语言的函数调用。系统可以调用各种函数

操作系统不相信任何人的!不会直接暴露自己的任何数据结构,代码逻辑,其他数据相关的细节!!

操作系统是通过系统调用的方式,对外提供接口服务的!
Linux操作系统是用C语言写的,这里所谓的“接口”,本质就是C函数!

我们学习系统编程本质就是在学习这里的系统接口

windows的系统接口和Linux的系统接口一样吗? ? 肯定不一样。

操作系统管理结构官方图:  

 

2.OS为神马要给我提供服务呢?

计算机和OS 设计出来是为了给人提供服务的

printf or cout 向显示器打印,显示器是硬件->所谓的打印,本质就是将数据写到硬件上
我们自己的C程序,没有资格向硬件写入
 

三.进程的查看

我们自己写的代码,编译成为可执行程序,启动之后就是一个进程!
那么别人写的呢??启动之后是不是进程呢??肯定算!!

查看进程的第一种最常用的方式:ps axj | grep ' mytest'

当前路径?:当前进程所在地路径,进程自己会维护。

 每一个进程在系统中,都会存在一个唯一的标识符(pid)!就如同同学们在学校每个学生都有一个学号的东西!
pid (process id )

 

ctrl+c和kill -9 进程pid 杀进程

-9是9号命令,以后再谈

 

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...