¿Como puedo crear un SO?

Iniciado por Alexperto, 26 Agosto 2013, 23:38 PM

0 Miembros y 1 Visitante están viendo este tema.

Hacksturcon

#10
El "que" tienes que aprender exactamente ya te lo han dicho: ASM, C/C++ (O el lenguaje en el que quieras que funcione tu S.O.), Arquitectura de software, Arquitectura de hardware, Microcontroladores, Matematicas, Protocolos y APIs varias, Buses y Drivers.... y algo que nos habremos dejado.

Manual de "como hacer mi S.O. en 100 pasos y no morir en el intento" no conozco ninguno.... en su dia algo de teoria me empolle.. e incluso me lance a hacer un kernel y nunca lo acabe (empresa que acabo con toneladas de cafe y paciencia, pero aprendes mucho).

Tendras que crearte tu kernel ( cargador de arranque, gestor de procesos, hilos y memoria, administrador de buses y drivers, y muchas mas cosas que sin parar a pensar o buscar en google no se me ocurren). Y luego ya iras agregandole capas por encima.

Echale un ojo a los chicos de BonaFide OS Development, puedes sacar buenas ideas de ellos.

cpu2

#11
Para que quieres crear un S.O. desde cero, si tienes sistemas como GNU/Linux ho los BSD que son de codigo abierto. Simplemente si quieres cambiar algo modificas el codigo y ya esta.
Pero eso de hacer un S.O. desde cero lo veo una tonteria, ha no ser que sea algo como linux 0.01 aun que igualmente me parece una tonteria, ho eres un troll?

Un saludo.

Alexperto

Hombre tambien puede ser a partir de linux ...
Si me explicas un poco de como hacerlo a partir de linux me harias un favor.

Juan.

Mirate Luxur, es algo como lo que planteas y es de código libre, por lo que podrás ver como funciona

Oblivi0n

#14
Como me ha hecho gracia tu hazaña te voy a dar una lista de libros que te puede servir para llegar a hacer, algún día, un sistema operativo cutre.


http://www.amazon.co.uk/Computer-Architecture-Quantitative-Approach-Kaufmann/dp/012383872X/ref=sr_1_1?s=books&ie=UTF8&qid=1377612404&sr=1-1&keywords=computer+architecture

http://www.amazon.co.uk/Art-Computer-Programming-Volumes-1-4a/dp/0321751043/ref=sr_1_1?s=books&ie=UTF8&qid=1377612418&sr=1-1&keywords=the+art+of+computer+programming

http://www.amazon.co.uk/Operating-Systems-Internals-Design-Principles/dp/0273751506/ref=sr_1_1?s=books&ie=UTF8&qid=1377612468&sr=1-1&keywords=stallings

http://www.amazon.co.uk/Compilers-Principles-Techniques-Alfred-Aho/dp/0201100886/ref=sr_1_2?s=books&ie=UTF8&qid=1377612481&sr=1-2&keywords=compilers+principles+techniques+and+tools

http://www.amazon.co.uk/The-Programming-Language-2nd-Edition/dp/0131103628/ref=sr_1_1?ie=UTF8&qid=1377612494&sr=8-1&keywords=the+c+language

http://www.amazon.co.uk/Introduction-Assembly-Language-Computer-Architecture/dp/0763772232/ref=sr_1_7?s=books&ie=UTF8&qid=1377612501&sr=1-7&keywords=assembler

http://www.amazon.co.uk/Further-Electrical-Electronic-Principles-Robertson/dp/0750687479/ref=sr_1_4?s=books&ie=UTF8&qid=1377612552&sr=1-4&keywords=principles+of+electronics

http://www.amazon.co.uk/Structures-Algorithms-Addison-Wesley-Computer-Information/dp/0201000237/ref=sr_1_1?ie=UTF8&qid=1377612897&sr=8-1&keywords=data+structures+and+algorithms

http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612/ref=sr_1_1?s=books&ie=UTF8&qid=1377613004&sr=1-1&keywords=design+patterns

Y, para entender los anteriores libros, primero deberías de leer:

