OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 8:34 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: BareNumbersOS
PostPosted: Tue Feb 21, 2012 11:51 am 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
BARENUMBERSOS


-Introduction.

BareNumbersOS is a 64-bit operating system, monotasking
with multicore support.
It is a hobbystic project for educational purpose
and personal use.
It is written entirely in assembly language, so it is
small, fast and simple.
The compiler used is FASM (http://www.flatassembler.net/).
The interaction with the OS is realized by the command line interface
both in text mode and graph mode.
As from version 0.3 there is full support for VESA graphic modes.
The OS can use up to 256 cores and 256 GiB of RAM (64 GiB
ready).


-Minimum hardware requirement.

CPU 64 bit (x86-64) multicore
RAM 32 MiB
Hard Disk PATA (IDE)
Graphic Card VBE 2+
Keyboard PS2
USB Pen drive (for booting only)

It is based on BareMetalOS, of course, but there are
some differencies:

-Bootloader
-Kernel loader
-Memory
-File system
-Commands
-Syscalls
-Some inner functions
-No FAT
-No net
-Compiled with FASM
-GPL3 license
-Graph mode (VESA)

The source code is well commented and in order, so it's easy to understand
the meaning of functions and change the code.

I hope that this project can be useful for you.

Website: http://barenumbersos.xoom.it

_________________
----------------------------------------
http://barenumbersos.xoom.it


Last edited by barenumbersos on Tue Aug 21, 2012 12:21 pm, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Tue Feb 21, 2012 12:02 pm 
Offline
Member
Member

Joined: Thu Mar 10, 2011 4:24 am
Posts: 30
Why does it support up to 256 cores if it can only run one process at a time?

_________________
Using 700MHz Pentium III machine with 64MB of RAM because I feel like it.
ed implementation in C: main(a){for(;;;){read(0,&a,1);if(a=='\n')write(1,"?\n",2);}}


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Tue Feb 21, 2012 1:48 pm 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
One process -> Multiple workload shared in the cores
BareNumbersOS is not a general purpose OS, but it is specific for number crunching, so the multitasking can decrease the performance.

Bye.

_________________
----------------------------------------
http://barenumbersos.xoom.it


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Tue Feb 21, 2012 2:11 pm 
Offline
Member
Member
User avatar

Joined: Thu Dec 21, 2006 7:42 pm
Posts: 1391
Location: Unknown. Momentum is pretty certain, however.
Quote:
-Minimum hardware requirement.
CPU 64 bit (x86-64) multicore


It requires a multicore cpu?

-JL

_________________
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Tue Feb 21, 2012 4:16 pm 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
I have not a PC with one core only, then i never tested on it.
I have tested the OS on qemu:
qemu-system-x86_64 -m 128 -hda barenumbers.bin -rtc base=localtime -M pc -smp 1 -name "BareNumbers OS"
and it seems OK, but use it with 1 core is a non-sense.

Bye.

_________________
----------------------------------------
http://barenumbersos.xoom.it


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Wed Feb 22, 2012 3:32 am 
Offline
Member
Member

Joined: Thu Mar 25, 2010 11:26 pm
Posts: 1801
Location: Melbourne, Australia
barenumbersos wrote:
One process -> Multiple workload shared in the cores
BareNumbersOS is not a general purpose OS, but it is specific for number crunching, so the multitasking can decrease the performance.

Bye.
How are you measuring performance ? I think multitasking will increase performance.

_________________
If a trainstation is where trains stop, what is a workstation ?


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Thu Feb 23, 2012 12:46 pm 
Offline
Member
Member
User avatar

Joined: Mon Jul 28, 2008 9:46 am
Posts: 325
Location: Ontario, Canada
Its great to see you were inspired by BareMetal OS. Why drop the network support though?

-Ian

_________________
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Fri Feb 24, 2012 5:51 am 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
Following the goal of my project, the network support is necessary only for clustering, but at this stage of development i prefer to complete the OS before to expand it.

Thank you for your great job.

_________________
----------------------------------------
http://barenumbersos.xoom.it


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Fri Apr 06, 2012 7:08 am 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
Released BareNumbersOS v.0.2

Changes:
GNU/Linux utility named 'bnfs':
with this program you can copy a file from GNU/Linux to
BareNumbersOS (l2b), you can copy a file from BareNumbersOS
to GNU/Linux (b2l) and you can use all BNFS commands ( dir,
mkd, mkf, ren, del, mvf, lim, sto, format )

added the function os_get_datetime_string
modified del command
modified dir command
modified format command
modified kcli.inc

added keyb command
new keyboard driver
new italian keyboard layout
new usa keyboard layout

updated manual.txt
added changes.txt
+ minor changes and bugs fix

_________________
----------------------------------------
http://barenumbersos.xoom.it


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Tue Aug 21, 2012 12:51 pm 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
Released BareNumbersOS v.0.3

modified infomap.inc
modified kimem_map.inc
modified vbe.inc
modified splash.inc
added UM_progress_bar

added vbe command
modified screen.asm
added os_inc_ycursor
added os_print_extrachar
deleted os_screen_scroll
new kvbe.inc
new k_init_graph.inc
new graph.asm
new six fonts: font5x10.inc, font6x12.inc, font8x12.inc
font10x15.inc, font12x18.inc, font16x24.inc

modified kcli.inc
modified debug.asm
modified input.asm
modified dir command in fs.inc
added os_get_rdtsc
added os_get_timer

modified ksyscalls.inc
modified bn_syscalls.inc
modified kernel.asm
modified sys64.asm

updated manual.txt
updated changes.txt
+ minor changes and bugs fix


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

The major change is graph mode.
(from manual.txt):

-Graphic mode

During the boot, when is prompted 'Press any key for txt mode',
you have three options:
1).Press no key: the boot continues in graph mode, with resolution
fixed in source code.
2).Press a key between F1-F10: the boot continues in graph mode, with
resolution changed at runtime as in tableA.
3).Press any more key: the boot continues in text mode.

