文章目录1.进程、进程切换、调度2.UNIX进程3.地址空间与特权级别4.页表5.物理内存的分配6.系统调用7.设备驱动程序、块设备和字符设备8.网络9.文件系统10.模块和热拔插11.缓存12.链表处理13.对象管理和引用计数14.数据类型1.进程、进程切换、调度系统中同时真正在运行的
用上述2个函数v...
址如何与物理地址映射?一种简单的思路:固定偏移量映射缺点:(1)(2)程序3无法使用0-200的内存,称之...
文章目录
文章目录一、进程1.进程的一些概念2.进程模型(3)进程和程序的关系3.进程的创建:4种(a)前台进程与后台进程的区别(8)Unix和Windows的父子进程之间的关系4.进程的终止:4种5.进程的层次结构(1)Unix的进程层次(a)Unix进程的特点(2)Windows没有进程层次6.进程的状态
文章目录1.理解文件系统树2 当前工作目录3.列出目录内容4.更改当前工作目录1)绝对路径2)相对路径5.有用的快捷键1.理解文件系统树Windows 每个存储设备都有一个独自的文件系统,类似于 Unix 的操作系统 Linux,总是有一个单一的文件系统树,不管有多少个磁盘或者存储设备连接到计算机上2 当前工作目录pwd(打印工作目录)命令,
文章目录1.终端仿真器2.第一次按键3.命令历史4.移动光标5.关于鼠标和光标6.简单命令7.结束终端会话8.幕后控制台shell就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行1.终端仿真器2.第一次按键[me@linuxbox ~]$ 这叫做 shell 提示符,用户名 @ 主机名,如果提示符的最后一个字符是“
命令行最为珍视的目标之一就是懒惰;用最少的击键次数来完成最多的工作。• clear -清空屏幕• history -显示历史列表内容
段和分页其实都是一种对地址的划分或者映射的方式。两者的区别主要有以下几点:...
文章目录1.函数调用2.i386中的寄存器的调用1.函数调用在i386上,原则上函数的形参全部放在栈中。eg:代码如下#include<stdio.h>#include<stdlib.h>int v1=1;float v2=0.01;void func(int a, long b, short c, char d, long long e, floa...
文章目录1.用户空间进程的内核转储:coredump(1)ulimit相关指令(2)在专用目录中生成内核转储(3)自动压缩code dump文件(
文章目录1.gdb的调试选项2.gdb的使用1.gdb的调试选项构建方法一般写在INSTALL,README中至少要知道, gcc的优化
文章目录1.gdb技巧1.gdb技巧(1)attach到进程要调试守护进程(daemon process)等已经启动的进程,或者调试陷入死循环而无法返回控制台的进程时,可以使用sttach。格式:attach pid$ ps -aux|grep sleep(gdb)attach 17686attach后,就可以使用普通的gdb命令;恢复程序运行,使用continue;参考:...
文章目录1.gdb技巧1.gdb技巧(1)命令历史默认命令历史文件在./.gdb_history(2)初始化文件.gdbinitLinux环境下的初始化文件为.gdbinit。如果存在.gdbinit文件,gdb就会在启动之前,将其作为命令文件运行。初始化文件和命令文件的执行顺序如下:1$HOME/.gdbinit2运行命令行选项3./.gdbinit4通过-X选项给出的命令...
文章目录1.函数的参数与调试1.函数的参数与调试可以检查与故障相关的函数的参数,以缩小有问题的函数的范围eg:代码如下
文章目录1.C++语言的函数调用2.在x86_64中查看参数3.在i386中查看参数1.C++语言的函数调用每个class foo的实例中(代码中的f
文章目录1.SIGSEGV发生的情况1.SIGSEGV发生的情况NULL指针的访问指针被破坏等原因导致的非法地址访问栈溢出导致访问超出了已分配的地址的空间$ ./某代码参考:《GDB/Debug.Hacks中文版:深入调试的技术和工具》..
文章目录1.问题内容2.解决办法3.查看寄存器和栈1.问题内容以多线程应用程序中由于线程间的冲突导致的栈破坏为例,讲解调试方法。由
文章目录1.数组的错误操作2.改变程序运行地址的3种方法3.数组的缓冲区溢出导致的栈破坏4.错误的数组下标引起的GOT破坏1.数组法3.数组的缓冲区溢出导致...
文章目录1.错误使用内存相关库函数引起的bug2.利用MALLOC_CHECK_进行调试1.错误使用内存相关库函数引起的bugC语言常见的到内存破坏依然会...
文章目录1.线程2.协程3.异步1.线程线程是CPU调度的最小单位eg:单核CPU,有3个要执行的线程,先执行线程1,让出时间片,再执行线程2,让出时间片,再执行线程3,直至所有线程执行完毕; 左右两边的区别在于:右边不对CPU进行时间分片,右边只执行了两次线程的上下文切换 ,两侧执行的总时间是一样的疑问:右边的执行效率更高?多线程存在的意义? 意义:I/O:包括DiskI
文章目录1.死锁时需要临时分配环路条件多个进程构成环路:环中每个进程已占用的资源被前一进程申请,而自己所申请的资源又被环中后一进...
定,以后不再改变2.Linux进程的优先级静态优先级进程创建时指定或者由用户修...
文章目/筷子编号:0-4,哲学家左手边筷子编号与哲学家编号相同int S[5]={1,1,1,1,1};//信号量:i号筷子...
x
文章目录一、页缓存二、LinuxVFS之文件打开、读、写逻辑一、页缓存二、LinuxVFS之文件打开、读、写逻辑参考:一文看懂 | 什么是页缓存(Page Cache)、Linux虚拟文件系统剖析: 文件打开、读、写逻辑...
这一章节将会介绍以下命令:• cp —复制文件和目录• mv —移动/重命名文件和目录• mkdir —创建目录• rm —删除文件和目录• ln —创建硬链接和符号链接命令行程序,功能强大灵活。虽然图形文件管理器能轻松地实现简单的文件操作,但是对于复杂的文件操作任务,则使用命令行程序比较容易完成1 通配符因为 shell 频繁地使用文件名, shell 提供了特殊字符来帮助你快速...
这一章的命令主要是指:• type –说明怎样解释一个命令名• which –显示会执行哪个可执行程序• man –显示命令手册页• apropos –显示一系列适合的命令• info –显示命令 info• whatis –显示一个命令的简洁描述• alias –创建命令别名1 到底什么是命令?命令的四种类型:1)是一个可执行程序,类似的文件位于目录/usr/bin 中,这一...
I/O重定向:“I/O” 代表输入/输出,通过这个工具,你可以重定向命令的输入输出,命令的输入来自文件,而输出也存到文件。也可以把多个命令连接起来组成一个强大的命令管道。本章主要介绍的命令如下:• cat -连接文件• sort -排序文本行• uniq -报道或省略重复行• grep -打印匹配行• wc -打印文件中换行符,字,和字节个数• head -输出文件第一部分• t...
一、什么是操作系统?用户与之交互的程序,基于文本的通常称之为shell2.基于图标的则称之为图形用户界面GUI1)软件中最基础的部门是操作系统,它运行在内核态,在这个模式中,操作系统具有对所有硬件的完全访问权,可以执行继器能够运行的任何指令。2)进行I/O操作的指令,在用户态中的程序里是禁止的。3)操作系统运行在裸机之上,为所有其它软件提供基础的运行环境,eg:若用户不喜欢某个...
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号