I am reading the multiboot specification of the grub in its manual.While I am reading this manual, I found an one specification.This specification mention as like "When the boot loader invokes the 32-bit operating system,operating system image must create its own stack as soon as it needs one.".I don't understand this specification,why OS needs to create the stack.
It's a specification. Specifications typically make "guarantees" as to what state the cooperating component can depend on, and what it may not depend on.
In this case, the specification is saying that the loaded OS may not assume that the stack pointer's contents reference an area of memory usable as a stack. That doesn't mean that the stack pointer doesn't actually point to an area of memory usable as a stack (it might). It means you had better not rely on it, as a future version of the loader is free to use the register for something else. Your OS would then likely crash when loaded by that later version.
That being said, there are likely other reasons as well. For example, in x86, the stack pointer (RSP/ESP/SP) is interpreted relative to the contents of the SS segment register. When changing modes -- say, real mode to protected mode -- the structure and interpretation of the segment registers changes; hence, a stack pointer value that makes sense in one mode may point to a completely different area of memory in the other (or even to no valid area of memory).