http://www.amazon.co.uk/Vector-Calculus-Jerrold-E-Marsden/dp/0716724324/ref=sr_1_1?s=books&ie=UTF8&qid=1377612628&sr=1-1&keywords=calculus+tromba

http://www.amazon.co.uk/Calculus-International-Metric-James-Stewart/dp/0538498846/ref=sr_1_8?s=books&ie=UTF8&qid=1377612635&sr=1-8&keywords=calculus

http://www.amazon.co.uk/Introductory-Linear-Algebra-Application-Oriented-Course/dp/0131277731/ref=sr_1_3?s=books&ie=UTF8&qid=1377612664&sr=1-3&keywords=linear+algebra+kolman

http://www.amazon.co.uk/Statistics-Nutshell-OReilly-Sarah-Boslaugh/dp/1449316824/ref=sr_1_4?s=books&ie=UTF8&qid=1377612717&sr=1-4&keywords=statistics

http://www.amazon.co.uk/University-Physics-Modern-Mastering-International/dp/0321204697/ref=sr_1_2?s=books&ie=UTF8&qid=1377612744&sr=1-2&keywords=university+physics

http://www.amazon.co.uk/Discrete-Mathematics-Norman-L-Biggs/dp/0198507178/ref=sr_1_1?s=books&ie=UTF8&qid=1377613276&sr=1-1&keywords=discrete+mathematics

http://www.amazon.co.uk/Introduction-Graph-Theory-Advanced-Mathematics/dp/0486678709/ref=sr_1_1?s=books&ie=UTF8&qid=1377613315&sr=1-1&keywords=graph+theory


Ala!, a disfrutar! , tienes unos 4 años por delante solo para leerte los libros  :laugh:

cpu2

Cita de: Alexperto en 27 Agosto 2013, 15:46 PM
Hombre tambien puede ser a partir de linux ...
Si me explicas un poco de como hacerlo a partir de linux me harias un favor.

No me entendiste, porque no descargas el source del kernel de algun BSD como puede ser FreeBSD, y lo miras, linux no te lo recomiendo, el kernel de los BSD es muchisimo mas limpio.

ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/9.1-RELEASE/

Que es un reto, reto estupido mas bien, no pretendo ofenderte. Luego aparte del kernel esta la base que son los binarios tipicos como puede ser cat, ls, ifconfig, eso tambien pretendes hacerlo tu?

Un saludo.

Hacksturcon

La mejor respuesta la de obivion. Hasta ha dedicado tiempo a buscarle libros xD.

Nah, en serio... miratelo partiendo de un nucleo linux. Pej Archlinux es buena forma de empezar. Hay mil y una maneras, desde crearte una distro partiendo de otra ya existente (Ubuntu tunning, pej). Que mas o menos seria instalar la distro, configurarla al gusto e instalarle el soft que quieras, y a partir de ella crear un LiveCD que luego instalaras en el PC (Hay soft muy sencillito para ello).

O puedes hacertelo mas puñetero desde 0, con linux from scratch. Ahi ya es ir montandote todo tu con las guias. Lento y tedioso, pero aprendes mucho.

http://www.linuxfromscratch.org/

http://www.linuxfromscratch.org/lfs/downloads/6.8/LFS-BOOK-6.8.pdf

Debci

Buenas compañero, en primer lugar desearte toda la suerte del mundo con este proyecto y en segundo, dejarte el libro con el que yo me inicié:

http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf

Está en inglés pero explicado desde 0 (16 bit real mode, salto a 32...).

Le faltan cosas por añadir pero ahí puedes pelearlas tú.

Un saludo!

imoen

Hola

Bueno veamos:
1) que animos te dan ehh

aprende un poco arquitectura de ordenadores es decir como funciona el hardware
aprende un lenguaje de programacion C o asm, son los mas ideales pare lo que quieres
despues ponte a leer por aki

;http://wiki.osdev.org/Expanded_Main_Page

bs imoen
Medion Akoya p6624
i-3 370
8 gigas DDR 3 RAM //750 hd 5400
gforce gt425 optimus XDD
Esta es mi casa, mi pueblo , o lo que queda de el aun asi lucharemos ... POR BENALIA....!!

srta imoen