原创 阿里linux內核月報2014-07-08

Capsicum for Linux Capsicum: 一種基於文件句柄的新安全模型 Capsicum是一種源自FreeBSD的安全模型,與Linux下衆多LSM的相同之處在於它們都是基於權限管理的,而不同之處在於LSM針對

原创 阿里linux內核月報201701

Controlling access to the memory cache 控制對Cache的訪問 cpu對內存的訪問一直以來都會通過L1/L2/L3緩存來加速,我們都知道當你打算嚴肅地去考察性能問題時,各級緩存的命中率一直

原创 阿里linux內核月報201705

A report from Netconf: Day 1 本文是2017年4月3日Netconf會議報告。主要的議題是:移除ndo_select_queue()函數,對於refcount_t類型引入開關,TC重定向導致內核陷入

原创 阿里linux內核月報201702

The future of the page cache 持久化內存用得越來越多, 促使了內核的一系列變更, 內核是否還真的需要頁面緩存呢? 在2017 linux.conf.au會上, Matthew Wilcox先是糾正了數

原创 阿里linux內核月報201703

目前Linux內核急需的一項功能是在線打補丁的特性。此前被Oracle收購的ksplice一度是Linux上唯一的解決方案。但是在被Oracle收購後,ksplice就閉源了,並且成爲了Oracle Linux的一項商業特性。而目

原创 阿里linux內核月報201704

Gregg: perf sched for Linux CPU scheduler analysis 隨着 Linux 4.10 perf sched timehist 新特性的推出,Linux 的 perf 工具又增加了一個

原创 linux x86 性能調試記錄

頻率 urbostat是intel針對自己的x86 CPU,做的一個CPU頻率、能耗監控的用戶態程序,位於linux代碼的tools/power/x86/turbostat目錄下,編譯也很簡單,可以直接在這個目錄下make,就生

原创 fuchsia 編譯 報git log unknown date format unix的解決

fuchsia 編譯 報git log unknown date format的解決方式: 升級git到最新版本,使用gIt log --help 查看date參數支持unix即可

原创 Zircon中新增系統調用

zircon系統調用是有一個生成框架,類似於linux的SYSCALL_DEFINE宏。 系統調用號由系統調用在syscalls.abigen文件中的定義順序決定,實際上是依次遞增的。 在相關文件定義後,會自動申明zx_name的函數

原创 zircon基本調測功能

zircon目前支持的基本調測功能 zircon shell下執行log_listener 2 .在zircon shell中執行alt+tab 切換控制檯(僅支持x64) zircon shell 執行 dlog命令。支持dlog

原创 Printk實現流程

一、初步結論 1.如何把字符串放到緩存,如何從緩存寫到串口。 首先是在關中斷,關調度,保持logbuf_lock自旋鎖的情況下,將數據格式化後,放到printk_buf緩衝區,其大小爲1K,也就是說,每次printk只能打印1K的內容

原创 The Performance of µ-Kernel-Based Systems

http://os.inf.tu-dresden.de/pubs/sosp97/ L4Linux是基於Fiasco微內核的跟普通Linux二進制完全兼容的Linux內核,目前的版本的是Linux-2.6.25,L4Linux- 2.0

原创 l4 微內核

近幾年來,L4微內核越來越受到大家的關注,研究和使用L4的人越來越多,但是對於L4介紹的中文資料仍然很少,本文試圖收集各種基於L4的操作系統項目,以幫助大家研究學習只用。基本上,各種L4系統可以分爲兩種,一種是dead system,

原创 linux smp原子操作

原子操作:就是在執行某一操作時不被打斷。 linux原子操作問題來源於中斷、進程的搶佔以及多核smp系統中程序的併發執行。 對於臨界區的操作可以加鎖來保證原子性,對於全局變量或靜態變量操作則需要依賴於硬件平臺的原子變量操作。 因此原子

原创 linux kernel內核slab內存泄露debug經驗

打開內核的SLUB DEBUG選項 +CONFIG_SLUB_DEBUG=y +CONFIG_SLUB_DEBUG_ON=y 觀察slabinfo cat /proc/slabinfo 啓動後記錄下slabinfo。運行一段時