百度面试题总结—03(操作系统)

查看原题

1.SSH

问题描述:linux/unix远程登陆都用到了ssh服务,当网络出现错误时服务会中断,linux/unix端的程序会停止。为什么会这样?说下ssh的原理,解释中断的原理。
首先解释一下SSH原理。这里有一篇文章,对SSH讲的很好,点击查看。下面我再对SSH做一个简单的介绍。简单地说,SSH就是一种网络协议,用于计算机之间加密登陆。

  • 最基本的用法:ssh -p 端口号 username@host,其中端口号默认为22;
  • 整个过程:(1)远程主机收到用户的登陆请求,把自己的公钥发给用户,(2)用户使用远程主机的公钥加密密码,将加密后的密码发送过来,(3)远程主机用自己的私钥解密密码,判断能否让远程用户登录。
  • 存在隐患:如果登陆请求被截获,冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。
    下面解释一下为何网络出现错误时服务会中断,参考原文。网络出错,相当于程序的控制台关闭。
    中断的原理:所谓中断,是指CPU在正常运行程序时,由于程序预先安排或内外部事件,引起CPU中断正在运行的程序,而转到发生中断事件程序中。

2.进程与线程的区别

概念:

  • 进程:一个程序对一个数据集的动态执行的过程,是分配资源的基本单位;
  • 线程:一个进程内的基本调度单位;
  • 线程的划分尺度小于进程,一个进程可以包含一个或更多的线程。

执行过程:

  • 进程:拥有独立的内存单元,而多个线程共享内存,从而提高了应用程序的运行效率;
  • 线程:不能独立运行,必须依赖于线程中的共享资源;