mirror of https://github.com/01-edu/public.git
fix(0shell): remove mandatory use of low-level system calls and make it bonus
This commit is contained in:
parent
61b2670c5a
commit
9e308f27e2
|
@ -28,7 +28,7 @@ For this project you will only have to create a simple `Unix shell` where you ca
|
|||
- `mkdir`
|
||||
- `exit`
|
||||
|
||||
> The commands need to be implemented from scratch, without calling any external binaries and exclusively using low-level system calls directly, without relying on built-in functions or libraries that abstract file operations?
|
||||
> The commands need to be implemented from scratch, without calling any external binaries.
|
||||
|
||||
- You must manage the program interruption `Ctrl + D`.
|
||||
- The project has to be written in a compiled language (like C, Rust, Go or other), **interpreted languages (like Perl and others) are not allowed**.
|
||||
|
@ -48,6 +48,10 @@ This project will help you learn about:
|
|||
|
||||
You can also do more bonus features like:
|
||||
|
||||
- Implement the commands exclusively using `low-level system calls` avoiding built-in functions or libraries that abstract file operations.
|
||||
|
||||
- Avoid High-Level Abstractions: Instead of using functions like the Go `os.Open, os.Remove, and io.Copy`, you would use system calls directly through the `syscall` package using `syscall.Open, syscall.Close, syscall.Read, syscall.Write, syscall.Unlink`.
|
||||
|
||||
- Manage the interruption `Ctrl + C`
|
||||
- Auto complete when you are writing
|
||||
- Add piping
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
|
||||
###### Was the project written in a compiled programming language?
|
||||
|
||||
###### Are the commands mentioned in the subject implemented from scratch, without calling any external binaries and exclusively using low-level system calls directly, without relying on built-in functions or libraries that abstract file operations?
|
||||
###### Are the commands mentioned in the subject implemented from scratch, without calling any external binaries?
|
||||
|
||||
The use of execution commands (such as exec, system, os/exec, or similar functions) to call **external binaries** or utilities is strictly forbidden, as the project requires implementing all functionality from scratch without relying on external programs.
|
||||
|
||||
#### Functional
|
||||
|
||||
|
@ -76,7 +78,9 @@
|
|||
|
||||
#### Bonus
|
||||
|
||||
###### +Did the student added auto complete when you are writting the commands?
|
||||
###### + Did the student implemented the commands exclusively using `low-level system calls` avoiding built-in functions or libraries that abstract file operations?
|
||||
|
||||
###### +Did the student added auto complete when you are writing the commands?
|
||||
|
||||
###### +Did the student added piping?
|
||||
|
||||
|
|
Loading…
Reference in New Issue