V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Nitroethane  ›  全部回复第 15 页 / 共 53 页
回复总数  1046
1 ... 11  12  13  14  15  16  17  18  19  20 ... 53  
2021-05-05 22:14:38 +08:00
回复了 zero3412 创建的主题 JavaScript 神奇的 Javascript,谁能告诉我为什么
@JerryCha data[0] 不一定传引用啊,得看 data 的数据类型,如果是 char* data[],那 data[0] 就传的是指针,如果是 char data[],data[0] 照样传值
2021-04-28 16:25:56 +08:00
回复了 MieuxxPro 创建的主题 iPhone 求助 iPhone11 进水 望 V 友解答
你这 iPhone11 不给力啊,我的 11 去年直接掉到水里全身水洗一秒钟,捞出来啥事没有,除了扬声器,干了之后扬声器也没问题了
2021-04-27 12:37:25 +08:00
回复了 xtx 创建的主题 iOS ios14.5 现已支持下载。
早上走的时候忘拿手表的充电器了,只能等晚上才能体验到了,血亏 😭
2021-04-19 12:18:13 +08:00
回复了 keithszc 创建的主题 Docker docker 内进程如何检测自身是否在容器内运行?
对于没有在 docker 中的 PID 为 1 的进程来说,它的 cgroup 目录都是 /。而对于 docker 中的进程来说,它的 cgroup 目录会包含 /docker 子字符串。下面是我的 Linux 上的结果。
docker 中 PID 为 1 的进程:
$ cat /proc/1/cgroup
12:hugetlb:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
11:cpuset:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
10:perf_event:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
9:freezer:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
8:memory:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
7:rdma:/
6:blkio:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
5:pids:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
4:net_cls,net_prio:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
3:cpu,cpuacct:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
2:devices:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
1:name=systemd:/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope
0::/system.slice/docker-e0539beecb2db33df4af004f03877dda0ae7b880775bf1d7cf36e62013c468bf.scope


宿主机中 PID 为 1 的进程:
$ cat /proc/1/cgroup
12:hugetlb:/
11:cpuset:/
10:perf_event:/
9:freezer:/
8:memory:/init.scope
7:rdma:/
6:blkio:/init.scope
5:pids:/init.scope
4:net_cls,net_prio:/
3:cpu,cpuacct:/init.scope
2:devices:/init.scope
1:name=systemd:/init.scope
0::/init.scope



还可通过检测是否存在 /.dockerenv 文件来判断。
docker 在 Linux 下的实现只是利用了内核的命名空间技术,将 pid 、network 、user 、uts 、mount 资源隔离了,所以没有什么额外开销。
你所说的“隔离出单独的虚拟存储空间”的说法很模糊而且有歧义。这里我将你所谓“虚拟存储空间”理解为虚拟地址空间来说,默认情况下,所有进程的虚拟地址空间都是相互独立的,一个进程不可能访问到其他进程的虚拟地址空间,因此才有了进程间通信机制。
“虚拟的系统进程树”,其实就是 pid namespace 。举例来说,新建一个 pid namespace,然后在其中创建一个进程,其 pid 为 1,而在其 parent namespace 中的 pid 是其他数值,但肯定不是 1 。总之,进程的 pid 在不同的 namespace 中的值是不一样的。
vmware 这种是硬件虚拟化,和 Linux 上的原生 docker 是两回事。
macOS 和 Windows 上的 docker,其实是先起一个 Linux 虚拟机,然后在其中跑 docker 。
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 玩了命的发这个请求是干什么的
不清楚,反正很早就有了
吃字的问题没遇到过,反而遇到设置字体格式的时候有延迟,比如加粗总有两秒左右延迟
1 ... 11  12  13  14  15  16  17  18  19  20 ... 53  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2351 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 00:15 · PVG 08:15 · LAX 17:15 · JFK 20:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.