Linux C???????
???????????? ???????[ 2016/11/18 11:45:20 ] ?????????????? Linux
????Linux C ???????
???????????????????????????? Web Server ???????????????????????? Web Server ?????????????λ??????????????????????????????Щ??????????????????????????????????? ( CSAPP ) ????????????????????????? Web Server ????? Web Server ???????????????????????????????? ( CGI )???????? Web Server ?????????????????????????????????????????????? Web Server ??????ζ???????????????????????????????????????????????? Web Server ????????????????λ??????????д?????????????????????磬?????????????????????
?????????? Web Server ???
??????????????? Web Server ??????????????????????????????????? accept ???????????? fork ??????????????????????????????????????????μ????????????????????????????????????????????????? fork ???????????????????????????????????
??????????????????? fork ??????????????Ρ?????Ρ?????????δ???????????????????????????????????????????????????????????????? UNIX ( Linux ) ????? fork ????????????????????????????????????????????????α???????????????????????????????????Ρ?????????????????????????????????Ρ?????????????????Ρ???κ?????е???????????д?????( copy-on-write ) ????????????????????? fork ??????????? exec ????????3????滻????????Σ??????3??????????Ρ???κ???Ρ???????????Σ???????????????????????????? UNIX ( Linux ) ?′?????????????????????????
???????????????????????д????????????????? CPU ??????????????????????????????????????л?????????
????????????????????????????????????????????????????????????????????????л??????????????????????
????????? Web Server ???
???????????? Web Server ????? accept ???????????????????????????????????????????????????? fork ??????????????????????????????????????????????????????????????????????????????????????????????·?????
??????????????????? Job ????? Job ??????????е??????????????????????????????? Job ???? Job ???е?λ????????
???????????????? Job ???У???????? Job ???????????? Job ??С?????? Job ?????????????????????????????????????
???????????????????????????????????????????Щ?????????????????? Job ????????
???????????
????tinyhttpd ??????????Ч?????????????????????????? Web Server ???????в???????????????????????????????·??????????????????????????????? tinyhttpd ?С??????????????ο? threadpool.h ?? threadpool.c ??
???????????
???????????????????????????????????????????????????£?????????????????????ζ??????????????????????? read ???????????????????????????????????????????????? read ??????????????δ??????????????????? file descriptor ?? blocking ???????????????????????????????????????е??????????????????????????μ???????????????????????
?????????????? file descriptor ????? non-blocking ?????????????( Event-driven )???????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11