摘要:
PEP8 https://www.python.org/dev/peps/pep-0008/ Python Enhacement Proposal #8,即8 號 Python 增強規(guī)范,以下簡稱 PEP8。 PEP8 第 38 條規(guī)定命名必須有意義,不能是無意義的單字母。 pycharm 安裝PE
閱讀全文
posted @ 2021-11-07 16:43
jingmojing
閱讀(31)
推薦(0)
摘要:
1 import threading import time from threading import current_thread def myThread(arg1, arg2): print(current_thread().getName(),'start') print('%s %s'%
閱讀全文
posted @ 2021-11-07 16:37
jingmojing
閱讀(62)
推薦(0)
摘要:
Doc: https://docs.python.org/3.10/library/index.html 日常應(yīng)用比較廣泛的模塊是: 1. 文字處理的 re https://docs.python.org/3.10/library/re.html re: regular expression 正則表
閱讀全文
posted @ 2021-11-07 16:36
jingmojing
閱讀(53)
推薦(0)
摘要:
stress, sysstat, dstat, docker apt install stress sysstat dstat apt install docker.io linux-tools-common apache2-utils bcc 在 Ubuntu 系統(tǒng)中安裝 bcc: sudo ap
閱讀全文
posted @ 2021-09-21 10:12
jingmojing
閱讀(265)
推薦(0)
摘要:
內(nèi)核頁表 和用戶態(tài)頁表不同,在系統(tǒng)初始化的時候,我們就要創(chuàng)建內(nèi)核頁表了。我們從內(nèi)核頁表的根 swapper_pg_dir 開始找線索。 // arch/x86/include/asm/pgtable_64.h extern pud_t level3_kernel_pgt[512]; extern p
閱讀全文
posted @ 2021-07-05 23:38
jingmojing
閱讀(282)
推薦(0)
摘要:
mmap 的原理 每一個進程都有一個列表 vm_area_struct,指向虛擬地址空間的不同的內(nèi)存塊,這個變量的名字叫 mmap。 其實內(nèi)存映射不僅僅是物理內(nèi)存和虛擬內(nèi)存之間的映射,還包括將文件中的內(nèi)容映射到虛擬內(nèi)存空間。 這個時候,訪問內(nèi)存空間就能夠訪問到文件里面的數(shù)據(jù)。而僅有物理內(nèi)存和虛擬內(nèi)存
閱讀全文
posted @ 2021-06-30 23:49
jingmojing
閱讀(225)
推薦(0)
摘要:
什么情況下會發(fā)生搶占呢?最常見的現(xiàn)象就是一個進程執(zhí)行時間太長了,是時候切換到另一個進程了。 那怎么衡量一個進程的運行時間呢?在計算機里面有一個時鐘,會過一段時間觸發(fā)一次時鐘中斷,通知操作系統(tǒng),時間又過去一個時鐘周期,這是個很好的方式,可以查看是否是需要搶占的時間點。 時鐘中斷處理函數(shù)會調(diào)用 sche
閱讀全文
posted @ 2021-06-27 12:22
jingmojing
閱讀(1429)
推薦(1)
摘要:
整個虛擬內(nèi)存空間一分為二,一部分是用戶態(tài)地址空間,一部分是內(nèi)核態(tài)地址空間,這兩部分的分界線由 task_size 來定義。 struct task_struct => struct mm_struct *mm; => unsigned long task_size; /* size of task
閱讀全文
posted @ 2021-06-20 22:56
jingmojing
閱讀(186)
推薦(0)
摘要:
在 Linux 里面,無論是進程,還是線程,到了內(nèi)核里面,統(tǒng)一稱為任務(wù)(Task)。 Linux內(nèi)核通過一個被稱為進程描述符的 task_struct 結(jié)構(gòu)體來管理,這個結(jié)構(gòu)體包含了一個task所需的所有信息。 task_struct 定義在 include/linux/sched.h 文件中。 s
閱讀全文
posted @ 2021-06-20 20:41
jingmojing
閱讀(407)
推薦(0)
摘要:
創(chuàng)建線程 #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #define NUM_OF_TASKS 5 // 1. 定義線程函數(shù) void *
閱讀全文
posted @ 2021-06-20 12:59
jingmojing
閱讀(92)
推薦(0)