摘要:
什么是回调函数?一直都比较模糊,似懂非懂,今天就来总结一下! 首先从一个链表查找函数开始,程序如下: Node * search_list( Node *node, const int *value ) { while( node != NULL ) { if( node->value == val 阅读全文
摘要:
死锁的基本概念: 死锁定义:在一组进程中,每个进程都无限等待该组进程中另一进程所占有的资源,因而永远无法得到的资源,这种现象称为进程死锁,这一组进程就称为死锁进程。 危害:如果死锁发生,会导致系统资源大量浪费,甚至导致系统崩溃 发生死锁的原因:资源有限,或锁和信号量使用错误 产生死锁的必要条件: 互 阅读全文
摘要:
第一种: # 目录树结构如: # . # ├── exec # ├── exec.c # ├── fork # ├── fork.c # ├── Makefile # 对于自己做的一些小练习,用这样的Makefile非常方便 SRC = $(wildcard *.c) TARGETS = $(pat 阅读全文
摘要:
什么是文件系统:操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。 文件系统的设计: 操作系统角度:怎样组织、管理文件? 文件的描述、分类 文件目录的实现 存储空间的管理 文件的物理地址 磁盘实际运作方式(与设备管理的接口) 文件系统性 阅读全文
摘要:
相比于前一部分,本章介绍页式存储管理系统中的软件策略,主要内容是对进程页(虚拟页)的管理,并介绍典型页面置换算法 虚拟存储技术:当进程运行时,先将其一部分装入内存,另一部分暂留在磁盘,当要执行的指令或访问的数据不在内存时,由操作系统自动完成将它们从磁盘调入内存的工作。把内存与磁盘有机地结合起来使用, 阅读全文
摘要:
本章介绍硬件方面的存储管理机制,主要内容为:页式存储管理系统中的物理页面管理方案——页框、页表、页目录 地址重定位(也叫作:地址转换、地址变换、地址翻译、地址重映射等) 背景知识: 程序装载到内存才能够运行 多道程序设计模型——允许多个程序同时进入内存 每个进程有自己的地址空间——一个进程执行时不能 阅读全文
摘要:
管程 —— 管理共享资源的机制,例如pthread中的Pthread_cond_init()、Pthread_cond_wait()、Pthread_cond_signal()等这样一套同步机制,以及Pthread_mutex_init()...等这样一套互斥机制 定义:管程是一个特殊模块,有一个名 阅读全文
摘要:
同步与互斥产生的背景:由于进程的三个特征导致的可能的时序错误,会引起程序执行错误 并发:进程的执行是间断性的,多个进程在执行的过程中不断切换 共享:多个进程间存在共享资源,并且多个进程间断性地执行,可能导致一个进程对数据的操作过程被另一个使用该数据的进程损坏,因此需要对使用共享资源的进程制定制约机制 阅读全文
摘要:
由于使用Vim时常用ESC键,因此需要将Caps Lock改为ESC以方便操作,尝试过几种方法,最终确定了最有效的。 第一种:在.vimrc中做xmodmap,每次进入vim时做映射,退出vim时复位映射,但这种方式会收到输入法的影响,有时需要重启vim才能生效 第二种:用dconf-editor, 阅读全文
摘要:
函数原型:char *fgets(char *s, int size, FILE *stream); 功能描述:fgets() reads in at most one less than size characters from stream and stores them into the bu 阅读全文