2014/01/24-26 jserv System Software Course at Tainan

Day1:
Apple fund ARM, Nokia survives ARM
LLVM
HSA
Clang
JTAG

手機天線至少要 2cm,後來的手機都是把天線繞在手機機身外圍

Day2:
History is helpful for studying programming language and operating system.

DOS and UNIX are not copmparable. DOS does not time sharing, but UNIX has.

Priority Inversion 定義、原因、解決方法
火星探測器

Time sharing、priority scheduling
登月計畫的穿線,0 是不穿,1 是穿

CTSS(First Time Sharing, in age of Fortrane and Batch) -> Multics -> UNIX(God) -> BSD (OpenSource)

UNIX 希望每個函式名稱不超過 5 個字元
所以才會有 creat() 不是 create()

對原始的 C 語言而言,structure 其實是 offset,不是 class, member 等等
了解原始 C、UNIX 設計原理很重要

exokernel 是 microkernel 的極端

德國的 OS 研究也很徹底,不過他們是著重在 Control engineering
而美國著重在原理

Windows NT 也是 Microkernel

Mach 是一個分常前衛的作業系統

Mint 那本書 jserv 認為是作業系統的必讀本

Gerwin Klein et alia 在 2009 年的 SOSP 論文 (os 驗證、haskell 應用)

Day3:
FreeRTOS

Jane Liu 張韻詩教授

另一種對作業系統得詮釋:
軟體設計者在乎的是 time()、UI、UX 等等
但是硬體在意的點是 timer、Realtime clock、cache、I/O、Interrupt
所以就需要 OS 來中介的兩邊的
需求與溝通

context switch 的 context 基本上就是 CPU register

Compiler 中也有 context,但是主要是只 stack
只有 debugger 才會是存 CPU register

2 ways to avert Priority Inversion:
Priority inheritance
Priority ceiling

FreeRTOS (GPL)
SafeRTOS (商業化)
OpenRTOS (商業化)

TinyOS

Block 的需求是因為有同步事件的請求

SDR: Software Defines Radio

Resource Kernel

voltage scaling
frequency scaling

Nucleus

“glibc priority inheritance”

Others:
To be expert:

  1. basic should keep studying to be familiar => books and solve problem for asking
    (C, OOP[Java, C++], OS, CA, Calculus, LA, DA, DS, Algo, PL, Compiler, SP, Logic Design, 工數、數位電子學)
  2. Profession
  3. Cross field!!!

Course review should not always beginning from chapter1.
You should choose you need and vital one and review them agian and again.

You should not have time to feel empty
You want to find friend having meal, just do it, don’t think too much.

jserv 以前也是做 Server 相關
主要是做 Apache 那種 Framework 等的
不是前端的,後來因為休學以後就改做 Embeded (Specific goal)

WHAT is the definition of Operating System and WHY we need it?
WHAT is system call and the difference with library?
WHAT is Embedded System?
These important basic fundamentals are important to memorize.

真正去看過 Source code、研究與開發過的人才會真的懂
但是真的去碰得人並不多

Some amazing program I wonder to study and implement:
Operating System
Virtual Machine
Compiler (And components)
Browser
Communication Software
Skype
Teamviewer

入門嵌入式教材其實就看 jserv 就差不多了

Spark 看技術手冊

Install VM With Ubuntu on Mac

會不會也許可以改造去大創買的小火車模型結合Arduino

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s