Year: 2018

  • 2018-10-22 notes

    今天一點半睡覺,已經好幾天都是一點多睡覺了。還有,早上在學校的美髮部剪頭髮,剪完之後在手機行事曆上設定三個禮拜後要再次剪髮。但是在等待剪髮的時候,在櫃檯後面的牆壁上看到愛家公投的宣傳單,有那麼一瞬間想要直接踏出去換一家剪,之前有這樣的感覺是博愛校區後門的一個傳統早餐店,裡面的傳單也是一樣令我反感的東西,忘記是很老派的觀念還是奇怪的組織了。最後還是在裡面剪了,但是下個月可能又要另尋一家來剪。 最近則是過度用眼到會很痛了,該尋找一下解決的方式。 Measuring the result and the implementation, but seams not work

  • 2018-10-21 notes

    這幾天在 Ptt 上賭 LOL 的樂透,已經賭到賺 40 萬以上 P 幣了,各種冷門盤,S8 LOL WC 出現了 2 組 EU 1 組 NA 1 組 LPL 沒有 LCK 的神奇狀況。發了至少超過 7 萬 P 出去。看到文章下面有要賭本的就順手轉給他,讓大家都能同樂。 昨天騎車不是騎新雪霸路線,在拐點往右轉向北出發,繞繞台七乙,吃個午餐後想說回老家一趟,預期不會有人,結果停車時看到阿姨的車,然後開門的竟然是我老媽……震驚不已。騎回學校走台 66 線 -> 台 61 線 -> 台 68 線的方式回去。第一次走完台 66 線全程。目前有走完全程的快速道路有 64 / 66 / 68 / 72 這幾條。 之所以會開始寫日記,是因為看到阿罵的日記,閱讀裡面幾段文字,才理解到「啊,原來這個人曾經活過呢」的感覺。隨手翻的幾頁,就有紀錄我們以前出遊的文字,勾勒起幾段回憶。除此之外也是希望可以記錄下每天有做了什麼事情,像最近就都在看書看比賽跟玩遊戲,啥都沒做。 另外,我達成了一個禮拜沒有踏出學校校園的紀錄,這可真是可怕。

  • Intel 64 and IA32 architectures Memory Model – Segmentation and Paging

    32-bit paging: CR0.PG = 1 & CR4.PAE = 0 (section 4.3) CR0.WP CR4.PSE CR4.PGE CR4.SMEP CR4.SMAP PAE paging; CR0.PG = 1 & CR4.PAE = 1 & IA32_EFER.LME = 0 (section 4.4) CR0.WP CR4.PGE CR4.SMEP CR4.SMAP IA32_EFER.NXE 4-level paging: CR0.PG = 1 & CR4.PAE = 1 & IE32_EFER.LME = 1 (section 4.5) CR0.WP CR4.PGE CR4.PCIDE CR4.SMEP…

  • 2018-10-18 notes

    自從兩天前載了 Fire Emblem Heros,就持續在玩遊戲了。遊戲出現的循環就是積極破關 -> 放空 -> 回歸正常。真是麻煩。 Measuring the performance Testing implementation and design.

  • 2018-10-15 notes

    今天走過一遍 Intel Architecture Manual 3ABCD 的 Chapter 3 (Protected-Mode Memory Management) 以及 4 (Paging)。對 Segmentation 以及 Paging 在 x86 的用途有了比較好的概念。但還是不夠……。應該要來統計一下幾天後我才能掌握這兩個概念的……。 中午的時候追了一下 CPython 的 code,確認為什麼會在 Python 2 以及 Python 3 有不同的執行結果。再追code 的時候,一直忘記怎麼樣在 Python code 裡面產生 break point 讓 gdb 可以斷點開始追蹤……,後來是直接到 longobject 裡面找相對應的 slot function 來當斷點使用。 晚上看 LOL S8 WC Day6, G2-FW, 看到  FW 不 Ban Heimerdinger,然後 G2…

  • Why python 2: negative number cannot be raised to a fractional power, but work on Python 3

    問題是這個樣子的 ➜ cpython git:(84471935ed) ✗ python2 Python 2.7.15 (default, Jun 27 2018, 13:05:28) [GCC 8.1.1 20180531] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> (-1) ** .5 Traceback (most recent call last): File “<stdin>”, line 1, in <module> ValueError: negative number cannot be raised to a fractional power >>> ➜ cpython…

  • 2018-10-14 notes

    這幾天在看 LOL S8 WC,邊看邊做事,順便在 Ptt LOL 板下注,賺了些許的 P 幣。今天的天氣比起昨天更好,但是昨天已經騎車出去晃一圈了,所以今天沒有騎車。昨天騎車的時候把皮衣的內襯加上去防風,要不然太冷了。 已經花上三天的時間想要搞懂 segmentation + paging 還有 multi level paging 的機制,但是實在還是沒有很 concrete 的把概念轉化出來,目前還是卡住的狀況。今天就轉做 wireless TX/ACK latency 紀錄的部份。 之前是透過 OpenWrt/LEDE,所以這部份的紀錄是透過 debugfs 來處理,現在改用 desktop + pcie card,可以自由的在桌機上處理後,今天改用 netlink 來嘗試。簡單的使用 netlink + multicast 解決從 kernel-space 傳到 user-space 的部份後就開始撰寫 user-space script 的部份 (因為不必處理來自 user-space 的 command)。 晚餐吃了海南雞絲飯,50 元。 ath9k netlink kernel-space -> user-space netlink user-space…

  • Python socket OSError: [Errno 105] No buffer space available

    今天在處理 netlink 的時候,使用 Python 當作 user-space 承接來自 kernel-space 訊息的工具。我的情況是大約每 10ms 會由 kernel-space 發起一次 netlink multicast 到 user-space。當在運行 user-space script 的時候,過一陣子會出現這個錯誤: Traceback (most recent call last): File “measure_netlink.py”, line 33, in <module> b = sock.recvfrom(NETLINK_BUF_LENGTH)[0] OSError: [Errno 105] No buffer space available 一陣搜尋後, 其中一個方法是調整 sysctl 的參數,沒用。 修改 net.ipv4.xfrm4_gc_thresh=999999,沒用。 來自 netfilter 的說明: 來自 netfilter 說明:這代表 kernel-side 的…

  • From What I Know of Virtual Memory

    Segmentation 透過 base / limit (size) pair 來管理記憶體 額外增加 growth 1 bit 用來分辨記憶體增長的位置 Size 可變動 各種不同的 Size fitting algorithm Best Fit Worst Fit First Fit Next Fit Buddy Algorithm Paging 劃分固定大小的 Page (Virtual Page) 對應到 Physical Memory 上 透過 Paging Table 管理當前 Paging 對應的狀況 每個 Process 都有各自的 Paging Table External / Internal fragmentation External Fragmentation…

  • 2018-10-12 notes

    今天開行政會議,交大前校長張俊彥辭世,張懋中在開頭講著講著就哭了……接著全體起立默哀。書卷獎被打回票,朝向不給系上自主,由成績直接認定的方式。工會在行政會議上則還是沒有任何席次,只被以如有相關案子則邀請相關人員列席的方式打哈哈。 今天其他時候則是在閱讀 Operating System: Three Easy Pieces,過了兩年回頭再看,發現這個教材裡面許多知識對於面試以及建立作業系統的概念非常的有用。或許是因為過了兩年,這方面的知識也更為充足,所以最近許多以前看過的書籍重新翻閱的時候,不免都發出讚嘆,當時的我以為沒有寫清楚,但其實都已經在書上講過了。翻閱的同時也找出了一些錯誤,回信給作者 Ramzi 老師後說後續會做修正,並且在 errata 的部分標上我的名字了! 晚上隨手翻了一下 Line shop,發現有個回饋 10% Line point 的活動,就買了椰子汁、蔬果汁還有餅乾來吃。上次則是果乾跟肉乾。 今天沒有做任何有關專案的事情。