R

    雷德麥的藏書閣

    文章目錄 文章歸檔 特色標籤 關於作者
    CS Note pads 關閉側邊欄 顯示模式

訊息鑑別技術

發表於 2015-08-06   |   分類於 資訊安全   |  

什麼是訊息鑑別技術?

顧名思義,我們是在識別文件,不過比起去深究文章內涵與背景故事,我們通常會更關心這三件事:

  • 送出的訊息是否完整且正確 (protect integrity)
    • 你不會希望在匯款時多送了幾個 0
  • 發訊人的身分是不是正確的 (validate identity)
    • 防止有人假冒你幹些雞鳴狗盜的勾當
  • 發訊人不可否認曾做過的事 (Non-repudiation)
    • 沒辦法切割曾經幹過的壞事

要實踐訊息鑑別,有兩個簡單的方法:

  • CBC - residue , CMAC(Cipher-based MAC):在區塊加密時進行鑑別
  • HMAC :另外用個雜湊函式(Hash) 進行鑑別
閱讀全文 »

TCP Socket Programming 學習筆記

發表於 2015-03-17   |   分類於 程式語言 , C   |  

有別於 IPC ,Socket 是用於網路上不同程序的互相溝通,比如說流覽器要怎麼跟 Web Server 拿取資料、Messenger 訊息的收發、 ftp 檔案的上傳與下載等等,在現今的網路編程中,Socket 可以說是無所不在。

至今 Socket 也應不同的需求或 OS 衍生出了不少版本,這篇筆計主要是討論 Linux 的 socket ,並專注在實現 TCP 編程:

TCP

閱讀全文 »

C4Labs Linux講座

發表於 2014-10-30   |   分類於 作業系統   |  


由於主持人是jserv,所以是C4Labs開學以來第一次爆滿(?)。比起分享,這次的meeting更像是推坑用讀書會,書目為linux kernel development 3rd 。這本書不像OS恐龍書,它假定你對基本觀念有一部分的認知了,而多著墨在怎麼去用那些觀念,所以可能不適合新手入門,而且它的圖真的很少。

今天是第一次開講,所以只就幾個章節做了簡單的流覽。jserv分享還蠻有趣的,對於這次的會議內容,將談談作業系統的基本觀念與排程

程式 x 程序 x 執行緒

進入排程之前,先讓我們釐清一件事:

Program:沒有反應,就只是個程式碼的集合。
Process:執行中程式的實體。
Thread:Process的紀錄器,告訴你這個Process幹了什麼。

一個Program能產生多的Process,每點一次程式,就會產生一個行程,多開就是這麼回事。而每一個行程,都有一個獨立自主的小空間(記憶體區塊),除了自己以外,沒有人能把它幹掉,同樣的,當這個行程掛掉時,別的行程也不會受到影響。

執行緒既為紀錄器,也是CPU分時的最小單位。一個行程通常有很多執行緒,這其實近似多工的概念。想像一個情形,如果只有一個執行緒,行程內所有的事就得都由他一手包辦,他可能要讀入檔案,又可能又呈現畫面給使用者,但是CPU一次只能分配給一個執行緒使用,這意味著我們必須等這個執行緒讀完檔案,才會有時間來回應使用者,如果前者曠日廢時,我們通常會認為是當機了。多執行緒則把工作分攤開,我們可以有一個執行緒專職回報,告訴使用者這個行程做了什麼,而其他執行緒繼續埋頭苦幹。

但有一點要注意,多執行緒是近似分工,只是讓工作能同時啟動,真正在做事的還是處理器,如果只有一個執行緒,一個處理器,那你把它分成4個執行緒也不會比較快。事實上,在多執行緒中處理器只是快速的切換執行緒,以達到工作差不多快的效果。

排程入門

排程,其實就是切換行程的學問。Linux的排程是基於分時,也就是把CPU時間切成許多片段,每一個片段可供一個行程來使用,當程式的時間配額額滿時,就會進行行程切換的操作。而判斷執行順序是來自優先權,它可能是透過一個演算法得出的,每個行程都會有個優先權,排程器(Scheduler)會透過它得知什麼時候該執行什麼程式。

我們先考慮三種行程:

  • Interactive process :會不斷跟使用者互動,需要偵測按鍵立即回覆使用者
  • Batch process:不需要和使用者互動,常在背景執行
  • Real-time process:即時性的,像是影音軟體

Linux的排程器實做了一個啟發式演算法,可以依據過去行程的行為,來決定各個行程的優先順序 。

此外,Linux 採取搶佔式多任務處理,也就是說當一個行程處於可執行狀態時,核心會將他的優先權和當前執行行程的優先權進行比對,若前者較大,中斷目前的行程,讓排程器挑出應當執行的行程。此外先佔也會發生在當前行程的時間配額額滿的時候,此時,一個鑑別旗標TIF_NEED_RESCHED 會被設立,讓計時器中止及調用排程器。

我的紫微星哪有這麼萌!?

發表於 2014-10-18   |   分類於 遊戲設計   |  

講者:楊育誠



這次的分享和之前有個很大的不同,就是製作團隊從工作室至公司,所以在企劃、創作與行銷方面有著不同的格局,也論及到較多實務上及行銷上的策略,可以說是更貼近遊戲產業的現實面吧~

閱讀全文 »

雨港基隆的製作與誕生

發表於 2014-10-13   |   分類於 遊戲設計   |  

雨港基隆

講者:Erotes Studio 李處守總召

喔喔喔喔喔是TRPG的講座,自從看了ゆっくり妖夢と本当はこわいクトゥルフ神話,就一直對這個領域很感興趣,想不到Erotes Studio是從桌遊中成立的,讓我想到Sitcon當初也是為了在買消夜時有團揪,不少社群形成的原因實在是很微妙呢。

閱讀全文 »
1234
Justin Yang

Justin Yang

16 文章
11 分類
29 標籤
RSS
GitHub Google
© 2018 Justin Yang
Powered by Hexo
Theme modified from NexT .Mist