Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 記憶體配置是作業系統必須面對的一個環節,除非這個系統本身不需要記憶體安排,所有業務可以通過全域資料和堆棧搞定。記憶體配置其實不困難,但是由記憶體引申出來的東西就比較複雜了。早前沒有MMU,系統本身的空間和使用者空間沒有優先順序之分,所以不同的程式之間的記憶體都是共用的,相互影響也是不可避免的。所以,一般來說,除了記憶體配置之外,還需要一些日誌資訊、檢測資訊協助我們進行調試和分析。
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 固定記憶體方式是最簡單的方法,也是最容易想到的方法。所謂的固定記憶體,就是所有分配的記憶體單元都是一致的。不管你申請的記憶體大小是多少,它都有一個最小的記憶體。因此,你申請的記憶體都會轉化為單元記憶體的倍數。所以,演算法會根據申請的記憶體計算出一個合適的申請記憶體,int get_best_fit_size(int size){ int bestSize =
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 連結節點的記憶體配置方法,其實就是一種按需分配的記憶體配置方法。簡單一點說,就是你需要多少記憶體,我就給你多少記憶體。當然,為了把分配的記憶體都連起來,我們還需要對分配節點進行管理記錄。就比如下面這個資料結構,typedef struct _MNG_NODE{ struct _MNG_NODE* next; unsigned int size;}MNG_NODE;
Time of Update: 2018-12-03
Distributed File System、叢集檔案系統、並行檔案系統,這三種概念很容易混淆,實際中大家也經常不加區分地使用。總是有人問起這三者的區別和聯絡,其實它們之間在概念上的確有交叉重疊的地方,但是也存在顯著不同之處。 Distributed File System自然地,“分布式”是重點,它是相對與本地檔案系統而言的。Distributed File
Time of Update: 2018-12-03
1、引言 "資料同步演算法研究"一文研究了在網路上高效同步資料的方法,其中有個前提是檔案A和B非常相似,即兩者之間存在大量相同的資料。如果兩個檔案相似性很低,雖然這種方法依然可以正常工作,但資料同步效能卻不會得到提高,甚至會有所降低。因為會產生部分中繼資料和網路通訊消耗,這在兩個檔案完全不相關時尤為明顯。因此,同步資料前需要計算種子檔案(seed
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 雖然寫作業系統的部落格要比寫普通的技術點要麻煩一些,但是心中還是挺開心的。一方面,通過幾行代碼就可以說明一些問題,把理論實踐化,這本身就很具有挑戰性;另外一方面還鍛煉自己的溝通能力,讓更多的人明白你的想法,認可你的想法。
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 之前在閱讀FTK代碼的時候,發現工程本身用到了PNGLIB的代碼。雖然網上關於pnglib的描述檔案很多,但是真正好用、可以用的卻沒有多少。所以,為了學習的方便,我自己做了一個png的工程,其中的pnglib、zlib庫、win32檔案全部來自網上,這裡只是做一個整合,可以使得這些代碼順利在windows上面編譯和運行。 (1)原理
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 之前我們也談到了線程建立,基本上簡單的系統就可以跑起來了,但是還沒有到多線程啟動並執行地步。所以,我們下面試圖所要做的工作就是建立更多的線程,讓更多的線程運行起來。為了做好這一點,首先我們需要對task_init重新修整一下,void task_init(int index, UINT32 data[], int size, void (*func)()){ UINT32
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-03
從學生時做研究時起,我就算進入了儲存領域,那時我的研究方向是網路儲存、分散式運算,業餘還研究點資料採礦。畢業後進入儲存行業的公司,差不多又有兩年的時間了。前後算起來,我搞儲存也有好幾年的時間了,然而儲存博大精深,我現在仍然行走在儲存學習之路上。不過,我覺得自己還是有些東西(或者可以稱之為經驗)與儲存同行分享一下,如果能對那麼幾個人有所協助,我就覺得值得了。 0、儲存入門 領路人的作用很大,這個人可能是你做研究生的導師,或者工作中的tutor,或者是朋友、同事。指點迷津,學習和研究過程中將少走很
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 相比較其他調度演算法而言,時間片的輪轉更多的注重公平性。但是,任務與任務之間也是有先後之分的,有的任務我們希望多安排一些時間片,而有的任務我們則希望少安排一些時間片。比較說,如果我們在上網的話,我們就希望上網的操作響應的更快一些;如果我們在進行GUI操作,我們當然就希望圖形響應更快一些。這些都是可以理解的,下面我們就緒要對資料結構進行一些修改。typedef struct
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 在我個人看來,中斷是cpu最重要的特色。從某種意義上來說,沒有中斷就沒有嵌入式作業系統。一旦你明白了中斷的真正含義,你對作業系統的瞭解就算真正入門了。什麼是中斷呢?我們可以看看單片機下面是怎麼做的。#include <REG51.h>sbit LED = P1 ^ 6;unsigned int led_enable = 0;void Delay(unsigned int a)
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-03
Bloom Filter是1970年由Bloom提出的,最初廣泛用於拼字檢查和資料庫系統中。近年來,隨著電腦和互連網技術的發展,資料集的不斷擴張使得 Bloom filter獲得了新生,各種新的應用和變種不斷湧現。Bloom filter是一個空間效率很高的資料結構,它由一個位元組和一組hash映射函數組成。Bloom
Time of Update: 2018-12-03
1、名字空間概述 名字空間(Namespace)即檔案系統檔案目錄的組織方式,是檔案系統的重要組成部分,為使用者提供可視化的、可理解的檔案系統視圖,從而解決或降低人類與電腦之間在資料存放區上的語義間隔。目前樹狀結構的檔案系統組織方式與現實世界的組織圖最為相似,被人們所廣泛接受。因此絕大多數的檔案系統皆以Tree方式來組織檔案目錄,包括各種磁碟檔案系統(EXTx, XFS, JFS, Reiserfs, ZFS, Btrfs, NTFS, FAT32等)、網路檔案系統(NFS, AFS,
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 在編寫我們的作業系統之前,我們需要明確一些事情。比如說,這個系統的運行環境是什嗎?怎麼編譯?基本中斷環境是什嗎?上下文怎麼切換?準備實現那些內容?基礎資料型別 (Elementary Data Type)是什嗎?等等。(1)你的嵌入式作業系統準備叫什麼名稱?運行環境是什嗎?可以在實際環境上面運行嗎? 我們準備把這個嵌入式作業系統稱之為MiniOS。雖然這個作業系統實現的功能不多,
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】