
操作系统概念
枪枪枪
见贤思齐焉,见不贤而内自省也。
君子生非异也,善假于物也。
君子博学而日参省乎己,则知明而行无过矣。
展开
-
[笔记] 操作系统概念 第十章
10.1 文件概念文件:操作系统对存储设备的物理属性加以抽象,从而定义逻辑存储单位。文件由操作系统映射到物理设备上。文件表示程序(源形式和目标形式)和数据。文件为位、字节、行或记录的序列,其含义由文件的创建者和用户定义。10.1.1 文件属性10.1.2 文件操作操作系统有一个打开文件表(open-file table)以用于维护所有打开文件的信息。系统调用open()通常返回一个...原创 2020-07-13 23:25:48 · 298 阅读 · 0 评论 -
Windows API POSIX 共享内存
编译环境:vs 2017CreateFile()函数中的文件名要定义为 LPCTSTR类型生产者进程:#include<Windows.h>#include<stdio.h>int main(int argc, char *argv[]){ HANDLE hFile, hMapFile; //Windows API定义的类型 和 void效果一样。 LP...转载 2018-12-31 18:36:20 · 421 阅读 · 0 评论 -
操作系统概念 10.1.2 文件锁定的JAVA示例
/** * A simple program demonstrating file locking. * This program acquires an exclusive lock on the * first half of the file and a shared lock on the second half. * * Usage * java LockingExample...转载 2019-01-05 10:03:41 · 194 阅读 · 0 评论 -
[笔记] 操作系统概念 第九章
8.6.3 倒置页表页表 <进程标识符,页码>物理地址 <条目i,偏移d>9.2 请求调页(demand paging)惰性交换器(lazy swapper)调页程序(pager)9.4.4LRU algorithm,Least-Recent-Used algorithm(最近最少使用算法)9.9.1 预调页面 (prepaging)9.9.3 TLB 范...原创 2019-01-05 08:25:13 · 593 阅读 · 0 评论 -
Linux POSIX 共享内存API
POSIX共享内存的实现为内存映射文件,它将共享内存区域与文件相关联。1:进程必须通过shm_open()创建共享内存对象,例:shm_fd = shm_open(name,O_CREAT | O_RDRW,0666);第一个参数指定共享内存对象的名称。当进程必须访问共享内存时,需要通过这个名称。第二个参数指定当共享内存不存在时,需要创建(O_CREAT);对象需要打开以便读写(O_RD...原创 2018-12-24 17:50:06 · 797 阅读 · 0 评论 -
操作系统概念 第三章 编程题 3.15
这道题是在3.14 的基础上,实现父进程与子进程之间数据的共享。思路为书中所讲的 《POSIX共享内存》 实例。采用生产者–消费者模型实现共享内存。生产者创建一个共享内存对象,想共享内存中写入;消费者从共享内存中读出。生产者进程:#include <stdio.h>#include <stdlib.h>#include <string.h>#inc...原创 2018-12-24 17:30:44 · 1700 阅读 · 1 评论 -
Linux下提示'PROT_WRITE'、'MAP_SHARED'、'O_RDRW' undeclard(first use in this function)的解决方法
问题截图:添加#include&lt;sys/mman.h&gt;头文件可解决’PROT_WRITE’、‘MAP_SHARED’、未定义的问题。现在还剩O_RDRW未定义的问题。我再想想吧 先(~ ~)原创 2018-12-15 21:40:26 · 4827 阅读 · 5 评论 -
操作系统概念 第三章 编程题 3.14
Linux 下c语言实现Collatz猜想问题#include&amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;amp;lt;unistd.h&amp;amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;amp;lt;sys/types.h&amp;amp;amp原创 2018-12-15 19:14:34 · 1869 阅读 · 1 评论 -
第二章 第二部分的作业 在Linux内核中插入模块
#include &lt;linux/init.h&gt;#include &lt;linux/module.h&gt;#include &lt;linux/kernel.h&gt;#include &lt;linux/list.h&gt;struct birthday { int month; int day; int year; struct原创 2018-12-13 14:38:24 · 396 阅读 · 0 评论 -
操作系统概念 第二章 2.15 利用Windows API 实现文件复制
#include&amp;amp;lt;windows.h&amp;amp;gt;#include&amp;amp;lt;stdio.h&amp;amp;gt;#define BUF_SIZE 1000int main(int argc,LPTSTR argv []){ //LPTSTR类型 与char*等价,表示普通字符/字符串变量,指向字符/字符串的指针。 HANDLE handleIn, handleOut;/转载 2018-12-31 17:32:32 · 581 阅读 · 0 评论