程序员的自我修养-可执行文件的装载

程序员的自我修养-可执行文件的装载

可执行文件的装载与进程

可执行文件只有装载到内存以后才能被 CPU 执行。早期的程序装载十分简陋,装载的基本过程就是把程序从外部存储器中读取到内存中的某个位置。随着硬件 MMU 的诞生,多进程,多用户,虚拟存储的操作系统出现,可执行文件的装载过程变得非常复杂。

Read more
程序员的自我修养-静态链接
Django WSGI Application

Django WSGI Application

WSGI Handler

Django 自带的 WSGIHandler 实际上在 wsgi 规范中是作为一个 WSGI application ,它是一个定义了 __call__ 的类。

涉及的几个关键性文件

  • django/core/handler/base.py
  • django/core/handler/execption.py
  • django/core/handler/wsgi.py
Read more
Django WSGI Server

Django WSGI Server

复习

  • WSGI 协议主要包括 server 和 application 两部分:
    • WSGI server 负责从客户端接收请求,将 request 转发给 application,将 application 返回的 response 返回给客户端
    • WSGI application 接收由 server 转发的 request,处理请求,并将处理结果返回给 server。application中可以包括多个栈式的中间件(middlewares),这些中间件需要同时实现 server 与 application,因此可以在 WSGI 服务器与 WSGI 应用之间起调节作用:对服务器来说,中间件扮演应用程序,对应用程序来说,中间件扮演服务器。
Read more
程序员的自我修养—目标文件里有什么

程序员的自我修养—目标文件里有什么

第三章的后半部分

链接的接口

  • 链接的本质是要把多个不同的目标文件之间相互"粘"在一起。为了使不同的目标文件可以相互粘合,这些目标文件之间必须有固定的格式。
    • 在链接中,目标文件之间相互拼合实际上是目标文件之间对地址的引用,即对函数和变量的地址的引用。
Read more