• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試中如何實現一個最簡單的操作系統

    發布: 2009-8-10 10:59 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 234次 | 進入軟件測試論壇討論

    領測軟件測試網

    發生異常,系統就死機

      5.對TIMER的實現,首先確定時間片,為了讓系統更穩定,而且我們不需要實時功能,盡可能讓時間片設置長一點,比如我們讓一個任務運行20個時鐘滴答數,然后應根據系統頻率來確定每個系統滴答所占用的毫秒,這里使用5毫秒讓系統定時器中斷一次,那么就需要寫時鐘寄存器,具體參閱芯片資料,計算下來,一個任務最大可能連續運行100毫秒,注意:我們的操作系統不支持內核搶占,同時只支持兩級中斷優先級,就是只有時鐘中斷的優先級高一點,其它的優先級都低一級,但是在中斷處理一節中卻屏掉了這個功能因為一進入中斷處理,就禁止中斷,所以不管其它中斷優先級有多高都沒有用的,這樣做優點是簡單了,但不好之處顯而易見,特別在相關中斷處理函數如果進入了死循環,那么整個系統就死了,而且時間片也變得不準確了,反正都不用實時,也不需要實時鐘支持嘛至于中斷優先級設置請參閱芯片資料

      6.進程調度的實現,也就是do_timer函數(時鐘中斷處理函數),有一個全局變量指針,指向的就是當前任務結構數組(或者鏈表),當時鐘中斷時,就進入此函數中,首先判斷任務結構體中的時間片是否用完,如未用完,就減一,然后退出中斷,讓CPU繼續運行當前的任結構,若用完了時間片,就重置時間片,并重新尋找任何結構數組中的下一個等待

      運行的任務,若找到了,就切換至新的任務,至于如何切換,請見下一頁描述,如果未找到就切換到IDLE任務(類似于Linux,呵呵,所有的處理就是模仿Linux,由于本人水平太差,所就不能自創一招),注意:為了簡單,所以沒有實現任務優先級,也未實現任務休眠等,也就是說只要靜態地決定了有十個任務,這十個任務就按先后順序一個一個執行而且每個任務都不允許結束,就是說在每個進程中的最后一句代碼都必須用死循環,不然的話系統就跑飛了),還有一點,進程不支持信號,沒有休眠與喚醒操作,這個CPU就是不停地在運行,呵呵,反正CPU又不是人,所以不需要人權的哈!!!這種調度是不是簡單得不能再簡單了?????!!!!

      7.串口不使用中斷,這就是最大可能的降低難度,串口使用論詢的方式來實現讀寫(當然是阻塞的方式了哦,而且只有寫,不允許讀,因為讀的時候需要涉及到采用中斷方式,因為輪詢方式有個不好的地方,那就是正在讀的時候,這里有可能當前進程的時間片用完了,系統切換到另一個進程,這里你在PC機的串口輸入的數據就丟棄了,唉,又是為了簡單嘛)

      8.最后一步就是MIAN函數的最后一部分,將本進程當作IDLE進程(相當于修改任務結構數組中的數據),開啟中斷,將當前進程加入一段死循環,以免它退出去。

      9.編譯你的BOOTLOADER,KERNEL,并燒寫至FLASH,反復調試

      10.至此將你的at91rm9200(或者是其它相類似的芯片)的串口接上PC機,打開超級終端,打開板子電源,說不定你的操作系統就打印出了"hello,world"了!!!一個最簡單的操作系統就出來了

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>