V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GeruzoniAnsasu  ›  全部回复第 97 页 / 共 142 页
回复总数  2838
1 ... 93  94  95  96  97  98  99  100  101  102 ... 142  
产品 实际上会变成什么样

并不完全取决于

你设计的时候想做什么样
2020-01-13 16:56:32 +08:00
回复了 luyan 创建的主题 生活 关于解酒药
@lekai63 浓硫酸加热催化(狗头
“做项目的”
“我就打个工”
> 那么保留这个“浮点运算不准确”的特性有什么特殊意义吗?如果没有特殊意义,那么“浮点运算结果不准确”是不是 Bug 呢?如果是 Bug 的话为什么至今仍然有很多开发语言有这个问题呢?


1. 是的,有意义,意义在于与硬件行为保持一致以便程序编写者能更好地利用上硬件,并优化代码逻辑。

2. 不是 bug,而是数学-工程实现 非完全一致带来的必然代价。有很多数学模型工程上都无法精确实现,只能近似。比如几乎所有的编程语言都是“图灵完全”的,但没有任何一种语言能写出图灵机,因为图灵机模型描述的无限长纸带是不可实现的。浮点数的问题也是“近似实现”带来的。

3. 为了追求数学上的精确,还有非常多的办法,也有专门的用数学语言编程的编程语言。但它们的目标是去解决数学问题,由于硬件限制,这种语言一般完全达不到工业语言的性能水平。所以,事实上有解决了浮点精度 /符号计算问题的语言,但它们不适合写工业代码;也有充分暴露硬件实现以便编码者优化逻辑的工业用编程语言,但它们的计算有精度限制,与数学运算不完全等价。

取舍问题
顺风车其实你有点理亏,因为顺风车车主其实没有任何法律责任一定要带你去目的地,这也不是他职责所在,甚至他临时不去了让你下车都是合情合理的,毕竟你只是搭车主的顺路,并非营运线路。快车之类滴滴自行运营的我肯定据理力争

打车几年没投诉 看来 lz 还没遇到过恶意拒单开到你面前点个到达直接溜走不让你上的,这种客服电话回来我都是要求直接封号的。当然最后封没封我是不清楚,但给了我打车券补偿
结论: 信息不足
看起来像看不懂要写内存管理还是任务管理的一群普通大一学生在吐槽题目看不懂

如果写的是内存管理,那可能还是有顶尖学霸能随手复刻一下各种 **malloc 库实现的

如果真的是写“任务管理” 那题目不首先定义一下 task/process 内核结构体那么是没法开始动键盘的,更别说动笔了。我觉得并不能傻逼到这种程度
2020-01-02 12:31:52 +08:00
回复了 jacketma 创建的主题 程序员 唉,支'付宝发文称说过去一年,工程师写了 4 亿行代码
真不知道 lz 是故意的,还是装无知。
2019-12-30 11:34:30 +08:00
回复了 gay4in 创建的主题 问与答 有没有人用过去角质慕斯?为什么用脸上一挫就很多泥
盲猜角蛋白酶(软化)、磨料(把皮磨下来)、糖皮质激素(防敏感抗炎症)


去角质=把表皮抹掉,泥=你的皮
2019-12-29 21:06:30 +08:00
回复了 hxx051 创建的主题 推广 2020 个人号主互帮群,争取生态跑起来
10 年前
刚有微博的时候,我曾经信过互粉群
(摊手)
您要找的是不是:




.net framework
2019-12-26 13:54:20 +08:00
回复了 squancher 创建的主题 程序员 请问编程语言中阻塞机制在操作系统最底层是如何实现的?
@squancher 所以说了,没有。你看起来的“实时” 就 就 就是先把状态改了等下一个时间片而已

下一个时间片分不到定时器就是不准的。就这样。
2019-12-26 13:16:26 +08:00
回复了 squancher 创建的主题 程序员 请问编程语言中阻塞机制在操作系统最底层是如何实现的?
@squancher 状态改变是主动的,实时发生的,但检测状态改变,不是。

或者说 上面用户态的绝大多数情况都不需要实时感知直接触发回调
2019-12-26 13:14:22 +08:00
回复了 squancher 创建的主题 程序员 请问编程语言中阻塞机制在操作系统最底层是如何实现的?
@squancher 内核中有专门结构,进程内会通过 api 来通知内核修改内核对象的值。
2019-12-26 13:13:26 +08:00
回复了 squancher 创建的主题 程序员 请问编程语言中阻塞机制在操作系统最底层是如何实现的?
@squancher 假设我们实现一个慢悠悠的,没有优先级的,分片很长的调度方法


那,阻塞这件事就会变成( A 等待 B 进程,系统有 ABCD4 个进程)
1. A 进程进入等待状态,调度器把 A 关联到 B,A 变为不可调度
2. 调度 B 进程,B 进程获得时间片,跑 1 秒,任务没结束。
3. 调度 C 进程,C 进程获得时间片,跑 1 秒
4. 调度 D 进程,D 进程获得时间片,跑 1 秒
5. 调度 A 进程,A 进程不能调度,继续选下一个
6. 调度 B 进程,B 进程获得时间片,跑 1 秒任务结束
7. 调度器发现 B 进程结束了,遍历正在等 B 的进程,发现 A,A 设为可调度
8. 调度 C 进程
9. 调度 D 进程
10. 调度 A 进程,A 进程获得时间片,取得 B 状态,跑 1 秒
11. 调度 B 进程,B 进程所有关联的等待者已不再等待,可以卸载 B 进程
12. 调度 C 进程

……
2019-12-26 13:04:50 +08:00
回复了 squancher 创建的主题 程序员 请问编程语言中阻塞机制在操作系统最底层是如何实现的?
@squancher

> 就是这个问题,上面问过了,怎样判断条件,能做到实时,快速反应





不是“实时”的。
协程你理解吧,协程状态变化不是“实时的”对吧,而是被等待 routine 状态改变的时候调度器把等待进程重新设为可调度而已


进程一样的,操作系统判断被等事件状态可改变时把状态修改(为完成),同时把在等待这个事件的所有进程重新设为可调度,下次调度时就能恢复它们的执行流程



顺带一提,正因为 linux 调度器算法机制不能做到“实时”,所以 linux 并不是一个实时操作系统。RTOS 需要有硬件机制来直接通知内核立即切换进程状态并调度目的进程
1 ... 93  94  95  96  97  98  99  100  101  102 ... 142  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1965 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 01:33 · PVG 09:33 · LAX 18:33 · JFK 21:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.