V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
imlewc
V2EX  ›  分享创造

从计算机的发展史来论下高性能

  •  
  •   imlewc · 2018-05-07 22:01:03 +08:00 · 2435 次点击
    这是一个创建于 2417 天前的主题,其中的信息可能已经有所发展或是发生改变。

    某一门技术,为什么从刚开始的 A 状态慢慢演变成 B 状态,再变到 C 状态,这里的演变过程值得深思。 以计算机的起源为例:

    • 早期的计算机是没有操作系统的,只有输入,计算,输出。手工输入速度远低于计算机的计算速度。

    • 于是出现了批处理操作系统,通过纸带,磁带等工具预先写入指令,形成一个指令清单(即任务)交给计算机处理。但批处理系统的缺点是只能有一个任务,而且当计算机在进行 I/O 处理时,CPU 是空闲的。

    • 世人发明了进程,一个进程就代表一个任务,多个进程通过分时操作能让用户认为并行操作多任务,进程间的资源是独立单元,但是可以通过介质进行通信。缺点:进程内只进行串行处理,无法很好地分工合作提高处理效率。

    • 于是就有了操作系统调度的最小单元-线程,线程能够使进程内的子任务能够共享进程内的资源,并并行工作,大大提高操作系统的性能。

    • 多进程多线程虽然让多任务并行处理的性能大大提升,但本质上还是分时系统,并不能做到时间上真正的并行。解决这个问题的方式显而易见,就是让多个 CPU 能够同时执行计算任务,从而实现真正意义上的多任务并行。现在最流行的多核处理器方案就是 SMP ( Symmetric multiprocessing ) 从历史发展的角度来看,就这样一步一步提高了单机的性能

    来来来,装 B 咯

    以古为镜,可以知兴替。 — 唐太宗李世民

    那些不能铭记过去的人注定要重蹈覆辙。— 乔治·桑塔亚那

    然而单机性能的瓶颈实在是比较容易到达,集群这种水平解决方案才是王道;

    后又深觉:微服务或系统分拆 在系统初建、需求较为稳定的情况下,还是尽早实践。

    再瞎 BB 下 “深入” 这个事情(别想多了哟)

    就像最近发生的事情,一个同事说想下载知乎上面的视频;

    • 要是让不了解的人,似乎找不到什么解决方案,
    • 然而了解一些的人,会知道审查元素,一看是 m3u8 , 然而不再深入的人,就又断了
    • 整个 m3u8 下载器 (其实真相是这样的:同事问我,我以前写过这种小工具,就帮他下了)

    无耻的写个地址 download-m3u8-to-mp4

    解决问题的感觉还是挺爽的,你的 G 点或许不在这。 好奇心让你更深入

    妈蛋,又是真废话!

    记录下罢了!

    真丫的缺乏条理性

    7 条回复    2018-05-12 08:13:39 +08:00
    dacapoday
        1
    dacapoday  
       2018-05-08 00:36:41 +08:00
    那么,能再顺便讲一下原理嘛,需要调用 ffmpeg 的哪些参数?对输入的 m3u8 有什么要求?转换过程会有什么意外情况?
    noe132
        2
    noe132  
       2018-05-08 07:55:49 +08:00
    whoisghost
        3
    whoisghost  
       2018-05-08 08:59:47 +08:00
    Linux: “于是就有了操作系统调度的最小单元-线程,线程能够使进程内的子任务能够共享进程内的资源,并并行工作,大大提高操作系统的性能。”,你在说什么?
    xhinliang
        5
    xhinliang  
       2018-05-09 17:44:27 +08:00
    说了个蛋蛋呦
    imlewc
        6
    imlewc  
    OP
       2018-05-09 19:50:09 +08:00
    @xhinliang 那请问 先有蛋还是先有鸡
    deyu260
        7
    deyu260  
       2018-05-12 08:13:39 +08:00 via iPhone
    @imlewc 先有鸡
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1583 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:51 · PVG 00:51 · LAX 08:51 · JFK 11:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.