Why does linux have to divide kernel space into 1G higher than process space?

  linux, question

Ask everybody to answer, why does linux have to divide kernel space into 1G higher than process space?
Can we divide the process space as follows: 0-1G is kernel space and 1-4G is user space?

In this case, since the address bus can only access 4G of space at most, and in order not to reload the kernel’s page table when switching into kernel space, a trick is used: the kernel and user space are mapped to the same memory segment. According to actual needs, 1G of memory space is reserved for the kernel, and in order to make the application program appear to start from address 0, 1G of memory segment of the kernel takes up 3G~4G of space.