I guess that nobody can give you an acceptable answer because the question is not specific enough. But compared to higher programming languages you will be able to use your available memory much more efficient.
My point of view, There are instructions to store bytes (8 bits), half-words (16 bits), and double-words (64 bits). A process control block (PCB) is a data structure that contains information about a process. A PCB is created for each new process. When a process moves from one state to another, its PCB is moved with it.
A process in an operating system is represented by a data structure known as a process control block (PCB) or process descriptor. The PCB contains important information about the specific process including
The current state of the process i.e., whether it is ready, running, waiting, or whatever.
Unique identification of the process in order to track "which is which" information.
A pointer to parent process.
Similarly, a pointer to child process (if it exists).
The priority of process (a part of CPU scheduling information).
Pointers to locate memory of processes.
A register save area.
The processor it is running on.
The PCB is a certain store that allows the operating systems to locate key information about a process. Thus, the PCB is the data structure that defines a process to the operating systems.
check the linux implementation of PCB it is open source OS, you can pull the STRUCT PCB and use sizeof() function to measure it, but may i ask to provide more details to obtain a specific answer
/*
* The Linux Process Control Block
* From: /usr/src/linux/include/linux/sched.h
* Kernel version 2.4.12
*/
struct task_struct {
/*
* offsets of these are hardcoded elsewhere - touch with care