TableA:

F1 = 1280x720 F5 = 1280x800 F9 = 800x600
F2 = 1600x900 F6 = 1680x1050 F10 = 1024x768
F3 = 1920x1080 F7 = 1920x1200
F4 = 2560x1440 F8 = 2560x1600


All resolutions are 32 bit per pixel only.
In text mode the screen is divided in 25 rows x 80 colums.
In graph mode the screen is divided in 60 rows x 160 columns.
To print a char is similar in both modes!

In graph mode there are six fonts available, one for resolution,
as in tableB.


TableB:

16/9________________16/10____________________4/3 (Not Av.)
---------------------------------------------------------------------------------------------------
Av. Resol. Font Disp. Av. Resol. Font Disp. Av. Resol. Font Disp. Size (In.)
---------------------------------------------------------------------------------------------------

* 1280x720 8x12 0-0 * 1280x800 8x12 0-80 1280x960 8x16 0-0 15'-17'
* 1600x900 10x15 0-0 * 1680x1050 10x15 80-150 1600x1200 10x20 0-0 20'
* 1920x1080 12x18 0-0 * 1920x1200 12x18 0-120 1920x1440 12x24 0-0 22'-24'
* 2560x1440 16x24 0-0 * 2560x1600 16x24 0-160 2560x1920 16x32 0-0 27'

* 800x600 5x10 0-0 ; default
* 1024x768 6x12 64-48

(* = available)


The favourite screen format is 16/9.
Disp indicates the pixels around the screen not used for rows x columns grid.
For searching your appropriate screen resolution supported by graphic card, you can use 'vbe' command.
It is recommended to write in source code the max resolution supported by your PC as default setting
(in sys64.asm) and recompile the kernel.

_________________
----------------------------------------
http://barenumbersos.xoom.it


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Wed Apr 10, 2013 12:07 pm 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
2013 Apr. : Released BareNumbersOS v.0.4

added os_is_alpha
added os_is_uppercase
added os_is_lowercase
added os_is_ctrl_letter

modified screen.asm
added os_print_box_with_color
added os_input_string_with_cursor

added os_g_bitmap
added os_g_screen_to_bitmap

modified ksyscalls.inc
modified bn_syscalls.inc
modified ksysvar.inc
modified set_colsrows_limits in kinit_graph.inc

new controls.asm:
(check, label, activelabel, arrayalabel,
inputstring, bitmap, customcontrol)
new bn_controls.inc
new bn_hello-ui.asm
new ex_controls.inc (in examples.tgz)
new ex_tilectrl.asm (in examples.tgz)

updated manual.txt
updated changes.txt
+ minor changes and bugs fix



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

The major change is 'Tiles and Controls manager':
(from manual.txt):

-Tiles and controls

With the goal to facilitate the writing of programs were added tiles and controls.
The file bn_controls.inc included in your program permits to use tiles (similar but not equal to
tiled windows) and controls (similar to controls in other OS but not objects).
The use of them is optional, they are not part of the kernel.
The tile is a fixed panel or box not overlapping on other tiles with a max of 99 pages (turning with
pg down and pg up) and max 52 controls in every page. The tiles are named from a to z (lowercase),
the controls are named from a to z (lowercase) and from A to Z (uppercase).
To change the focus of a tile press CTRL+letter, to change the focus of a control press only a letter.
You use only keyboard, the mouse is not required: this is very useful and fast.
At this stage of development there are the following controls:
CHECK similar to checkbox, LABEL similar to label, ALABEL similar to button,
ARRAYALABEL similar to listbox, INPUTSTRING similar to textbox, BITMAP similar to image
and CUSTOMCONTROL defined by user.
For more informations view the code in bn_controls.inc, controls.asm and the examples in
bn_hello-ui.asm and ex_tilectrl.asm (in examples.tgz).


Screenshot:
http://barenumbersos.xoom.it/virgiliowi ... are-ui.png

_________________
----------------------------------------
http://barenumbersos.xoom.it


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Wed Apr 10, 2013 12:23 pm 
Offline
Member
Member
User avatar

Joined: Fri Mar 07, 2008 5:36 pm
Posts: 2111
Location: Bucharest, Romania
Is there any reason you decided to write a changelog that doesn't provide potential users with any useful information whatsoever?

No one, ever wrote:
OMG, the new version of BareNumbersOS updates one of its source files, ksysvar.inc.

_________________
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Wed Apr 10, 2013 12:31 pm 
Offline

Joined: Tue Feb 21, 2012 11:33 am
Posts: 9
What information you want to know?

_________________
----------------------------------------
http://barenumbersos.xoom.it


Top
 Profile  
 
 Post subject: Re: BareNumbersOS
PostPosted: Tue Jun 25, 2013 5:01 am 
Offline

Joined: Tue Jun 25, 2013 4:55 am
Posts: 1
I would love to download it and take a look, however the website is loading very slow


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 26 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group