Is there any database which does not require operating system to perform operations? If yes, please provide the details like size or links with details.
Programming language is C.
Required for embedded system programming.
Akin to a desktop PC that requires an OS like Windows, Linux, or Mac OS to run basic apps, embedded systems also need an operating system to facilitate and expedite their functionality.
solidDB. solid DB is a hybrid on-disk/in-memory, relational database and is often used as an embedded system database in telecommunications equipment, network software, and similar systems.
Linux and Android are two powerful operating systems used in most of the embedded systems today.
Embedded SQL applications connect to databases and execute embedded SQL statements. The embedded SQL statements are contained in a package that must be bound to the target database server. You can develop embedded SQL applications for the Db2® database in the following host programming languages: C, C++, and COBOL.
Well, it depends on how you define 'operating system'.
Your ARM-based device almost certainly has a C standard library that ships with the toolchain.  Newlib is a popular choice for deeply embedded systems; it's included by default in, for example, the free CodeSourcery and YARTGO toolchains. However, you need to implement some syscalls before that will work.  Can you do, say, printf() and have text appear on a console?  How about malloc()?  If those and other functions don't work, I'd suggest that you implement them.  The basic syscalls that Newlib expects are: 
int     _system       (const char *);
int     _rename       (const char *, const char *);
int     _isatty       (int);
clock_t _times        (struct tms *);
int     _gettimeofday (struct timeval *, struct timezone *);
void    _raise        (void);
int     _unlink       (void);
int     _link         (void);
int     _stat         (const char *, struct stat *);
int     _fstat        (int, struct stat *);
caddr_t _sbrk         (int);
int     _getpid       (int);
int     _kill         (int, int);
void    _exit         (int);
int     _close        (int);
int     _open         (const char *, int, ...);
int     _write        (int, char *, int);
int     _lseek        (int, int, int);
int     _read         (int, char *, int);
Most of these can be stubs, but you need, for example, _write() for printf() (and other writing operations), _read() for reading operations, and _sbrk() for malloc and other memory management functions.  See, for example, http://wiki.osdev.org/Porting_Newlib for a minimal implementation.  Your definitions of these functions will determine how the database works; if _write() sends a character to the UART then your database won't be very useful.
With the standard library working, sqlite and other databases should work. They'll do things like this in shell.c from the sqlite amalgamation:
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <assert.h>
#include "sqlite3.h"
#include <ctype.h>
#include <stdarg.h>
#include <signal.h>
#include <pwd.h>
#include <unistd.h>
#include <sys/types.h>
You need some implementation of those. This does not require an operating system. With a C library, it will work, but without one, you're on your own.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With