Linux的一些进阶技能
2023-07-15 17:48:48

好好学学Linux,以后用得到

一些关于Linxu想知道的疑问解决

1. 服务Service与Demand的区别

我的理解,服务是能够常驻在系统后台并提供一些系统的或者网络功能。服务其实是能够提供某个功能的意思,但是既然是一个功能,那一定需要有个程序去执行吧。Demand意思是守护的意思,它便是达成这个service的程序,Demand其实和Service也不需要完全区分。

2. 进程、线程以及协程的区别
  • 进程
    • 是系统资源分配的最小单位, 系统由一个个进程(程序)组成。
    • 进程的创建和销毁都是相对于系统资源,所以是一种比较昂贵的操作。
    • 进程是抢占式的争夺CPU运行自身,而CPU单核的情况下同一时间只能执行一个进程的代码,但是多进程的实现则是通过CPU飞快的切换不同进程,因此使得看上去就像是多个进程在同时进行.
    • 进程间的通信:不同进程之间的通信主要通过进程间调用IPC来实
    • 进程是系统分配资源的最小单位
  • 线程
    • 线程属于进程,一个进程可以创建多个线程。
    • 线程共享进程的内存地址空间,多个线程之间也可共享内存。
    • 线程间的通信:进程相当于一个容器,其中的线程都可以访问容器中的东西。所以线程间的通信可以直接通过全局变量来通信。
    • 引入锁机制:解决多个线程同时读写一个地址变量带来的不可预期的后果。
    • 线程是CPU调度的最小单位。
  • 协程
    • 协程是属于线程的,协程程序在线程中运行,也叫微线程。
    • 协程没有线程的上下文切换消耗。协程的调度切换是用户(程序员)手动切换的,因此更加灵活,因此又叫用户空间线程.
    • 原子操作性。由于协程是用户调度的,所以不会出现执行一半的代码片段被强制中断了,因此无需原子操作锁。
    • 线程进程都是同步机制,而协程则是异步

Linux服务

1. 定时任务服务 crontab
  • 比如在下订单之后,会有30分钟的支付时间,过期之后,取消订单。
2. 日期同步服务 Ntpdate
3. 日志切割服务 Logrotate
4. 进程管理 supervisor

总结

好好学学Linux,以后用得到

Prev
2023-07-15 17:48:48
Next