BRK.2
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:2k
源码类别:

操作系统开发

开发平台:

WINDOWS

  1. BRK(2)                    Minix Programmer's Manual                     BRK(2)
  2. NAME
  3.      brk, sbrk - change data segment size
  4. SYNOPSIS
  5.      #include <unistd.h>
  6.      char *brk(char *addr)
  7.      char *sbrk(int incr)
  8. DESCRIPTION
  9.      Brk sets the system's idea of the lowest data segment location  not  used
  10.      by  the  program (called the break) to addr.  Locations greater than addr
  11.      and below the stack pointer are not in the address space  and  will  thus
  12.      cause a memory violation if accessed.
  13.      In the alternate  function  sbrk,  incr  more  bytes  are  added  to  the
  14.      program's  data  space  and  a  pointer  to  the start of the new area is
  15.      returned.
  16.      When a program begins execution via  execve  the  break  is  set  at  the
  17.      highest   location  defined  by  the  program  and  data  storage  areas.
  18.      Ordinarily, therefore, only programs with growing data areas need to  use
  19.      sbrk.
  20. RETURN VALUE
  21.      The address of the new break is returned  if  brk  succeeds;  -1  if  the
  22.      program  requests  more memory than the system limit.  Sbrk returns -1 if
  23.      the break could not be set.
  24. ERRORS
  25.      Sbrk will fail and no additional memory will be allocated if one  of  the
  26.      following are true:
  27.      [ENOMEM]       The maximum possible size of a data  segment  (as  set  by
  28.                     chmem(1)) was exceeded.
  29.      [ENOMEM]       Insufficient virtual memory space existed to  support  the
  30.                     expansion.  (Minix-vmd)
  31. SEE ALSO
  32.      chmem(1), execve(2), malloc(3), end(3).
  33. NOTES
  34.      Minix-vmd rounds a small data segment limit up to 3 megabytes.
  35. 4BSD                              May 22, 1986                               1
  36. BRK(2)                    Minix Programmer's Manual                     BRK(2)
  37. BUGS
  38.      Setting the break may fail due to a  temporary  lack  of  virtual  memory
  39.      under  Minix-vmd.   It is not possible to distinguish this from a failure
  40.      caused by exceeding the maximum size of the data segment.
  41. 4BSD                              May 22, 1986                               2