摘要:
可以参考《程序员的自我修养》装载、链接和库 linux加载程序的过程简单点说就是linux建立一个进程,然后读取可执行文件头,并且建立虚拟空间与可执行文件的映射关系,最后把cpu的指令寄存器设置成可执行文件的入口地址,启动执行。然后依次执行代码段的指令。 1、程序并不是从main函数开始的。比如下面 阅读全文
摘要:
一、概述 Android系统有监控程序异常退出的机制,这便是本文要讲述得debuggerd守护进程。当发生native crash或者主动调用debuggerd时,会输出进程相关的状态信息到文件或者控制台。输出的debuggerd数据 保存在文件/data/tombstones/tombstone_ 阅读全文
摘要:
操作系统装载程序之后,首先运行的代码并不是main的第一行,而是某些别的代码,这些代码负责准备好main函数执行所需要的环境,并且负责调用main函数,这时候你才可以在main函数里放心大胆地写各种代码:申请内存、使用系统调用、触发异常、访问I/O。 一个典型的程序运行步骤大致如下: (1)操作系统 阅读全文
摘要:
pthread_join和pthread_detach的用法 pthread_join和pthread_detach的用法 //从别处拷贝过来的,只作为自己查看方便,原作者不详,请谅解。 一:关于join join join是三种同步线程的方式之一。另外两种分别是互斥锁(mutex)和条件变量(co 阅读全文
摘要:
What is a Thread? A thread is a single sequence stream within in a process. Because threads have some of the properties of processes, they are sometim 阅读全文
摘要:
A process which has finished the execution but still has entry in the process table to report to its parent process is known as a zombie process. A ch 阅读全文
摘要:
fgetc() and fputc() in C fgetc() fgetc() is used to obtain input from a file single character at a time. This function returns the number of character 阅读全文
摘要:
the hardware, the operating system, the application programs, and the users(四部分:硬件、操作系统、应用程序和用户) 10 Chapter 1 Introduction All forms of memory provide 阅读全文