码迷,mamicode.com
首页 > 系统相关 > 详细

Linux网络编程

时间:2020-11-18 13:12:00      阅读:17      评论:0      收藏:0      [点我收藏+]

标签:操作   mic   修改   速度   包含   类型   针对   系统资源   不同的   

1.程序和进程
程序:编译好的二进制文件,在磁盘上,不占用系统资源(CPU,内存,打开的文件,设备,锁...)
进程:与操作系统联系紧密,进程是活跃的程序,占用系统资源,在内存中执行(程序运行起来,产生一个进程)
2.并发
3.并行
4.单道程序 多道程序
5.CPU 和 MMU
技术图片

32位与64位主要针对的是寄存器 32位: 4字节 64位: 8字节
寄存器 速度快 容量小
硬盘 速度慢 容量大

6.硬盘到cpu
硬盘 -> 内存 -> 寄存器 -> cpu(cpu 中存储的其实是一条一条的指令( 二进制)(预处理 -> 编译 ->汇编 ->链接 ))

预取器:从内存中把指令取出来
译码器:解析指令,查看需要哪些寄存器来完成现在想要实现的功能
ALU:用来运算 只会加法和左移,算法回写到寄存器
7.MMU作用
技术图片

虚拟地址:可用的地址空间 实际占用的内存没有那么多

MMU:虚拟地址与物理内存的映射
设置修改内存的访问级别(MMU在映射时 也会设置访问级别 为cpu设置 Linux只使用3级(用户空间)和0级(内核空间))
技术图片

进程之间是互相独立的
同一程序虽然是不同的进程但是同用同一块内核空间。
pcb是位于内核空间当中,当时两个进程的pcb内容不一样,但是位于同一块物理内存

进程控制块 pcb

每个内核中都有一个进程控制块(PCB)来维护进程相关信息,linux内核进程控制块是task_struct结构体
主要掌握:

1.进程Id:每个进程都有唯一的id,在c语言中用pid_t类型表示,是一个非负整数
2.进程的状态:就绪 运行 挂起 停止

  1. 进程切换时需要保存和恢复的一些cpu寄存器
    4.描述虚拟地址空间的信息
    5.描述终端的信息
    6.当前工作目录
    7.umask掩码
    8.文件描述符,包含很多指向file结构体的指针

Linux网络编程

标签:操作   mic   修改   速度   包含   类型   针对   系统资源   不同的   

原文地址:https://blog.51cto.com/14569275/2549939

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!