• Linux命令

    系统命令 Linux怎么看进程号/进程占用的 CPU? ps 和 top 命令都能查看进程号和进程占用的的 CPU。 TOP命令:进程按照CPU使用率的降序排列,最占用CPU的进程会显示在列表的顶部。 Linux怎么看进程中的线程? 先通过 ps 命令找到进程的 pid 号之后,通过 ps -T -p...

    2024 年 7 月 25 日 星期四(已编辑)
    /
    91
    阅读全文
  • 操作系统(五)网络 I/O

    Linux五种IO模型 阻塞I/O**: 这是最常见的I/O模型。在此模式中,当应用程序执行I/O操作时,如果数据还没有准备好,应用程序就会被阻塞(挂起),直到数据准备好为止。这期间,应用程序不能做其他事情。 非阻塞I/O**:在此模式中,如果I/O操作的数据还没有准备好,操作会立即返回一个错误,而不是阻塞应用程序。应用程序可以继续执行其他操作,也可以反复尝试该I/O操作。 I/O多路复用**:也常称为事件驱动I/O。在此模式...

    2024 年 7 月 23 日 星期二
    /
    84
    1
    阅读全文
  • 操作系统(四)文件系统

    读取一个文件的时候,操作系统会发生什么? 读取磁盘文件的时候,CPU 不会负责从磁盘读取数据的过程,而是将磁盘数据搬运到内存的工作全部交给 DMA (直接内存访问)控制器,CPU 不再参与任何与数据搬运相关的事情,这样 CPU 就可以去处理别的工作,不会阻塞住。 具体的过程是这样的: 用户进程调用 read 方法,向操作系统发出 I/O 请求,然后进程进入阻塞状态; 操作系统收到请求后,进一步将 I/O 请求发送 DMA,然后 CPU 会执行其他任务; DMA 进一步将 I/O 请求发送给磁盘,磁盘收到 DMA 的 I/O 请求,把数据从磁盘读取到磁盘控制器的缓冲...

    2024 年 7 月 21 日 星期日
    /
    90
    1
    阅读全文
  • 操作系统(三)内存管理

    为什么操作系统会有虚拟内存? 虚拟内存可以使得进程对运行内存超过物理内存大小,因为程序运行符合局部性原理,CPU 访问内存会有很明显的重复访问的倾向性,对于那些没有被经常使用到的内存,我们可以把它换出到物理内存之外,比如硬盘上的 swap 区域。 由于每个进程都有自己的页表,所以每个进程的虚拟内存空间就是相互独立的。进程也没有办法访问其他进程的页表,所以这些页表是私有的,这就解决了多进程之间地址冲突的问题。 页表里的页表项中除了物理地址之外,还有一些标记属性的比特,比如控制一个页的读写权限,标记该页是否存在等。在内存访问方面,操作系统提供了更好的安全性。(如写时复制的权限...

    2024 年 7 月 20 日 星期六(已编辑)
    /
    105
    1
    阅读全文
  • 操作系统(二)进程管理

    进程与线程 为什么创建进程比创建线程慢? Linux 中创建一个进程自然会创建一个线程,也就是主线程。创建进程需要为进程划分出一块完整的内存空间,包含代码区、堆区、栈区、数据区等内存资源 创建线程则简单得多,只需要确定 PC 指针和寄存器的值,并且给线程分配一个栈用于执行程序,同一个进程的多个线程间可以复用进程的虚拟内存空间,减少了创建虚拟内存的开销。 因此,创建进程比创建线程慢,而且进程的内存开销更大。 为什么进程的切换比线程开销大? 进程间的切换的时候,除了需要切换 CPU 上下文,还需要切换页表,切换了页表会影响TLB的命中率,那么虚拟地址转换为物理...

    2024 年 7 月 17 日 星期三
    /
    120
    1
    阅读全文
  • 操作系统(一)系统结构

    存储结构 为什么计算机要给储存结构分级? 不同级别的储存结构具有不同的访问速度,CPU 访问 CPU Cache 的延时只需要几个时钟周期,访问物理内存的延时则是几百个,速度相差 100 倍,访问磁盘延时就更高了,已经到毫秒级别了(百万时钟周期),但是访问速度越快的存储器,造价成本会高很多,容量也比较小。 通过分级储存结构,可以将数据按照不同的访问速度、容量和成本要求进行管理,CPU Cache用于存储近期频繁访问的数据,内存用于存储当前执行的程序和数据,而硬盘则用于存储大量数据和长期存储。(一个时钟周期小于10纳秒) CPU cache L1 L2 L3 读取数据的时...

    2024 年 7 月 16 日 星期二
    /
    66
    1
    阅读全文
  • SSM框架

    Spring概述 什么是Spring Spring是一个生态,可以构建Java应用所需的一切基础设施,通常Spring是指Spring Framework Spring是一个轻量级、非入侵式的控制反转(IoC)和面向切面(AOP)的开源容器框架 容器:包含并管理应用对象的生命周期 Spring框架的好处 轻量:Spring是轻量的,基本的版本大约2MB 控制反转:Spring通过控制反转实现了松散耦合,集中管理对象,方便维护 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 ...

    2024 年 6 月 24 日 星期一(已编辑)
    /
    125
    2
    阅读全文
  • 计算机网络(六)网络编程

    Socket 网络编程对应 TCP 三次握手的环节 服务端和客户端初始化 socket,得到文件描述符; 服务端首先会通过 bind函数给 socket 绑定端口和IP地址,然后调用 listen函数,进行监听,然后调用 accpet 函数等待客户端建立连接。 当客户端调用 connect 函数的时候,内核会随机生成初始化序号,放到 TCP 报文头部的序号字段中,同时把 SYN 标志设置为 1,这样就表示 SYN 报...

    2024 年 6 月 22 日 星期六(已编辑)
    /
    34
    阅读全文
  • 计算机网络(五)网络攻击

    DNS劫持是什么? 当我们访问网站的时候,实际上是会先进行域名解析得到网站服务器的IP地址,然后才进行后续的访问。DNS劫持利用了这个过程中的漏洞,攻击者在DNS服务器上算改DNS解析结果,将域名解析到攻击者控制的恶意服务器上,这时候我们访问的域名就被重定向到恶意网站上。 解决办法:手动更换公共DNS服务器,绕过被劫特的DNS服务器。 DNS污染是什么? DNS污染就是得到了一个虚假的结果,攻击者监听DNS查询,一旦发现查询的域名与自己是匹配的,就把自己伪装成目标域名服务器,然后返回虚假的结果给用户,这样用户域名解析的结果就是错误的,无法和正确的目标服务器IP进行通信。...

    2024 年 6 月 21 日 星期五
    /
    57
    阅读全文
  • 计算机网络(四)网络层

    ping的工作原理说一下 ping是通过ICMP协议来实现的,ping的时候,会发送类型为回送请求的ICMP报文,对方接收到之后,就会回复类型为回送响应的ICMP报文。 交换机和路由器有什么区别 交换机工作在MAC层,称为二层网络设备,主要处理数据帧的转发和交换,交换机会根据MAC地址来转发数据包,实现局域网内设备之间的通信。 路由器工作在IP层,称为三层网络设备,主要负责IP数据包的转发和路由选择,路由器会根据IP地址来转发数据包,实现不同网络之间的通信。 IP地址和MAC地址有什么区别 IP地址用于在网络中唯一标识和定位设备,它是在网络层使用...

    2024 年 6 月 21 日 星期五(已编辑)
    /
    79
    1
    阅读全文
更多萌ICP备20240806号一打木网盘开往起始页
联系写留言发邮件GitHub

© 2024-2025 一打木. | RSS | 站点地图 | | Stay hungry. Stay foolish.

Powered by Mix Space&. | 渝ICP备2024028468号-1 |