It is the system in which user can do manipulation of data, edit, reuse, mashup and alter the content in the programming system. In other words, we can say that open system is that system which access anyone without any restriction it means here authorization of user is not necessary. It is basically computer system which includes interoperability and portability etc. UNIX is an example of open system, it can be modify and collaborate.
It is open system and supports API. It basically works on File management, Process management, and error handling. In file management it helps in making and creation of new file, editing and reusing of files.
File Management with UNIX:
It is type of system call process in which creating, editing and altering the data processes are done. Like disk-based files, terminals, printers, and interprocess communication facilities like pipes and sockets.
Command to use and access any file is :
Int fd; /* File descriptor */
Fd = open(filename,…); /* Open file
Read(fd,…..); /* read from file */
Important input/output system calls
- Open : is used for creating and opening of any file
- Read : is used for reading of bytes from file into a buffer
- Write : is used for writing of bytes from a buffer to file
- lseek : is used for moving to a particular offset in a file
- unlink : is used for removing of any file
$ cc revese.c -o reverse ---> compile the program.
$ cat test ---> list the test file.
In unix system some attributes are used for each and every process such as codes (a.k.a. text), data, stack, unique process ID num (PID). And each and every process have six possible states:
- Running : shows process is currently using the CPU.
- Runnable : shows process can be ready to use the CPU when it become available.
- Sleeping : shows process is waiting for events.
- Suspended: shows process is in frozen state like “SIGSTOP”. It can resume when it will get signal “SIGCONT”.
- Idle: Show that process is being created by a “fork() but not yet runnable.
- Zombified: It shows that process has terminated but not yet returned exit code to parent.
Some important commands for process management:
- Fork: it is used for duplicating of any process.
- Getpid: is used for finding a process ID number.
- Getppid: is used for finding a parent process ID number.
- Exit: is used for terminating any process.
- Wait : is used for waiting of a child process.
- Exec: is used for replacing of any codes, data, and stack of any process.
To Schedule a Open Systems tutoring session click here
To submit Open Systems assignment click here.