3 din 3
3
Programatori?
  [ Ignoră ]   [ # 31 ]
Avatar
RankRankRankRank
Sr. Member
Din: Iasi
Macuser din: 18.10.06
Dragos Iorgulescu - 23 Mai 2008 05:43 PM

Acum cateva luni bune vazusem o prezentare undeva pe la Microsoft Research despre Singularity. Un OS scris in C#, dar care avea codul low-level facut in C si ASM. MI-a suras ideea si m-am apucat sa pun pe hartie niste idei.
Cautand multe informatii pe net si citind pe os-dev.org, am auzit de COSMOS project. Pe atunci, aveau up`n`running doar convertorul IL->ASM, cu destul de putine instructiuni si un soi de shell (erau in teste). IN principiu, daca reusea sa boot-eze ( in masina virtuala) sistemul afisa un mesaj “Booted” dupa care se oprea.
Devenind curios, m-am apucat sa-l studiez (in cod). L-am inteles si am inteles cum este structurat.
Initial doream sa fac totul de la zero, dar mi-am dat seama ca nu am cunostintele si nici timpul necesare. Vazand ca ce au ei este cam ceea ce imi lipsea mie si observand ca ei merg catre un sistem foarte Linux-like (iar ideile noastre sunt cam diferite), am facut un soi de forking. Mai departe ne-am apucat sa construim noi. Avem cateva schite si scheme si idei pe foi, dar zilele astea le vom concretiza si le vom scrie undeva, ca sa stim exact pe ce mergem.
Problema este ca e foarte mult de munca si pentru un singur coder este cam greu, mai ales ca nu imi pot dedica foarte mult timp pentru el.
Ca si gandire, se vrea a fi un sistem care este compatibil cu standardele in folosinta dar are o alta abordare vis-a-vis de interactiunea user-masina.
Este mult de spus, vom scrie concret ce si cum in cateva zile.

Exista doritori/curiosi? smile

Eu sunt curios și parcă m-ar roade și o dorință insă nu prea am timp de proiectele mele…
Ai luat în calcul tot ceea ce ține de cozile de așteptare, optimizare instrucțiuni, etc?

 Semnătură 

Profil
 
  [ Ignoră ]   [ # 32 ]
Avatar
RankRank
Jr. Member
Din: Bucuresti
Macuser din: 15.11.06

Nu intocmai. Pentru moment ma chinui sa ii aduc functionalitati. Are si un debugger.
Pe langa functionalitati, ceva stabilitate si cateva lucruri de baza ce nu-s implementate.

 Semnătură 

- Satira e o armă, nu? - Păi da, e. - Este… şi dumneata tragi!... - Nu trag. Cum o să trag?... - Cum nu tragi, dar ce faci? - Scriu… - Scrii… dar tragi… tragi, tragi, că de-aia e armă!... ” (Toma Caragiu - “Fabula”)

——
Momentan fara nici un Mac in posesie. Pana prin iulie-august, scriu in Wiki - sectiunea programare - folosindu-ma de altele wink.

Profil
 
  [ Ignoră ]   [ # 33 ]
Avatar
RankRankRank
Member
Din: Timisoara
Macuser din: 11.10.05
Dragos Iorgulescu - 23 Mai 2008 05:43 PM

Ca si gandire, se vrea a fi un sistem care este compatibil cu standardele in folosinta dar are o alta abordare vis-a-vis de interactiunea user-masina.

Curios as fi si eu, insa nu pentru partea de low-level OS, nu mai am timp de asa ceva. Sunt curios pe partea de interactiunea om-masina. Dar pentru asta nu-ti trebuia un kernel, puteai face ceva peste xlib de exemplu. Sau chiar si ceva in OpenGL ca si demo, pana se rafineaza in chestii concrete/utile.

 Semnătură 

This signature is intentionally left blank.

Profil
 
  [ Ignoră ]   [ # 34 ]
Avatar
RankRank
Jr. Member
Din: Bucuresti
Macuser din: 15.11.06

Nu am vrut sa fac mapping nici pentru inceput. Am dorit sa avem un kernel in care sa si putem umbla in cunostinta de cauza si sa nu fie deja masiv.
E bine daca exista oameni interesati de interactiunea om-masina. E mare nevoie pe langa inca cineva care sa ma ajute la low-level (pana se concretizeaza kernel-ul, sa ne putem concentra doar pe ce urmeaza).
Chiar acum lucrez nitel la el. Poate rafinez o versiune sa vedeti despre ce e vorba.

@fierarul - ai fi interesat sa te implici in etapele urmatoare?

P.S.: dupa ce vom concretia ideile saptamana aceasta undeva pe net, ii rog pe toti cei interesat sa isi dea cu parerea. Fiind la inceput, orice este acceptat ca idee si sugestie.

 Semnătură 

- Satira e o armă, nu? - Păi da, e. - Este… şi dumneata tragi!... - Nu trag. Cum o să trag?... - Cum nu tragi, dar ce faci? - Scriu… - Scrii… dar tragi… tragi, tragi, că de-aia e armă!... ” (Toma Caragiu - “Fabula”)

——
Momentan fara nici un Mac in posesie. Pana prin iulie-august, scriu in Wiki - sectiunea programare - folosindu-ma de altele wink.

Profil
 
  [ Ignoră ]   [ # 35 ]
RankRank
Jr. Member
Din: Timisoara
Macuser din: 15.10.07
Dragos Iorgulescu - 23 Mai 2008 05:43 PM

Acum cateva luni bune vazusem o prezentare undeva pe la Microsoft Research despre Singularity.

Asculta si http://www.se-radio.net/podcast/2008-03/episode-88-singularity-research-os-galen-hunt .

Profil
 
  [ Ignoră ]   [ # 36 ]
RankRank
Jr. Member
Din: a fost Iasi
Macuser din: 31.05.08

Salutare si aici,

Acum ceva timp mia venit o ideie de a face o aplicatie in Cocoa pt a automatiza/controla echipamentele audiovisuale (AMX) desi nu aveam deloc experienta in Xcode, am ajuns la un moment in care trebuie sa implementez un protocol TCP intre aplicatie shi controladorul de echipamente , trebuie sa deskid un socket (client) in aplicatia mea care sa trimita controladorului (socket serve)  comenzi pe un anumit port iar acesta sa ii raspuna pe acelash port (pentru a avea feedback in aplicatie).

Mai precis :

O aplicatie care sa aiba n butoane (on/off de exemplu) care in momentul cand apas butonul (on/off de exemplu) sa trimita o comanda controladorului sa o execute, controladorul la randul sau sa’mi spuna daca a executat acea comanda shi sai spuna butonului daca tre sa afisheze starea de OFF sau ON.

Are cineva ideie cum pot ace asta ?

Am gasit class-ele pentru protocolul de comunicatie TCP dar sincer sa fiu nu stiu cum sa le folosesc in aplicatia mea.

Merci!

Profil
 
  [ Ignoră ]   [ # 37 ]
Avatar
Rank
Newbie
Din: Bucuresti
Macuser din: 31.05.08

Sper ca am inteles:

1) Comunicatie controller-aplicatie

  - controller-ul e un modul kernel
    http://developer.apple.com/documentation/Darwin/Reference/KPI_Reference/kpi_socket/index.html
    http://developer.apple.com/documentation/Darwin/Reference/KPI_Reference/index.html
    (documentatia KPI de-acolo e incompleta, vezi-o pe cea din XCode)

    Nu am folosit asa ceva, presupun ca e ca-n user space (deschizi server in kernel, te conectezi cu API socketi BSD clasic din user-space).

  Eu as folosi I/O Kit, e un sample (poate wrapper peste socketi kernel ?)
      http://developer.apple.com/samplecode/SimpleUserClient/

  - controller-ul e un daemon
    N-as folosi direct BSD socketi (prea jos), nici Cocoa - NSSocketPort, as alege calea de mijloc: CoreFoundation, pentru care gasesti un sample foarte bun aici:
    http://developer.apple.com/samplecode/CFLocalServer/

  Acesta este cod C.

2) As separa comunicatia intr-un modul extern (dyld, static library) , care comenzi le-as apela din codul Cocoa (Objective C)
  Butoanele din IB (Interface Builder) le legi de cod prin IBAction.

PS Mesaj pe personala pentru adresa de email daca vrei sa vorbim mai mult
  Este a 4-a oara in vreo 24 de ore de folosinta cand crapa Safari de Windows, a depasit IE 7 cu 2 ani de folosinta.

 Semnătură 

“And if you gaze for long into an abyss, the abyss gazes also into you.” Friedrich Nietzsche

Profil
 
   
3 din 3
3