V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Nitroethane  ›  全部回复第 19 页 / 共 57 页
回复总数  1121
1 ... 15  16  17  18  19  20  21  22  23  24 ... 57  
2021-04-16 09:09:32 +08:00
回复了 LeeReamond 创建的主题 问与答 都是切换,为什么系统调用比进程切换的速度快?
就拿 int 0x80 中断实现系统调用来说吧,Linux 内核版本 2.6.32 。中断门在 trap_init() 函数中初始化,set_system_trap_gate(SYSCALL_VECTOR, &system_call) ( https://elixir.bootlin.com/linux/v2.6.32/source/arch/x86/kernel/traps.c#L963 )。从这里可以看出,触发 0x80 号中断时会执行 system_call 函数。而 system_call 函数时定义在 /arch/x86/kernel/entry_64.S 中的汇编代码( https://elixir.bootlin.com/linux/v2.6.32/source/arch/x86/kernel/entry_64.S#L455 )。看看这个函数就知道为了进入系统调用做了哪些操作。
再看看进程切换。进程切换发生在进程被调度的时候,由 context_switch() 函数实现。其中最关键的 switch_mm() 和 switch_to() 函数完成了主要的工作。
通过比较内核代码,你看看哪个简单,哪个麻烦。


不要觉得没人回答你的问题就是他们不懂。我开始看到你这个问题的时候就觉得你对一些基本的操作系统概念不熟悉,表述问题太多。如果不是为了复习一下以前的知识,我是不会回答你的问题的。其实请教问题的时候可以稍微虚心一点。

至于怎样学习操作系统,首先你对一些基本的概念了解的怎样?例如操作系统的目的、出现的原因,以及操作系统的基本组成部分,如进程管理和调度、内存管理、文件系统、进程间通信等等。然后每个组成部分的基本概念是否熟悉,例如对于进程管理来说,操作系统通过 PCB 来描述每个进程,等等。
基本概念了解之后,带着这些具体的疑问结合相关的书和文章去看内核源码。就拿这个问题来说,首先要了解系统调用的具体实现,先去 Google 一些文章,了解大致的实现。然后边读书边看源码去深入研究。同时用一些内核调试技术去亲手实践一下。
2021-04-16 07:43:28 +08:00
回复了 LeeReamond 创建的主题 问与答 都是切换,为什么系统调用比进程切换的速度快?
“理论上来说系统调用也经历了进程切换的过程”,先问是不是,再问为什么。Linux 下系统调用的实现,从最早的使用 int 指令触发中断执行系统调用,还是后来的使用专有的系统调用指令如 sysenter,只是从用户态切换到内核态而已,进入系统调用并不需要很多操作。
对于进程切换来说,所有和进程上下文有关的东西都要修改,例如修改大多数寄存器的值等等。
Linux 内核中没有线程的概念。内核代码注释里,thread 、task 、process 三个词经常混用,都指的是 process 。线程是通过标准库在用户态通过 clone 系统调用实现的。也就是说,Linux 下线程是共享某些系统资源的轻量级进程。线程切换的代价比进程切换的代价要小得多。
至于你看的这个实验,建议发出来让大家看看。
最后,从你对问题的描述来看,建议恶补一下操作系统的知识。
上面描述可能有一些不准确的地方,如果错误请指出
客户端不好用。我现在用 Web 端的 outlook,感觉比原生客户端好用
2021-04-09 14:48:41 +08:00
回复了 sytnishizuiai 创建的主题 MacBook Pro mbp M2 今年会出吗?我要撑不住了
我也再焦急地等待新款 MBP 。目前在用 17 款 13 寸无 bar 16G,CPU 太垃圾了,受不了了
2021-04-09 14:40:45 +08:00
回复了 tg11 创建的主题 macOS 你们的 mac 端网易云卡吗?
卡,17 款 13 寸无 bar i5 两核 16G 内存。网易云运行时间一长,什么操作都卡,受不了了
2021-04-09 09:26:49 +08:00
回复了 AManOnShelf 创建的主题 职场话题 这个月公司给大家普调了薪水,但是。。。
@AManOnShelf #8 每年 3 月份开始统计,4 月份生效吧,5 月份发 4 月份工资的时候才能知道。我是新人,第一次调,所以不太清楚涨幅。等 5 月份知道了再回你
2021-04-09 09:20:13 +08:00
回复了 AManOnShelf 创建的主题 职场话题 这个月公司给大家普调了薪水,但是。。。
我司这俩月才开始调,要等下月发工资才能知道涨幅🌚
2021-03-23 10:15:11 +08:00
回复了 Nitroethane 创建的主题 MacBook Pro 吐槽一下 Safari 的内存占用
@xieshaohu 我倒觉得 Safari 下面手势的前进倒退体验挺一般的,每次后退的时候会卡顿,好像是重新请求页面一样。尤其是 GitHub,前进后退的时候,经常是 URL 已经后退 /前进过去了,但是页面还没有刷新
2021-03-22 21:18:59 +08:00
回复了 xuegy 创建的主题 Linux 学校超算管理员匆忙上线 CentOS 8 结果翻车了
8 就是个坑,官方仓库里好多 package 有问题,我已经遇到好多问题了,真被恶心到了。赶紧要么降级,要么换别的系统
2021-03-22 11:56:28 +08:00
回复了 Nitroethane 创建的主题 MacBook Pro 吐槽一下 Safari 的内存占用
@kwrush 是这样的,不过 jira 应该好点,confluence 比较卡,尤其是在编辑的时候。

@xieshaohu 这个我明白,其实我吐槽的点在于 Safari 有些许卡,尤其是使用重型页面的时候。而且就我的使用来说,16G 已经不够用了。

@avia1ae 已经对 Intel 路转黑了,尤其是自从 Apple 发布 M 系列芯片以来,Intel 的这一通操作着实给人看吐了,受不了了
@hanksun 以后再也不买 Intel 的东西,连 SSD 也不想买了
2021-03-20 19:13:41 +08:00
回复了 Nitroethane 创建的主题 MacBook Pro 吐槽一下 Safari 的内存占用
@WuSiYu 不太清楚 iStat 是怎么算的,但这 22G 的确有点夸张

@avia1ae 主要还是 17 款的 CPU 太拉垮了,发热严重而且性能很差


@xfrgux 其实轻度使用的话应该区别不大。重度使用的话才会有明显差距
2021-03-19 20:04:55 +08:00
回复了 Nitroethane 创建的主题 MacBook Pro 吐槽一下 Safari 的内存占用
@chinvo 其实我用 Safari 的原因是颜值高一点。不想用 Firefox,之前试过一段时间,感觉还不如 Safari,而且那个下拉菜单的样式巨巨巨丑,我受不了 :(
2021-03-19 20:03:38 +08:00
回复了 Nitroethane 创建的主题 MacBook Pro 吐槽一下 Safari 的内存占用
@natscat 是的,双核。我第一次感受到 CPU 才是电脑的瓶颈😐

@qq1204076437 其实以前用 Safari 的时候就已经有这种情况了,只不过一直懒得发帖。前面快下班摸鱼的时候实在无聊就来吐槽一哈😂
2021-03-12 11:51:17 +08:00
回复了 dNib9U2o8x 创建的主题 macOS Mac qq 玩了命的发这个请求是干什么的
不清楚,反正很早就有了
吃字的问题没遇到过,反而遇到设置字体格式的时候有延迟,比如加粗总有两秒左右延迟
2021-02-25 09:02:51 +08:00
回复了 waylybaye 创建的主题 分享创造 Swapman: 开源的 M1 Macbook 交换分区分析应用
@spacedebris 不管是读 ssd 还是写 ssd 有什么区别么,都是在损耗硬盘呢。

我怎么觉得这使用习惯像是在掩耳盗铃。除非精确控制让 Xcode 和 Chrome,让它们不要使用过多内存以触发使用 swap,否则每一次关闭应用必会触发脏页的回写以及 swap file 的释放,每次打开应用的时候还要从硬盘重新加载一次。
18 年 3 月入手的 17 款 13 寸 16G MBP 。


=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 37 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 3%
Data Units Read: 34,969,055 [17.9 TB]
Data Units Written: 30,041,497 [15.3 TB]
Host Read Commands: 661,617,113
Host Write Commands: 577,077,175
Controller Busy Time: 1,862
Power Cycles: 7,883
Power On Hours: 767
Unsafe Shutdowns: 48
Media and Data Integrity Errors: 0
Error Information Log Entries: 0

Error Information (NVMe Log 0x01, 16 of 64 entries)
No Errors Logged
2021-02-07 21:41:42 +08:00
回复了 peterzhang0602 创建的主题 Apple 最近慢慢的 idea 在 m1 开始卡顿了
手上的 17 款 13 寸 16GB 内存的 MBP,前两天同时开着 Clion 、Idea 、Goland 、Chrome 十几个标签页,还有其它好多普通 APP,使用 swap 空间 7G 。操作明显卡顿,而且风扇在 7200 转的速度下温度依然 60 度+,实在受不了,等新 16 寸发售之后火速入手
2021-02-02 11:08:48 +08:00
回复了 ShuoHui 创建的主题  WATCH Apple Watch 解锁 iPhone 来了。
@ftu #28 我的意思是能在锁屏加个按钮之类的,点一下按钮通过 watch 解锁呀
2021-02-02 10:51:46 +08:00
回复了 ShuoHui 创建的主题  WATCH Apple Watch 解锁 iPhone 来了。
强烈吐槽 Mac 在锁屏界面不能通过 watch 解锁,只能先按 escape 息屏,再唤醒屏幕自动解锁
1 ... 15  16  17  18  19  20  21  22  23  24 ... 57  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5352 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 57ms · UTC 09:22 · PVG 17:22 · LAX 01:22 · JFK 04:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.