posts - 12,comments - 1,trackbacks - 0
          看understanding linux kernel的一點(diǎn)筆記:
          頁(yè)表
          通常32位cpu使用2級(jí)頁(yè)表機(jī)制就已足夠,但到64位時(shí)代,2級(jí)頁(yè)表會(huì)使頁(yè)表的項(xiàng)急劇增加,所以通常會(huì)使用更多的頁(yè)表級(jí)數(shù)。
          ia64/ppc64/alpha使用3級(jí)頁(yè)表,x86_64使用到4級(jí)頁(yè)表。為兼容這些模型,2.6.11之后使用了統(tǒng)一的4級(jí)頁(yè)表模型
          Global Directory
          Upper Directory
          Middle Directory
          Page Table
          針對(duì)不同的架構(gòu),設(shè)置每一級(jí)不同的地址位數(shù),0的話就是不使用這一級(jí)頁(yè)表機(jī)制。

          cache
          多cpu環(huán)境中,每個(gè)cpu有自己的cache,對(duì)cache的更新有硬件機(jī)制保證通知其他的cpu進(jìn)行同步。(真的嗎?)

          tlb
          用來(lái)cache頁(yè)表,加速地址的轉(zhuǎn)換速度。每個(gè)cpu有自己的tlb,但不需要同步,因?yàn)榈刂忿D(zhuǎn)換和進(jìn)程相關(guān)。

          posted @ 2008-11-01 08:27 白色天堂 閱讀(148) | 評(píng)論 (0)編輯 收藏
          LinuxThreads:
            舊的pthread實(shí)現(xiàn),基于process實(shí)現(xiàn)pthread。主要問(wèn)題是signal不符合規(guī)范,stack size固定???

          NPTL:
            2.6后加入的新實(shí)現(xiàn),redhat as中2.4就可以支持。更符合pthread的規(guī)范。用戶線程和內(nèi)核線程采取1:1模式,支持floating stack。

          posted @ 2008-09-09 22:56 白色天堂 閱讀(197) | 評(píng)論 (0)編輯 收藏
          今天花了一點(diǎn)時(shí)間作了個(gè)x86上hotspot vm的disassembler,這樣可以看出jvm生成的本地代碼了。
          代碼比較簡(jiǎn)單,主要是用了udis86的庫(kù),這個(gè)可以在sf上下載到,它的接口還是比較簡(jiǎn)單的。

          簡(jiǎn)單的例子,hotspot解析模式中iconst_0的對(duì)應(yīng)匯編代碼:
          iconst_0  3 iconst_0  [0xb4d98120, 0xb4d98160]  64 bytes

            0xb4d98120: sub esp, 0x4
            0xb4d98123: fstp dword [esp]
            0xb4d98126: jmp 0x1e
            0xb4d9812b: sub esp, 0x8
            0xb4d9812e: fstp qword [esp]
            0xb4d98131: jmp 0x13
            0xb4d98136: push edx
            0xb4d98137: push eax
            0xb4d98138: jmp 0xc
            0xb4d9813d: push eax
            0xb4d9813e: jmp 0x6
            0xb4d98143: push eax
            0xb4d98144: xor eax, eax
            0xb4d98146: movzx ebx, byte [esi+0x1]
            0xb4d9814a: inc esi
            0xb4d9814b: jmp dword near [ebx*4+0x6900680]

          posted @ 2008-08-24 00:28 白色天堂 閱讀(188) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 平顺县| 手游| 滨海县| 吉隆县| 汕头市| 东兰县| 扶余县| 巫山县| 墨江| 资兴市| 内江市| 灯塔市| 潞西市| 壶关县| 道真| 长海县| 武义县| 深圳市| 通山县| 上犹县| 福建省| 博兴县| 广水市| 繁昌县| 布尔津县| 土默特左旗| 日照市| 乐安县| 鄂温| 新邵县| 赤峰市| 龙里县| 定南县| 民丰县| 安陆市| 江阴市| 龙岩市| 石棉县| 乌审旗| 凉城县| 安徽省|