操作系统
文章平均质量分 83
ahojcn
这个作者很懒,什么都没留下…
展开
-
趣谈 Linux,系统初始化
从 8086 到 x86 的实模式和保护模式![image.png](https://img-blog.csdnimg.cn/img_convert/68aebfbaf8829a92c930aa009d2ba682.png#align=left&display=inline&height=444&margin=[object Object]&name=image.png&originHeight=592&originWidth=926&size=13原创 2021-08-01 22:06:35 · 295 阅读 · 0 评论 -
趣谈 Linux,基础篇
Linux 学习 6 步走:1、熟练使用 Linux 命令行《鸟哥的 Linux 私房菜》、《Linux 系统管理技术手册》2、使用 Linux 进程程序设计通过系统调用或者 glibc 库《UNIX 环境高级编程》3、了解 Linux 内核机制《深入理解 Linux 内核》内核版本有些老,但是了解原理可以4、阅读 Linux 内核代码《Linux 内核源代码情景分析》内核版本有些老一开始阅 读代码不要纠结一城一池的得失,不要每一行都一定要搞清楚它是干嘛的,而要聚焦于核心 逻辑和使用场景原创 2021-08-01 22:05:33 · 258 阅读 · 0 评论 -
【操作系统】死锁
文章目录死锁栗子死锁概念产生死锁的 4 个必要条件常见场景哲学家就餐问题如何避免死锁在 【操作系统】线程同步、线程互斥、原子操作 一问中,使用到了 锁 这个东西,当一个线程进入临界区后把门锁起来,其他线程跑到这里来发现锁被使用了,就等着锁被释放。当然,这是理想的情况下,但实际开发中还会出现下面的情况。死锁栗子mutex; //代表一个全局互斥对象void A() { mu...原创 2020-04-03 22:09:22 · 181 阅读 · 0 评论 -
【操作系统】线程同步、线程互斥、原子操作
文章目录线程互斥引入原因解决互斥同步原子操作线程互斥引入来看一段多线程的代码,这是一个经典的卖火车票例子,西安火车站现在剩余 10 张到北京西的票,有 3 个售票窗口在买票:// 销售火车票#include <stdio.h>#include <unistd.h>#include <pthread.h>int ticket = 10;// ...原创 2020-04-03 21:29:04 · 709 阅读 · 0 评论 -
【操作系统】在 Linux 上编写和调试多线程程序
文章目录线程创建线程终止线程等待线程分离使用 gdb 调试多线程程序本文的环境:Linux centos-7.shared 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linuxgcc 版本 4.8.5 20150623 (Red Hat 4.8.5-39) (G...原创 2020-03-30 11:07:33 · 531 阅读 · 0 评论 -
【操作系统】线程栈如何分配
测试环境:Linux centos-7.shared 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux一个进程的虚拟地址空间一般可以大致划分为代码区(text)、只读数据区(rodata)、初始化数据区(data)、为初始化数据区(bss)、堆(heap)、共...原创 2020-03-27 23:00:59 · 3781 阅读 · 1 评论 -
【操作系统】线程基础知识
线程概念、线程资源、线程优点、缺点、线程用途。原创 2020-03-26 11:44:10 · 160 阅读 · 0 评论 -
Windows上编写汇编程序
编写汇编程序汇编语言工具包:链接:https://pan.baidu.com/s/1biXtlVcb1HW9WoiliD6SbQ 密码:86zz一下介绍的是使用MASM在Windows和Mac上翻译和链接汇编程序,还有一款emu8086的软件也挺好用。1. 在32位机上(学校的机子上,win7_x86)将工具包中MASM文件夹复制到C盘下打开cmd,来到这个目录下创建...原创 2018-12-12 23:37:08 · 7824 阅读 · 5 评论 -
exec函数族
title: exec函数族date: 2019-06-15 18:32:38tags:- Linuxcategories:- Linux进程的程序替换,exec 函数族。fork 创建子进程后执行的是和父进程相同的程序,如果需要他执行不同的代码分支,子进程旺旺需要调用一种 exec 函数以执行另一个程序。当进程调用一种 exec 函数时,该进程的用户空间代码的数据完全被新程序替...原创 2019-06-24 08:20:19 · 204 阅读 · 0 评论 -
程序的地址空间
title: 程序的地址空间date: 2019-06-10 19:05:33tags:- 内存分布- Ccategories:- Linux在《算法设计与分析》这门课里学了递归,但老师只是提了一嘴"递归不能太深,否则会栈溢出"。那得多深才溢出啊?为啥会溢出?得找找资料看看了。下面是我的一些笔记,程序地址空间、进程地址空间……测试环境centos7 x64。程序地址空间根据...原创 2019-07-16 14:19:48 · 210 阅读 · 0 评论 -
动态库和静态库
title: 动态库和静态库date: 2019-06-16 17:38:12tags:- Linuxcategories:- Linux动态链接库、静态链接库。库的命名规则Linux 下,以 lib 开头,.a结尾是静态库,.so结尾是动态库。Windows 下,以 lib 开头,.lib是静态库,.dll是动态库。静态库Windows 下 的后缀是 .lib,Linu...原创 2019-07-16 14:20:19 · 154 阅读 · 0 评论 -
孤儿进程和僵尸进程
title: 孤儿进程和僵尸进程date: 2019-06-18 18:26:46tags:- Linuxcategories:- Linux孤儿进程和僵尸进程的概念,回收进程资源(wait、waitpid)。孤儿进程孤儿进程:父进程先于子进程结束,则子进程程伟孤儿进程,子进程的父进程成为 init 进程,称为 init 领养了这个孤儿进程。init 进程会循环地 wait(...原创 2019-07-16 14:20:50 · 270 阅读 · 0 评论 -
环境变量
title: 环境变量date: 2019-06-09 09:18:24tags:- Linuxcategories:- Linux话说上一回……我配置了环境变量用code .打开vscode,好吧后来我发现只有当时生效,但是重启terminal 后就又不能了,得重新执行source ~/.bash_profile,才能再用code命令。这是为什么呢?(蔡明腔)好吧不搞清这里不行了...原创 2019-07-16 14:21:31 · 148 阅读 · 0 评论