본문 바로가기

xv6:2024/Chapter 1

xv6's every system call && read() from the pipe

System call                  Description

----------------------------------------------------------------------------------------------------------------------------------------------
int fork()                                        Create a process, return child’s PID.
int exit(int status)                          Terminate the current process; status reported to wait(). No return.
int wait(int *status)                        Wait for a child to exit; exit status in *status; returns child PID.
int kill(int pid)                                Terminate process PID. Returns 0, or -1 for error.
int getpid()                                     Return the current process’s PID.
int sleep(int n)                               Pause for n clock ticks.
int exec(char *file, char *argv[])    Load a file and execute it with arguments; only returns if error.
char *sbrk(int n)                            Grow process’s memory by n zero bytes. Returns start of new memory.
int open(char *file, int flags)         Open a file; flags indicate read/write; returns an fd (file descriptor).
int write(int fd, char *buf, int n)     Write n bytes from buf to file descriptor fd; returns n.
int read(int fd, char *buf, int n)      Read n bytes into buf; returns number read; or 0 if end of file.
int close(int fd)                              Release open file fd.
int dup(int fd)                                Return a new file descriptor referring to the same file as fd.
int pipe(int p[])                              Create a pipe, put read/write file descriptors in p[0] and p[1].
int chdir(char *dir)                        Change the current directory.
int mkdir(char *dir)                       Create a new directory.
int mknod(char *file, int, int)        Create a device file.
int fstat(int fd, struct stat *st)       Place info about an open file into *st.
int link(char *file1, char *file2)    Create another name (file2) for the file file1.
int unlink(char *file)                    Remove a file.

 

------------------------------------------------------------------------------------------------

If no data is available, a read on a pipe waits for either

(1) data to be written

or

(2) for all file descriptors referring to the write end to be closed

'xv6:2024 > Chapter 1' 카테고리의 다른 글

Exercise 1-5. xargs  (1) 2024.11.19
Exercise 1-4. find  (0) 2024.11.18
Exercise 1-3. primes  (0) 2024.11.16
Exercise 1-2. pingpong  (0) 2024.11.16
Exercise 1-1. sleep  (0) 2024.11.16