进程线程的区别
进程是一个程序的执行过程,是动态概念,一个程序中至少由一个进程,而一个进程中包含多个线程;进程拥有独立的地址空间,而线程没有,故而一个进程的死掉不影响其他进程,而一个线程的死掉将导致整个进程死掉。进程之间很难实现资源的共享,而同一个进程中不同线程之间可以实现资源共享
常见的操作系统
Windows,Linux,Android,IOS
进程的三种状态
就绪,执行,堵塞
进程间的通信方式
常见的八种通信方式:无名管道,有名管道,高级管道,消息队列,信号量,信号,共享内存,套接字
什么是僵尸进程
当子进程先于父进程退出,但是父进程没有调用wait/waitpid回收子进程,那么子进程将变为僵尸进程
什么是死锁
定义:指两个或以上的进程在执行过程中,由于资源竞争或者彼此通信而造成的一种阻塞现象。死锁是一种不安全状态。
造成死锁的四个必要条件:互斥条件(一个资源每次只能被一个进程使用),不可剥夺条件(进程已获得的资源在未使用完之前,不能强取豪夺),循环等待条件(若干进程之间形成一种头尾相接的循环等待资源关系),请求与保持条件(一个进程因请求资源而阻塞时,对已获得的资源保持不放)
Linux常见命令
ls(查看文件),cd(切换当前目录),cp(复制文件),mv(移动文件),rm(删除),chmod(改变文件权限),kill命令,netstat(查看网络状态),ps(查看进程的详细信息)、ifconfig(可设置网络设备的状态,或是显示目前的设置)