Linux

  • 解释nohup env - bash a.sh>a.log 2>&1 &的意思
    • >a.log 是把标准输出重定向到a.log
    • If you say 2>&1 then you are redirecting stderr to wherever stdout is currently redirected to.
    • nohup ... &
  • linux终端关闭后,进程也结束的原因(也就是为什么要使用nohup后台执行)
    • 概念
      • 进程组group:每个进程都属于一个进程组,组中有一个组长。多个进程组构成一个会话。会话是由其中的一个进程建立的,其为领导进程(session leader)。领导的PID成为识别会话的SID(session ID)。会话中每个进程组称为一个工作(job)。
      • 终端:在UNIX中,当用户通过终端登录后得到一个Shell进程,这个终端成为Shell进程的终端控制(Controlling Terminal)。终端控制是保存在PCB中的信息,而fork会复制PCB中的信息。

 

 

多线程

  • 死锁
    • 死锁预防:破坏导致死锁必要条件中的任意一个就可以预防死锁。例如,要求用户申请资源时一次性申请所需要的全部资源,这就破坏了保持和等待条件;将资源分层,得到上一层资源后,才能够申请下一层资源,它破坏了环路等待条件。预防通常会降低系统的效率。
    • 死锁检测:死锁预防和避免都是事前措施,而死锁的检测则是判断系统是否处于死锁状态,如果是,则执行死锁解除策略。
    • 死锁解除:这是与死锁检测结合使用的,它使用的方式就是剥夺。即将某进程所拥有的资源强行收回,分配给其他的进程。

 

Else

  • 在浏览器地址输入一个url会发生什么
    • 浏览器识别url:http, ftp等协议
    • 域名相关:(DNS)
      • 浏览器本地cache
      • 查找本地hosts文件(域名:IP地址)
      • 查询本地域名服务器
      • 查询根域名服务器(recursive search)
    • ARP过程:由目标IP地址确定MAC地址
    • 根据IP地址访问服务器 [其实是socket]
      • 浏览器给web server发送一个HTTP请求
      • (在这个过程中可能会发生重定向:web server给浏览器返回一个永久重定向,然后浏览器重新访问新网址
      • web server返回一个HTML response 
    • 浏览器接下来的处理
      • 浏览器开始渲染HTML  
      • 浏览器去请求其他嵌入在HTML中的资源(图片,CSS,js)
      • 浏览器可能进一步发送异步的AJAX请求