Coder Social home page Coder Social logo

neu-os's People

Contributors

void001 avatar yhshu avatar zhouziqunzzq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neu-os's Issues

配置环境遇到command not found: ssh解决方案

配置git信息:ssh-keygen -t rsa -C "[email protected]"时遇到command not found问题
出错信息
解决方案:输入如下命令:1、更新pacman软件包2、下载安装openssh
解决方案
期间会遇到的选择:都选Y


更新完pacman下的软件包后,下载openssh,选Y安装

验证成功

感谢学长。

Some new thoughts on NEUOS

Current version of NEUOS contains many design problems, I will list them below

  1. Handmade bootup process
    now it use a custom hand-made bootloader that can only boot from floppy and harddik(maybe no hdd suport, I forgot) It will have problem booting up on bare metal. To ensure the bootloader works correctly even if run directly on bare metal, we need to use standard bootup process. Such as multiboot, for example grub. May be we will support EFI bootup
  2. Messy build system
    NEUOS now using Makefile alone to build the whole system, which is impractical for a normal C project. We need to use auto build systems, such as automake, kernel now using kconfig system, maybe we can learn from it. Also, we could add support for configurable build options, (for example kernel .config file) to allow users to build flexible customized image
  3. Lack of core function
    Currently, NEUOS supports following functions
    • multiprocess
    • paging
    • VGA and Serial Output
    • Keyboard IO
    • kernel syscall interface
    • scheduling and timer
    • some libraries

However these functions are not enough for a real operating system. At least the following funtion should be added:

  • Virtual Filesystem Support
  • exec syscall support
  • (not part of kernel) A minimal shell should be supported
  • char / block device
    Moreover, it will be better if we can support following functions
  • networking
  • advanced file system such as ext4
  • green thread support
  • media driver support (such as audio) P.S. These are very hard works and need tremendous time and efforts :(
  • multi-architecture support ( we need to consider it at first so that we can add different arch support later)
  1. Hard and unnecessary coding for students.
    Many students are not familiar with AT&T assembly or the Intel Manual. Some assignments such as hardware init and floppy IO now require them to write in full AT&T assembly, thus make them frustrating. Learned from AIM-public, these unnecessary but complicated code need to be implemented by the NEUOS developer, and provide API to students, they could just use the API to issue disk IO commands, hardware init, etc.
    And for a cleaner codebase, we need to remove the hand-written assembly as much as possible, instead, use C inline assembly as an alternative.

  2. More formal debugging, cross building toolkit
    We now combined QEMU gdb and Bochs GUI together to debug the project, but these methods are not enough, for example we need to have some internal debug tool, debug function.
    And the toolchain for building NEUOS should be universal, from a specific architecture and ELF format, everyone can build NEUOS from its own toolchain, providing a Virtual Machine image is not a good choice for environment setup.

  3. To be continued

mm/mm_test.c : make WP bit invalid

mm/mm_test.c
Line 133 ~ line 136
The code in line 135 is going to make WP valid, but the code comment in line 133 says it is going to make WP invalid.
So, I guess the right code should be
"andl $0x11101111, %%eax\n\t"

kernel/signal.c Line 50

File: kernel/signal.c
Line: 50
Column: 22

In linux v0.11 source code, this char is "&" instead of "|".
The operator "|" should be changed to "&" since that sa-> sa_flags is normally not zero, so I guess this use of bit operation is wrong.

There are errors in make.

There's something wrong in the make file of the tags. It needs to be replaced by the correct head of the make in the master.

In Lesson 3

Comment: 1 click = 16 bytes instead of 16 bits

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.