注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)計算之道 卷II:Linux內(nèi)核源碼與Redis源碼

計算之道 卷II:Linux內(nèi)核源碼與Redis源碼

計算之道 卷II:Linux內(nèi)核源碼與Redis源碼

定 價:¥139.00

作 者: 黃俊 秦羽
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302675747 出版時間: 2024-12-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書是一本全面深入探討深度學(xué)習(xí)領(lǐng)域的核心原理與應(yīng)用實踐的專業(yè)書籍。本書旨在為讀者提供系統(tǒng)的學(xué)習(xí)路徑,從深度學(xué)習(xí)的基礎(chǔ)知識出發(fā),逐步深入到復(fù)雜的大模型架構(gòu)和算法實現(xiàn)。本書適合深度學(xué)習(xí)初學(xué)者、中級開發(fā)者以及對大模型有深入研究需求的專業(yè)人士。通過閱讀本書,讀者不僅能夠掌握深度學(xué)習(xí)的理論基礎(chǔ),還能通過豐富的實戰(zhàn)案例,提升解決實際問題的能力。

作者簡介

  黃俊專注于研究Java語言專注于研究Hotspot專注于研究Linux內(nèi)核專注于研究C語言與匯編專注于研究架構(gòu)設(shè)計專注于研究多線程并發(fā)處理專注于研究高效學(xué)習(xí)方式曾就職于美團、阿里前新東方業(yè)務(wù)架構(gòu)師秦羽專注于研究Java語言專注于研究Hotspot專注于研究Linux內(nèi)核專注于研究C語言與匯編語言專注于研究代碼框架設(shè)計專注于研究多線程并發(fā)處理曾就職于華為,負責(zé)移動營業(yè)項目,擔(dān)任技術(shù)開發(fā)負責(zé)人

圖書目錄

