Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
¿Por qué en C? | 19 comentarios (19 temáticos, editoriales, 0 ocultos)
Los libros no muerden :-) (none / 0) (#19)
por jorginius ("jorginius" en Google Mail) a las Thu Jul 29th, 2004 at 01:04:48 PM CET
(Información Usuario) http://www.rodriguezmoreno.com

Cuando escribia eso estaba pensando que en el caso del sistema de archivos la OO si tenia sentido [...] Pero se me ocurren dos cosas:

- ahora eso se hace con C mondo y lirondo y funciona, asi que no hace tanta falta, y alguna ventaja tendra...


Ahora está escrito en C, pero es orientado a objetos. La capa VFS de Linux es más o menos como la describes desde que se introdujo en la versión 2.0, y hay más ejemplos de POO en Linux.

- si se hace con OO, no se van a conformar con hacer esa jerarquia de clases. Harán un objeto [tal y cual que haga pascual y...]

Si quieres ver como se hace realmente, consulta el diseño de otros sistema donde la POO se haya considerado desde el principio. Por ejemplo NT, donde "todo" lo que maneja el kernel es o un objeto dispatcher o un objeto de control y donde la jerarquía de herencia se amplía capa a capa (la clase thread de usuario hereda de thread del kernel y así) o BeOS o QNX o cualquer sistema operativo moderno en realidad.

No sabia lo de la funcion esa, pero me pregunto eso se puede usar en la practica para cambiar EN VUELO la politica de planificacion de un proceso [...] ¿podria tener varias politicas funcionando al mismo tiempo?

Sí. Las tareas de tiempo compartido no se planifican igual que las tareas de tiempo real (blando) y puedes tener de ambos tipos (diferentes colas con diferentes políticas) en un sistema. Consulta las páginas man.

Lo que no puedes hacer en Linux es introducir nuevas políticas en caliente, a menos que añadieses soporte modular para planificadores de tareas. Debes escoger entre las que hay. En frío puedes parchear con varios planificadores alternativos bastante populares. Otros sistemas dan más opciones o incluso permiten planificadores en espacio de usuario.

PD2: A lo que me referia con lo de los modulos es que los modulos pueden estar escritos con cualquier cosa que te funcione porque al fin y al cabo, no son el kernel. Si cargas un modulo pesado escrito en Java compilado (es un ejemplo extremo) es cosa tuya.

Te equivocas: los módulos son núcleo. Cuando lo cargas, el código del módulo es insertado en alguna parte del espacio de direccionamiento del kernel y corre desde allí, en modo privilegiado y demás, exáctamente igual que lo hace el código que no es modular. Deberías repasar cómo funciona.

Desde luego no podrías programar ningún módulo en Java a menos que incluyeses de alguna forma la JVM dentro del kernel. Lo mismo si quieres usar una biblioteca de usuario como glib o pcre. No tienes más libertad para programarlos que la que tienes para escribir otro código del kernel.

Para que fuera como tu dices, Linux debería ser micronúcleo :-D

PD4: Parece que ultimamente en Libertonia hay comentarios...

Mejor que estudiar...

[ Padre ]


¿Por qué en C? | 19 comentarios (19 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda