{"id":19137531,"url":"https://github.com/archibate/newos","last_synced_at":"2025-05-06T20:13:25.126Z","repository":{"id":92121289,"uuid":"216859016","full_name":"archibate/newos","owner":"archibate","description":"A hobby unix-like operating system","archived":false,"fork":false,"pushed_at":"2024-06-05T17:37:06.000Z","size":431,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-19T14:57:47.669Z","etag":null,"topics":["c-library","c-runtime","filesystem","kernel","operating-system"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/archibate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-22T16:24:44.000Z","updated_at":"2025-02-26T14:19:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"0c99394f-e765-45d8-8817-84f5cff7784d","html_url":"https://github.com/archibate/newos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archibate%2Fnewos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archibate%2Fnewos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archibate%2Fnewos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archibate%2Fnewos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archibate","download_url":"https://codeload.github.com/archibate/newos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252761236,"owners_count":21800127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-library","c-runtime","filesystem","kernel","operating-system"],"created_at":"2024-11-09T06:38:40.227Z","updated_at":"2025-05-06T20:13:25.081Z","avatar_url":"https://github.com/archibate.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"New OS\n======\n\nA hobby unix-like operating system\n------\n\n\u003cimg src=docs/1.png\u003e\n\n### Equipped with:\n\n- a simple shell.\n- filesystem **NeFS** made from stratch.\n- busybox-like command line utils.\n- **vi** as the text editor.\n- **fork()** copy-on-write.\n- ELF dynamic linking like a DLL.\n- Simple C standard library.\n- I/O multiplex by **ionotify()**,\n  a subset of poll() from stratch.\n- optional graphical user interface\n  (toggle by `VIDEO=1` in Makefile).\n- simple window manager based on **System V** IPC.\n- simple **IDL** langurage generating IPC code.\n\n### Enviroument:\n\n- Arch Linux (x86_64)\n- gcc 9.1.0\n- nasm 2.14.02\n- binutils 2.32 (for ld, strip, objcopy)\n- coreutils 8.31 (for cat, dd, etc.)\n- make 4.2.1 (for Makefile)\n- qemu-system-i386 4.1.0 (for simulation)\n- bochs 2.6.9 (for bximage)\n- python 3.8.0 (for tools/idl.py)\n- gdb 8.3.1 (for debugging)\n- tigervnc 1.13.1 (for viewing)\n\n#### To build:\n```bash\nmake all\n```\n\nwill create `build/boot.img`.\n\n#### To run:\n```bash\nmake run\n```\n\nwill run our OS in qemu.\n\n`vncviewer :5900`\n\nto view the console.\n\ntry typing this in our console:\n```bash\nvi /usr/src/snake.c\n```\n\n#### To run in graphics:\n```bash\nmake clean\nmake run VIDEO=1\n```\n\nwill run our OS in graphics mode (work in progress).\n\n```bash\nvncviewer :5900\n```\n\nto view the graphics.\n\ntry typing this in the serial terminal:\n```bash\nbkg xinitd\nxtest\n```\n\n### Errors on your machine?\nPlease contact me at \u003cu\u003e17721388340@163.com\u003c/u\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchibate%2Fnewos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchibate%2Fnewos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchibate%2Fnewos/lists"}