第1章 Redis結(jié)構(gòu)分析 
1.1 C語言相關(guān)的前置知識復(fù)習(xí) 
1.2 Redis背景 
1.2.1 什么是Redis 
1.2.2 ANSI C與GNU C 
1.2.3 Redis源碼下載 
1.3 Redis sds函數(shù)分析 
1.3.1 sds結(jié)構(gòu)體分析 
1.3.2 sdsnewlen函數(shù)分析 
1.3.3 sdscatlen函數(shù)分析 
1.3.4 sdslen函數(shù)分析 
1.3.5 sdsMakeRoomFor函數(shù)分析 
1.3.6 redisObject結(jié)構(gòu)分析 
1.3.7 Redis的壓縮鏈表分析 
1.4 通過Redis數(shù)據(jù)結(jié)構(gòu)引發(fā)的思考
1.4.1 地址與值的思考
1.4.2 NULL的思考
1.4.3 數(shù)組與指針的思考
1.5 小結(jié)
第2章 操作系統(tǒng)相關(guān)介紹
2.1 進入Linux
2.1.1 內(nèi)核源碼下載
2.1.2 Linux目錄解讀
2.1.3 內(nèi)核概覽
2.1 歷史背景
2.1.1 Linux相關(guān)背景
2.1.2 Intel相關(guān)背景
2.2 操作系統(tǒng)
2.2.1 什么是操作系統(tǒng)
2.2.2 操作系統(tǒng)啟動過程
2.2.3 操作系統(tǒng)調(diào)用層級
2.3 地址空間
2.3.1 內(nèi)存模型
2.3.2 為什么要有地址空間
2.3.3 什么是線性地址空間
2.3.4 段寄存器
2.3.5 指令指針寄存器
2.4 實模式與保護模式
2.5 特權(quán)級
2.5.1 CPL、RPL、DPL
2.5.1 一致性與非一致性
2.5.2 切換特權(quán)級的調(diào)用過程
2.6 小結(jié)
第3章 進程管理分析
3.1 進程的相關(guān)背景
3.1.1 單道批處理
3.1.2 多道批處理
3.1.3 分時系統(tǒng)
3.2 進程概覽
3.2.1 元數(shù)據(jù)
3.2.2 上下文切換
3.2.3 進程描述符
3.2.4 任務(wù)狀態(tài)段
3.3 內(nèi)核初始化
3.3.1 內(nèi)核的main函數(shù)
3.3.2 從內(nèi)核態(tài)進入用戶態(tài)
3.3.3 創(chuàng)建0號進程
3.4 進程調(diào)度
3.4.1 進程狀態(tài)
3.4.2 execv函數(shù)
3.4.3 schedule函數(shù)
3.3.4 switch_to函數(shù)
3.4.5 sys_pause函數(shù)
3.4.6 sleep_on函數(shù)
3.4.7 interruptible_sleep_on函數(shù)
3.4.8 wake_up函數(shù)
3.4.9 sys_exit函數(shù)
3.4 中斷處理分析
3.4.1 什么是中斷
3.4.2 中斷與異常的來源 
3.4.3 中斷描述符表 
3.4.4 狀態(tài)寄存器 
3.4.5 程序調(diào)用 
3.4.6 中斷處理過程 
3.4.7 系統(tǒng)調(diào)用 
3.5 硬中斷原理 
3.5.1 request_irq函數(shù) 
3.5.2 setup_irq函數(shù) 
3.5.3 init_IRQ函數(shù) 
3.5.4 interrupt[i] 數(shù)組生成 
3.5.5 do_IRQ函數(shù) 
3.5.6 handle_IRQ_event函數(shù) 
3.6 軟中斷原理 
3.6.1 raise_softirq函數(shù) 
3.6.2 wakeup_softirqd函數(shù) 
3.6.3 ksoftirqd內(nèi)核線程的創(chuàng)建 
3.6.4 ksoftirqd 函數(shù) 
3.6.5 do_softirq函數(shù) 
3.7 內(nèi)核線程原理 
3.7.1 sys_clone函數(shù) 
3.7.2 do_fork函數(shù) 
3.7.3 copy_files函數(shù) 
3.7.4 copy_fs函數(shù) 
3.7.5 copy_sighand函數(shù) 
3.7.6 copy_mm函數(shù) 
3.7.7 copy_thread函數(shù) 
3.7.8 ret_from_fork函數(shù) 
3.7.9 syscall_exit函數(shù) 
3.8 信號原理 
3.8.1 sys_kill函數(shù) 
3.8.2 group_send_sig_info函數(shù) 
3.8.3 handle_stop_signal函數(shù) 
3.8.4 sig_ignored函數(shù) 
3.8.5 LEGACY_QUEUE宏 
3.8.6 send_signal函數(shù) 
3.8.7 group_complete_signal函數(shù) 
3.8.8 信號處理匯編 
3.8.9 do_signal函數(shù) 
3.9 小結(jié) 
第4章 內(nèi)存管理分析 
4.1 分頁概覽 
4.1.1 為什么分頁? 
4.1.2 控制寄存器 
4.1.3 段選擇子 
4.1.4 段描述符 
4.1.5 全局描述符表 
4.1.6 局部描述符表 
4.1.7 分頁過程 
4.2 內(nèi)存描述符 
4.3 mmap函數(shù)原理 
4.3.1 sys_mmap函數(shù) 
4.3.2 do_mmap2函數(shù) 
4.3.3 do_mmap_pgoff函數(shù)分析 
4.3.4 get_unmapped_area函數(shù) 
4.3.5 find_vma_prepare函數(shù) 
4.4 munmap函數(shù)原理 
4.4.1 do_munmap函數(shù) 
4.4.2 find_vma_prev函數(shù) 
4.4.3 split_vma函數(shù) 
4.4.4 find_vma函數(shù) 
4.4.5 detach_vmas_to_be_unmapped函數(shù) 
4.4.6 vma_merge函數(shù) 
4.5 小結(jié) 
第5章 I/O原理分析 
5.1 I/O原理 
5.1.1 提升I/O性能的基本思想 
5.1.2 I/O執(zhí)行流程 
5.2 文件系統(tǒng) 
5.2.1 虛擬文件系統(tǒng) 
5.2.2 文件系統(tǒng)概覽 
5.2.3 文件系統(tǒng)布局 
5.2.4 用戶權(quán)限 
5.3 open函數(shù)原理 
5.3.1 sys_open函數(shù) 
5.3.2 open_namei函數(shù) 
5.3.3 dir_namei函數(shù) 
5.3.4 get_dir函數(shù) 
5.3.5 find_entry函數(shù) 
5.3.6 new_inode函數(shù) 
5.3.7 add_entry函數(shù) 
5.4 close函數(shù)原理 
5.4.1 sys_close函數(shù) 
5.4.2 iput函數(shù) 
5.5 read函數(shù)原理 
5.5.1 sys_read函數(shù) 
5.5.2 block_read函數(shù) 
5.5.3 file_read函數(shù) 
5.5.4 bmap函數(shù) 
5.5.5 new_block函數(shù) 
5.5.6 get_super函數(shù) 
5.6 write函數(shù)原理 
5.6.1 sys_write函數(shù) 
5.6.2 block_write函數(shù) 
5.6.3 file_write函數(shù) 
5.7 高速緩沖區(qū) 
5.7.1 buffer_head結(jié)構(gòu)體 
5.7.2 bread函數(shù) 
5.7.3 breada函數(shù) 
5.7.4 brelse函數(shù) 
5.7.5 getblk函數(shù) 
5.7.6 get_hash_table函數(shù) 
5.7.7 wait_on_buffer函數(shù) 
5.7.8 sync_dev函數(shù) 
5.7.9 find_buffer函數(shù) 
5.7.10 remove_from_queues函數(shù) 
5.7.11 insert_into_queues函數(shù) 
5.8 塊設(shè)備驅(qū)動 
5.8.1 塊設(shè)備定義 
5.8.1 ll_rw_block函數(shù) 
5.8.2 make_request函數(shù) 
5.8.3 lock_buffer函數(shù) 
5.8.4 unlock_buffer函數(shù) 
5.8.5 add_request函數(shù) 
5.8.6 do_hd_request函數(shù) 
5.9 高版本文件寫入原理 
5.9.1 sys_open函數(shù) 
5.9.2 filp_open函數(shù) 
5.9.3 open_namei函數(shù) 
5.9.4 dentry_open函數(shù) 
5.9.5 fd_install函數(shù) 
5.9.6 sys _write函數(shù) 
5.9.7 vfs_write函數(shù) 
5.9.8 generic_file_write函數(shù) 
5.9.9 generic_file_aio_write_nolock函數(shù) 
5.9.10 generic_commit_write函數(shù) 
5.10 小結(jié) 
第6章 數(shù)據(jù)同步機制 
6.1 同步機制概覽 
6.1.1 同步函數(shù)介紹 
6.1.2 同步流程 
6.1.3 page/buffer cache 
6.1.4 create_buffers函數(shù) 
6.2 O_DIRECT標(biāo)志 
6.2.1 generic_file_direct_IO函數(shù) 
6.2.2 filemap_fdatawrite函數(shù) 
6.2.3 mpage_writepages函數(shù) 
6.2.4 ext2_writepage函數(shù) 
6.2.5 filemap_fdatawait函數(shù) 
6.2.6 ext2_direct_IO函數(shù) 
6.2.7 do_direct_IO函數(shù) 
6.2.8 submit_page_section函數(shù) 
6.2.9 dio_bio_submit函數(shù) 
6.3 O_SYNC標(biāo)志 
6.3.1 generic_osync_inode函數(shù) 
6.3.2 sync_mapping_buffers函數(shù) 
6.3.3 wait_on_buffer函數(shù) 
6.3.4 ll_rw_block函數(shù) 
6.3.5 write_inode_now函數(shù) 
6.3.6 write_inode函數(shù) 
6.3.7 wait_on_inode函數(shù) 
6.4 sync函數(shù) 
6.4.1 sys_sync函數(shù) 
6.4.2 sync_inodes函數(shù) 
6.4.3 sync_supers函數(shù) 
6.5 fsync/fdatasync函數(shù) 
6.5.1 sys_fsync/sys_fdatasync函數(shù) 
6.5.2 ext2_sync_file函數(shù) 
6.5.3 ext2_sync_inode函數(shù) 
6.6 msync函數(shù) 
6.6.1 sys_msync函數(shù) 
6.6.2 msync_interval函數(shù) 
6.6.3 filemap_sync函數(shù) 
6.2.4 filemap_sync_pte_range 
6.2.5 虛擬地址轉(zhuǎn)化物理地址 
6.2.5 set_page_dirty 
6.7 小結(jié) 
第7章 網(wǎng)絡(luò)相關(guān)函數(shù)分析 
7.1 TCP/IP流程概覽 
7.1.1 TCP流程 
7.1.2 TCP狀態(tài)變更 
7.1.3 三次握手與四次揮手 
7.1.4 TCP/IP四層模型 
7.1.5 socket結(jié)構(gòu)體 
7.2 socket函數(shù) 
7.2.1 sys_socket函數(shù) 
7.2.2 sock_create函數(shù) 
7.2.3 sock_alloc函數(shù) 
7.2.4 inet_create函數(shù) 
7.2.5 sock_init_data函數(shù) 
7.2.6 sock_map_fd函數(shù) 
7.3 bind函數(shù) 
7.3.1 sys_bind函數(shù) 
7.3.2 inet_bind函數(shù) 
7.4 listen函數(shù) 
7.4.1 sys_listen函數(shù) 
7.4.2 inet_listen函數(shù) 
7.4.3 tcp_listen_start函數(shù) 
7.5 connect函數(shù) 
7.5.1 sys_connect函數(shù) 
7.5.2 inet_stream_connect函數(shù) 
7.5.3 tcp_v4_connect函數(shù) 
7.5.4 tcp_connect函數(shù) 
7.5.5 tcp_transmit_skb函數(shù) 
7.6 accept函數(shù) 
7.6.1 sys_accept函數(shù) 
7.6.2 inet_accept函數(shù) 
7.6.3 tcp_accept函數(shù) 
7.7 recv函數(shù) 
7.7.1 sys_recv函數(shù) 
7.7.2 inet_recvmsg函數(shù) 
7.7.3 tcp_recvmsg函數(shù) 
7.8 send函數(shù) 
7.8.1 sys_send函數(shù) 
7.8.2 inet_sendmsg函數(shù) 
7.8.3 tcp_sendmsg函數(shù) 
7.8.4 tcp_write_xmit函數(shù) 
7.9 close函數(shù) 
7.5.1 sys_close函數(shù) 
7.9.2 inet_release函數(shù) 
7.9.3 tcp_close函數(shù) 
7.10 小結(jié) 
第8章 Redis源碼分析 
8.1 Redis主流程分析 
8.1.1 main函數(shù) 
8.1.2 initServerConfig函數(shù) 
8.1.3 initServer函數(shù) 
8.1.4 setupSignalHandlers函數(shù) 
8.1.5 createSharedObjects函數(shù) 
8.1.6 adjustOpenFilesLimit函數(shù) 
8.1.7 slowlogInit函數(shù) 
8.1.8 bioInit函數(shù) 
8.1.9 aeSetBeforeSleepProc函數(shù) 
8.1.10 aeMain函數(shù) 
8.1.11 aeDeleteEventLoop函數(shù) 
8.2 Redis事件循環(huán) 
8.2.1 event結(jié)構(gòu) 
8.2.2 Redis 事件循環(huán)設(shè)計 
8.2.3 aeEventLoop結(jié)構(gòu)體 
8.2.4 aeFiredEvent結(jié)構(gòu)體 
8.2.5 aeTimeEvent結(jié)構(gòu)體 
8.2.6 aeFileEvent結(jié)構(gòu)體 
8.2.7 事件循環(huán)操作函數(shù)原型 
8.2.8 ae_select實現(xiàn) 
8.2.9 ae_epoll實現(xiàn) 
8.3 Redis多路復(fù)用器 
8.3.1 如何根據(jù)環(huán)境選擇多路復(fù)用器 
8.3.2 aeCreateEventLoop函數(shù) 
8.3.3 aeCreateFileEvent函數(shù) 
8.3.4 aeDeleteFileEvent函數(shù) 
8.3.5 aeCreateTimeEvent函數(shù) 
8.3.6 aeDeleteTimeEvent函數(shù) 
8.3.7 aeMain函數(shù) 
8.3.8 aeProcessEvents函數(shù) 
8.3.9 processTimeEvents函數(shù) 
8.3.10 aeWait函數(shù) 
8.4 Redis請求與響應(yīng)整體流程 
8.4.1 anetTcpServer函數(shù) 
8.4.2 anetUnixServer函數(shù) 
8.4.3 acceptTcpHandler函數(shù) 
8.4.4 acceptUnixHandler函數(shù) 
8.4.5 acceptCommonHandler函數(shù) 
8.4.6 createClient函數(shù) 437
8.4.7 readQueryFromClient函數(shù) 
8.4.8 processInputBuffer函數(shù) 
8.4.9 resetClient函數(shù) 
8.4.10 processCommand函數(shù) 
8.4.11 lookupCommand函數(shù) 
8.4.12 queueMultiCommand函數(shù) 
8.4.13 call函數(shù) 
8.4.14 addReply函數(shù) 
8.4.15 sendReplyToClient函數(shù) 
8.5 小結(jié) 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號