摘要: Epigrams on Programming 转载自这里 Alan J. Perlis Yale University This text has been published in SIGPLAN Notices Vol. 17, No. 9, September 1982, pages 7 - 阅读全文
posted @ 2024-11-20 16:10 hk416hasu 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 为什么“C语言具有可移植性”? "Any problem in computer science can be solved with another layer of indirection" C语言的设计特性使然,例如其I/O不依赖于特定平台,而是依赖于stdio.h,而库在不同平台上可以有不同 阅读全文
posted @ 2024-11-20 16:03 hk416hasu 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 对于int * const cpi,const修饰指针cpi本身,所以指针本身是常量不可变,而其所指之处的值可变。称为常量指针。 对于const int * pci 或 int const * pci,const修饰的是(*pci),所以pci是指向常量的指针。 1 #include <stdio. 阅读全文
posted @ 2024-07-24 20:38 hk416hasu 阅读(3) 评论(0) 推荐(0) 编辑
摘要: cygwin默认安装的manual太少了,一些manual sections压根没有。 但是直接从cygwin的安装程序中安装最新的man-pages似乎不起作用?于是我决定从网上下载。 下载地址:https://www.kernel.org/pub/linux/docs/man-pages/ 解压 阅读全文
posted @ 2024-06-25 11:08 hk416hasu 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 一句话速通银行家算法: try 分配资源, if safe() then continue; else 归还资源 并且 sleep(当前任务). 好,本文结束。 hh其实并没有,接下来我将解释这句话以及银行家算法究竟是个啥。 ps: 银行家算法是try assign(), 而还有个锁的api是try 阅读全文
posted @ 2024-05-20 22:30 hk416hasu 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 16进制快速求补法:最低位16-x, 其余位15-x举例:( - 0x1234)补 = 0xEDCC适用于手算16进制加减法,注意只有负数才需要求补码 证明(m 是 位数):b 补 = 2^m - b = (2^m - 1 - b) + 1 = (1000...0 - 1 - b) + 1 = (1 阅读全文
posted @ 2024-05-10 14:07 hk416hasu 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 1. 不能依赖OJ的反馈做题: a) 应该仔细读题,完全理解题意之后自行设计样例与反例,不应该靠OJ给出的不通过样例做题; b) 读题要边读边记录灵感或是注意事项,否则设计算法时可能会忘记; c) 应该在纸上用样例模拟几次,并写出伪代码,然后再根据样例与反例进行修正。 2. 完成比完美更重要,完成后 阅读全文
posted @ 2024-04-30 11:45 hk416hasu 阅读(6) 评论(0) 推荐(0) 编辑
摘要: // generated by ChatGPT-3.5 & hk416hasu 中断是计算机系统中一种重要的机制,它允许系统在执行过程中临时中止当前任务,转而处理其他优先级更高或更紧急的任务,然后再返回原来的任务。以下是一些计算机需要中断的原因: 1. 响应外部事件:计算机系统需要能够响应各种外部事 阅读全文
posted @ 2024-04-25 22:02 hk416hasu 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 前面我们提到:OS希望在保持控制权的同时,为用户提供高性能的并发。 那么OS究竟是如何保持对计算机的控制权呢?这似乎是一个令人迷惑(但很重要!)的问题:OS也是进程,自然也需要计算资源。那既然我们希望一直保持OS的控制权,难道OS需要一直占用计算资源么?当然不是这样。 在微内核OS中,一般有两种模式 阅读全文
posted @ 2024-04-19 12:14 hk416hasu 阅读(567) 评论(0) 推荐(1) 编辑
摘要: 我们为什么需要进程(Process)? 1. 首先,什么是进程? 进程,在非正式定义上是指运行中的程序 或 进行中的程序,是操作系统对程序的抽象。进程不只是程序,它是外存程序在内存的副本,一个程序可以有多个进程。 2. 好,所以我们为什么需要进程(Process)来作为程序的抽象? 因为在实际使用中 阅读全文
posted @ 2024-04-16 23:44 hk416hasu 阅读(58) 评论(0) 推荐(0) 编辑