Newer x86 and x86-64 processors have the instruction RDRAND for generating random numbers.To use RDRAND you will first need to check if the instruction is available.
Here the system generates values out of mouse movements, keyboard inputs or other human actions.Finally a very simple way to obtain a seed is getting the time value of the system's Real Time Clock. True random number generators use physical devices to generate random numbers, whose unpredictability can be traced to the laws of quantum mechanics.Another commonly used 'resource' is the behaviour of the user. Indeed Linux does it this way to provide /dev/urandom. This method is the most commonly used method in OSes, since it is fast and generates very useful results. it uses a true random number as s initial value (often refered to as 'seed') for an algorithm, that generates pseudorandom numbers.