标签:操作系统

图解:生产者与消费者伪源码模型

 西邮 Linux 兴趣小组   生产者与消费者问题 问题描述: 生产者消费者问题,也称有限缓冲问题,是一个多线程同步问题的经典案例。一起来看看它的实现吧! 问题分析 要解……

【转载】形象地描述进程、线程和协程之间的区别

原创:刘欣          转载自码农翻身公众号。   很久以前,有两个程序,暂且称他们旺财和小强吧。 旺财和小强这两个程序都很长,每个都有十几万行。 他们两个的人生价值就是到 CPU 上去运行,把运行结果告诉人类。 CPU 是稀缺资源,只有一个,他们俩必须排着队,轮流使用。 旺财从头到尾执行完了……

深入理解操作系统之——分页式存储管理

  页式存储器管理是操作系统中十分重要的内容,这也正是虚拟存储关键技术之一。如果没有理解页式管理、段式管理和段页式管理,那么对操作系统中的虚拟内存理解也只有十之一二,因为操作系统中的各个概念都是密不可分的,你中有我,我中有你。本文将讲述内容包括一级页表、快表、二级页表和多级页表。   页 相对物理块来说,页是逻辑地址空间(虚拟内存空间)的……

(2)DIY Shell之——内建命令与外部命令

  这是本博客的第一个文章专辑。主要介绍如何用 C 语言基于Linux系统来实现一个简单shell,DIY 一个shell。通过自己编程实现一个Linux下的shell,可以使得个人对进程的概念、进程的通信和操作系统的运行的理解更加的深刻。还会大大增加个人学习的成就感,提供学习兴趣。 这一个文章专辑被命名为 StupidShell ,这也是作者所实……

(1)DIY Shell之——shell的基本框架

  这是本博客的第一个文章专辑。主要介绍如何用 C 语言基于Linux系统来实现一个简单shell,DIY 一个shell。通过自己编程实现一个Linux下的shell,可以使得个人对进程的概念、进程的通信和操作系统的运行的理解更加的深刻。还会大大增加个人学习的成就感,提供学习兴趣。 这一个文章专辑被命名为StupidShell,这也是作者所实现的……

深入探讨操作系统的内存管理——虚拟内存与物理内存

本文将从单个进程能申请到的最大虚拟内存空间开始深入探讨Linux操作系统虚拟内存和物理内存的关系。 环境: 虚拟机:VMware12、2G 内存、2G 交换区。 操作系统:Linux Ubuntu16 x64 编译器:gcc CPU:Intel core i5 x64   为了高效、准确测试出该系统下,单个进程能够申请到的最大虚存空间,所以编写了一……