Time of Update: 2018-12-03
clock source用於為linux核心提供一個時間基準,如果你用linux的date命令擷取目前時間,核心會讀取當前的clock source,轉換並返回合適的時間單位給使用者空間。在硬體層,它通常實現為一個由固定時鐘頻率驅動的計數器,計數器只能單調地增加,直到溢出為止。時鐘源是核心計時的基礎,系統啟動時,核心通過硬體RTC獲得目前時間,在這以後,在大多數情況下,核心通過選定的時鐘源更新即時時間資訊(牆上時間),而不再讀取RTC的時間。本節的核心代碼樹基於V3.4.10。/********
Time of Update: 2018-12-03
在本系列文章的第一篇:Linux中斷(interrupt)子系統之一:中斷系統基本原理,我把通用中斷子系統分為了4個層次,其中的驅動程式介面層和中斷通用邏輯層的界限實際上不是很明確,因為中斷通用邏輯層的很多介面,既可以被驅動程式使用,也可以被硬體封裝層使用,所以我把這兩部分的內容放在一起進行討論。本章我將會討論這兩層對外提供的標準介面和內部實現機制,幾乎所有的介面都是圍繞著irq_desc和irq_chip這兩個結構體進行的,對這兩個結構體不熟悉的讀者可以現讀一下前面幾篇文章。/********
Time of Update: 2018-12-03
人們習慣用於表示時間的方法是:年、月、日、時、分、秒、毫秒、星期等等,但是在核心中,為了軟體邏輯和代碼的方便性,它使用了一些不同的時間表示方法,並為這些表示方法定義了相應的變數和資料結構,本節的內容就是闡述這些表示方法的意義和區別。/*****************************************************************************************************/聲明:本博內容均由http://blog.csdn.net/d
Time of Update: 2018-12-03
因為需要用到ftp服務,順便練習下shell的使用,寫了個自動安裝指令碼,現在共用出來,方便大家#!/bin/shwget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.5rc3.tar.gztar zxvf proftpd-1.3.5rc3.tar.gzcd proftpd-1.3.5rc3./configure --prefix=/usr/local/proftpd --sysconfdir=/etcmakemake install#配置/
Time of Update: 2018-12-03
由於小手一抖在windows裡分區的時候不小心把Linux的整個分區給搞沒了,想用testdisk找回分區的,太花費時間了,由於沒有非常重要的資料選擇了重裝系統順便嘗試下Mint15的改變1.安裝無線網卡驅動: 參考連結:https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx我這裡只提供BCM4312的相關檔案我的無線驅動是BCM4312的,從Broadcom Linux hybrid wireless
Time of Update: 2018-12-03
1,需要詳細瞭解tomcat進程工作狀態,以進行最佳化。環境:centos6,tomcat7,jdk1.7解決方案:1,在伺服器上找到catalina.sh檔案,在該檔案的這一行# ----- Execute The Requested Command -----------------------------------------上面添加以下內容:CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
Time of Update: 2018-12-03
下載相應 CPU 類型的版本:http://nmon.sourceforge.net/pmwiki.php?n=Site.Downloadwget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip/downloadunzip nmon_x86_12a.zipArchive: nmon_x86_12a.zip inflating: nmon_x86_rhel45 inflating:
Time of Update: 2018-12-03
主設定檔路徑:/etc/vsftpd/vsftpd.conf一些重要參數:anonymous_enable=yes/no 是否允許匿名使用者存取anon_upload_enable=yes/no 是否允許匿名使用者上傳檔案anon_mkdir_write_enable=yes/no 是否允許匿名使用者建立目錄anon_other_write_enable=yes/no
Time of Update: 2018-12-03
解Linux的進程與線程 * 進程狀態TASK_RUNNING //運行TASK_INTERRUPTIBLE //進程可接收OS訊號。TASK_UNINTERRUPTIBLE //此時進程不接收OS訊號。TASK_ZOMBIE //進程結束,資源釋放,進程描述符還未釋放。TASK_STOPPED //進程停止運行 * Kernel space and user spaceKernel space是供核心,裝置驅動啟動並執行記憶體地區。user
Time of Update: 2018-12-03
本系列文章的前兩節討論了用於計時的時鐘源:clocksource,以及核心內部時間的一些表示方法,但是對於真實的使用者來說,我們感知的是真實世界的真即時間,也就是所謂的牆上時間,clocksource只能提供一個按給定頻率不停遞增的周期計數,如何把它和真實的牆上時間相關聯?本節的內容正是要討論這一點。1. 時間的種類核心管理著多種時間,它們分別是:RTC時間wall time:牆上時間monotonic timeraw monotonic timeboot time:總啟動時間RTC時間
Time of Update: 2018-12-03
早期的核心版本中,進程的調度基於一個稱之為tick的時鐘滴答,通常使用時鐘中斷來定時地產生tick訊號,每次tick定時中斷都會進行進程的統計和調度,並對tick進行計數,記錄在一個jiffies變數中,定時器的設計也是基於jiffies。這時候的核心代碼中,幾乎所有關於時鐘的操作都是在machine級的代碼中實現,很多公用的代碼要在每個平台上重複實現。隨後,隨著通用時鐘架構的引入,核心需要支援高精度的定時器,為此,通用時間架構為定時器硬體定義了一個標準的介面:clock_event_devic
Time of Update: 2018-12-03
裝置電源管理Copyright (c) 2010 Rafael J. Wysocki<rjw@sisk.pl>, Novell Inc.Copyright (c) 2010 Alan Sternstern@rowland.harvard.edu *************************************************************本文由DroidPhone翻譯於2011.8.5************************************
Time of Update: 2018-12-03
這個中斷系列文章主要針對行動裝置中的Linux進行討論,文中的例子基本都是基於ARM這一體系架構,其他架構的原理其實也差不多,區別只是其中的硬體抽象層。核心版本基於3.3。雖然核心的版本不斷地提升,不過自從上一次變更到當前的通用中斷子系統後,大的架構性的東西並沒有太大的改變。 /*****************************************************************************************************/聲明:本博內容均
Time of Update: 2018-12-03
利用定時器,我們可以設定在未來的某一時刻,觸發一個特定的事件。所謂低解析度定時器,是指這種定時器的計時單位基於jiffies值的計數,也就是說,它的精度只有1/HZ,假如你的核心配置的HZ是1000,那意味著系統中的低解析度定時器的精度就是1ms。早期的核心版本中,核心並不支援高精度定時器,理所當然只能使用這種低解析度定時器,我們有時候把這種基於HZ的定時器機製成為時間輪:time
Time of Update: 2018-12-03
在前面章節的討論中,我們一直基於一個假設:Linux中的時鐘事件都是由一個周期時鐘提供,不管系統中的clock_event_device是工作於周期觸發模式,還是工作於單觸發模式,也不管定時器系統是工作於低解析度模式,還是高精度模式,核心都竭盡所能,用不同的方式提供周期時鐘,以產生週期性tick事件,tick事件或者用於全域的時間管理(jiffies和時間的更新),或者用於本地cpu的進程統計、時間輪定時器架構等等。周期性時鐘雖然簡單有效,但是也帶來了一些缺點,尤其在系統的功耗上,因為就算系統目
Time of Update: 2018-12-03
隨著技術的發展,我們對CPU的處理能力提出了越來越高的需求,晶片廠家也對製造工藝不斷地提升。現在的主流PC處理器的主頻已經在3GHz左右,就算是智能手機的處理器也已經可以工作在1.5GHz以上,可是我們並不是時時刻刻都需要讓CPU工作在最高的主頻上,尤其是行動裝置和膝上型電腦,大部分時間裡,CPU其實工作在輕負載狀態下,我們知道:主頻越高,功耗也越高。為了節省CPU的功耗和減少發熱,我們有必要根據當前CPU的負載狀態,動態地提供剛好足夠的主頻給CPU。在Linux中,核心的開發人員定義了一套架構
Time of Update: 2018-12-03
上一節中,我們大致地講解了一下CPUFreq在使用者空間的sysfs介面和它的幾個重要的資料結構,同時也提到,CPUFreq子系統把一些公用的代碼邏輯組織在一起,構成了CPUFreq的核心部分,這些公用邏輯向CPUFreq和其它核心模組提供了必要的API,像cpufreq_governor、cpufreq_driver等模組通過這些API來完成一個完整的CPUFreq體系。這一節我們就來討論一下核心架構的代碼架構以及如何使用這些公用的API介面。/************************
Time of Update: 2018-12-03
Linux Input drivers v1.0 (c) 1999-2001 Vojtech Pavlik<vojtech@ucw.cz> Sponsored by
Time of Update: 2018-12-03
輸入裝置編程指南(Programming input drivers)~~~~~~~~~~~~~~~~~~~~~~~~~1. 建立一個輸入裝置驅動程式~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1.0 一個最簡單的例子~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~本文由DroidPhone
Time of Update: 2018-12-03
小時候看過一個電視劇叫做《小龍人》,你別說,其實還是挺勵志的,為了找到自己的媽媽,費勁千辛萬苦,這果斷是一部好的電視劇,而現在的孩子們在看什麼呢?《軒轅劍》,天天神啊,魔啊,虛幻,華而不實的東東,除了商業價值,能有什麼對孩子們有營養的東東? 又想起了那句,人是人他媽生的,妖是妖他媽生的,那麼我們前面用clk_get擷取的時鐘時在哪有的,天然就有?必須不可能啊,凡是得講個科學道理啊,怎能無中生有??? 鏡頭轉向s3c2410-clock.c