Beiträge von Bernd

    Die Funktion makezero ist mit Rueckgabetyp void deklariert: d.h. Bei einem Return, darfst du auch nichts zurueckgeben:

    Dafuer ist die main-Funktion mit dem Rueckgabetyp int definiert: da solltest du auf jeden Fall etwas returnen: sollte kein Fehler auftreten EXIT_SUCESS (0, Makro in stdlib.h) bzw. einen Integer ungleich 0 (z.B. EXIT_FAILURE, ebenfalls in stdlib.h) im Fehlerfall.

    Nur weil ich es sehe (Fuer Bib.Fkt verwende ich die 'man-page Syntax' [1]: d.h. Funktionsname und in Klammer welche Section der man-pages; klarerweise ist das dann nur auf Linux/Unix Systeme so auffindbar):
    - nichts zurueckzugeben (insb. im Fehlerfall) bei makezero ist natuerlich nicht optimal: Du koenntest noch den Fehlercode abfragen (in der globalen Variable errno) od. diesen gleich formatiert mit perror(3) ausgeben und per exit(3) terminieren.
    - Klammerung von der Variable v hier nicht notwendig: u[i] = malloc((v)*sizeof(int));
    - du solltest in sauberen Programmen auch noch jeden per malloc angeforderten Speicher wiederum freigeben, wenn du ihn nicht mehr brauchst (jedenfalls noch vor der Terminierung).
    - ad '//oder (int*)malloc(v*sizeof(int))': Casten brauchst du in C nicht, da malloc void* zurueckgibt
    - Zur Initalisierung der einzelnen Int-Arrays (Speicher der vom 2. malloc kommt) koenntest du auch gleich in der ersten For-Schleife in makezero memset(3) (in string.h) verwenden und auf die geschachtelte For-Schleife am Schluss verzichten
    - 'sprechende' Variablennamen verwenden - auch in makezero ;) und einheitliche Formatierung
    - kein scanf verwenden, sondern fgets u. sscanf [2] [3]


    Ich kann die LVA 'Betriebssysteme UE' empfehlen, falls du rasch in C hineinkommen willst bzw. Programmierpraxis suchst.

    [1] http://en.wikipedia.org/wiki/Man_page
    [2] http://www.giannistsakiris.com/index.php/2008…avoid-using-it/
    [3] http://ti.tuwien.ac.at/rts/teaching/c…ing/Richtlinien

    Habe OS/161 mal ausprobiert.. Danke fuer den Vorschlag.

    Ich hatte bei der Toolchain, insb. den Binutils, von OS/161 kurze Compile-Troubles mit GCC 4.5. Da wurden per Default noch einige zusaetzliche Warn-Schalter aktiviert bei -Wall und da -Werror auch noch in den CFLAGS von binutils enthalten war, konnte es nicht builden. Fuegt man '--disable-werror' in Zeile 155 als zusaetzliche Option von configure im toolbuild.sh Script vom cs161-binutils-1.5 Paket an, klappt der Build.

    Entpacken und Installieren von
    sys161-1.14.tar.gz
    cs161-binutils-1.5.tgz
    cs161-gcc-1.5.tgz
    os161-1.11.tar.gz

    war damit problemlos (per Default wird alles im Home-Dir unter ~/cs161 installiert). Die beiden letzten 'Pakete' brauchten natuerlich Target-Binutils bzw. GCC im Pfad.

    Code
    export PATH=$PATH:~/cs161/bin

    Danach:
    1) Kernel Compilieren

    Code
    cd /[...]/os161-1.11/kern/conf
    ./config ASST0
    cd ../compile/ASST0
    make depend
    make
    make install


    2) Booten

    Code
    cd ~/cs161/root
    cp sys161.conf.sample sys161.conf # nur einmal notwendig, kann nach Bedarf angepasst werden
    ./sys161 kernel-ASST0


    4) Result

    Mir gefaellts bisher (auch was ich vom Source gesehen habe).

    Zitat

    ich weiß nicht ,ob ich jetzt freigelassene also nicht zuordnete 20 GB vor der Installation im Win 7 zuordnen muss ?


    Der Ubuntu Installer kann (und sollte) das machen -- fuer gewoehnlich ist auch noch eine Swap Partition sinnvoll .. aber da sind dann 20GB schon relativ knapp, z.B. wenn du 2 GB Ram hast, wird zumindest eine 2GB Swap Partition angelegt.

    Du musst mMn nichts Spezielles bei der Ubuntu Installation beachten.. natuerlich bei der Auswahl der Partition nicht die Win7 nehmen (wo du sowieso gewarnt werden solltest, wenn du es wirklich machst), sondern den nicht zugeordneten Festplattenspeicher. Win7 wird mit hoher wahrscheinlichkeit auf der ersten logischen Partition sein - d.h. z.B. hda1 sda1 sdb1 sdc1 (der einser ist wichtig). Deine Linuxinstallation ist dann hinten dran ab der zweiten.

    Der gesamte Quellcode des Implementierungsteils (z.B. bei meiner DA mehrere 10 000 Zeilen Code) gehoert mMn nicht in die wissenschaftliche Arbeit. Die "Knackpunkte" der (eigens entwickelten und) verwendeten Algorithmen sollten beschrieben und abgebildet werden. Das API - sofern es eines gibt - kann ruhig in einem Anhang aufgenommen werden, insb. wenn die DA als Basis fuer zukuenftige Arbeiten dienen soll/kann.
    Weiters: es gibt viele Diplomarbeiten/Disseratationen online; bzw. sollten sich alle von deinem "Heimats"institut/Arbeitsbereich in der Institutsbibliothek befinden: ein paar anschauen bzw. vll zu deinem Thema passende Arbeiten lesen (auch fuer Zitate/Referenzen) hilft sicher, um zu einer guten Struktur zu finden.
    Aber wie du schon schreibst: der Betreuer ist genau fuer solche Fragen da!

    Ahja, ich nehm bei lstlisting gern eine kleinere Schriftart - z.B. \begin{lstlisting}[basicstyle=\ttfamily\footnotesize] ...

    Damit es halbwegs nach etwas beim Programmaufruf aussieht wuerde ich noch ein:
    printf("\n");
    nach Wolfibolfis Zeile einfuegen ;)

    btw.. in C++ koennte man das "eleganter" so schreiben:

    Code
    #include <iostream>
    using namespace std;
    
    
    int main(int argc, char** argv)
    {
     int a = 12, b = 14;
     cout << " a+b=" << (a+b) << endl;
     return 0;
    }

    Falls es fad wird immer das Progamm neu zu compilen, wenn du 2 andere Zahlen addieren willst:


    (Nach Programmstart erste (Dezimal)Zahl eingeben, Leerzeichen und 2. (Dezimal)Zahl eingeben + Enter)

    --> Generell wirst aber wahrscheinlich rascher und direkter weiterkommen wenn du - wie schon hier gepostet - dir ein gutes Buch (Amazon + Reviews) besorgst, dir Nachhilfe geben laesst (siehe entsprechendes Unterforum) od. gleich einen Kurs besuchst: auf der TU Wien gibts ab kommenden Semester die 2 LVAs:
    * Grundlagen der Programmkonstruktion
    * Programmierpraxis
    Das wird zwar wahrscheinlich an Java (eprog?) angelehnt sein, aber davon kommst du leicht auf C/C++.

    Wieso sollten die diese Daten so lange aufheben? Die zustaendigen Stellen koennten recht haben: aufgrund des Datenschutzes ist es meines Wissens nach nur erlaubt personenbezogene Daten (insb. Verbindungsdaten) fuer die Rechnungslegung od. besondere Dienstleistungen (Einzelgespraechsnachweis - ueblich sind da ein Zeitraum von 80 Tagen) zu speichern.
    Du kannst uebrigens mit einem formlosen Schreiben das Unternehmen dazu auffordern dir alle seine gesammelten personenbezogenen Daten, die dich selbst betreffen, herauszugeben: DSG2000, Paragraph 26 [1][2].

    [1] http://www2.argedaten.at/php/cms_monito…ATEN&s=25302iob
    [2] http://www.argedaten.at/recht/dsg226__.htm

    Zitat

    die steig ein!-cd, die in oesterreich ja offenbar weit verbreitet ist, funktioniert unter os x aber nicht, deswegen wollte ich fragen, ob wer von euch ein pendant dazu kennt, bzw. ob mir jemand vielleicht seine mehr oder minder neue version von steig ein! borgen kann, die ich dann am win-rechner von meiner mama oder so laufen lasse..


    Ist die so teuer? Wenn du sowieso einen Windows-Rechner zur Verfuegung hast, kannst du dir ja unbesorgt eine Lizenz anschaffen.
    Neben Online-"Alternativen" und Emulation (Wine, ...) gibt es noch Bootcamp (Windows kann native auf deinem Intel Mac neben OSX installiert werden) und VMs (Vmware Fusion). Letztgenannte Moeglichkeiten benoetigen eine Windows-Lizenz (MSDNAA, falls du ein Informatikstudium an der TU Wien studierst). Bootcamp mit Native-Windows [1] sollte auf jeden Fall mit der CD funktionieren. Die anderen Moeglichkeiten (Emulation, VMware) koennten am event. vorhandenen Kopier/Aktivierungsschutz scheitern.

    [1] http://support.apple.com/kb/ht1461

    Standardmaessig sollte ein Mail verschickt werden, wenn jemand trotzdem hier antworten sollte (auto subscription)...

    Zitat

    Bezahlung: Wir sind keine Millionäre und hoffen auf eine längerfristige Zusammenarbeit [...] denken wir an einen Studenten [...]


    Zu denken, Studenten sind finanziell versorgt, weil sie ja studieren, ist zwar wahrscheinlich grossteils richtig, aber mich wuerde wundern, wenn sich tatsaechlich irgend jemand meldet:
    Aussicht auf unter/unbezahlte Arbeit und keine Infos ueber das konkrete (spannende) Projekt. Naja, viel Glueck.

    Zitat

    Es geht nicht gleich mit den Poker-Fragen los, aber sie kommen wirklich, ich versprechs!


    Ja, ab Seite 7 od. so kommen Fragen zum Pokerspielen.

    Zitat

    Wir prüfen ca. 20 verschiedene Hypothesen mit diesem einen Fragebogen


    Danke fuer die Erklaerung... ist eigentlich schluessig, wobei mir auch nie klar war, wieso eine Befragung zu einem Thema oft (normalerweise nur wenige) Fragen enthaelt, die augenscheinlich nichts mit dem Thema zu tun haben.

    Ich hab leider nur bis zur Seite 7 durchgehalten, wobei ich fast nicht ueber Seite 4 hinausgekommen bin: die hat schon eine etwas 'negative' Suggerierung:

    Am Ende fehlt nur noch die Instantauswertung, wie nahe man schon dem Selbstmord ist :/ :)

    Zitat

    soo lange sitzt man wirklich nicht dran.


    Naja, ihr hab sicher laenger am Fragebogen gearbeitet als jemand der ihn ausfuellt... aber zumindest mir ist er inhaltlich zu 'umfassend'.

    Zitat

    hast du noch das problem von proprietaeren treibern die die hersteller nicht raus ruecken


    Das ist nicht 100% korrekt: wir haben die Binaries. Da das nicht so viele sind werden die auch gern Disassembled und begutachtet bzw. deren Verhalten an den Schnittstellen beobachtet. Was wir natuerlich wirklich nicht haben ist eine Sicht in die HW (versteckte Bootroms, Hypervisor, ..) aber du hast schon recht: irgendwo muss man beginnen zu vertrauen.

    Meiner Ueberzeugung nach sind das trotzdem Aepfel und Birnen: Vertrauen gegenueber einem Hersteller (der bei Schadcode und illegaler Ausspaehung zur Verantwortung gezogen werden kann) vs. gegenueber mMn intransparent/schlampig organisierten "Open-Source" Projekten.

    Zitat

    cyanogen hat sicher nix drin


    Ah - da ist eh sicher nix drin? dann kann ich das ja unbesorgt installieren :)

    Nein, schau - ich habe auf meinem Telefon "vertrauliche Daten" (Passwoerter, Emails, meine aktuelle Position, ...), die ich zwar gern einer groesseren Linux Distribution anvertraue, ungern einem Hersteller and sicherlich nicht einer mir voellig unbekannten Einzelperson od. kleinen Gruppe.
    Es mag sein, dass bestimmte Mods einwandfreie Open Source Projekte sind und eh ein gewisses Codereview stattfindet. Von meiner Warte aus, ist die Szene aber extrem undurchsichtig...
    z.B. hab ich mir mal dieses CyanogenMod angeschaut und versucht es von Source zu builden: Dabei ist mir aufgefallen, dass sich viele "prebuilt" Binaries (neben proprietaeren, die doch eigentlich komplett von meinem Device kommen sollten?) bereits in den "Quellen" verstecken. Das mag zwar Vorteile (? Chicken Egg Probleme haette ich da jetzt keine gesehen) beim Builden eines Images haben, aber hilft der Transparenz ueberhaupt nicht.

    Zitat

    aber es gibt so unglaublich viele...


    Ich stehe vor einem aehnlichen Problem... noch dazu macht mir eine Vielzahl davon keinen sehr vertrauenswuerdigen Eindruck: es ist viel zu einfach "versteckt" Schadsoftware zu integrieren und - auch bei keiner boeser Absicht - die Hardware ausserhalb der Spezifikation zu betreiben od. auch nur Sicherheitsluecken aufzureissen.
    Alternativ kann man nur von den Android Quellen und den Herstellerquellen versuchen sich selbst ein ROM zu basteln... aber wer hat schon die Zeit dafuer. Wahrscheinlich ist es wirklich am besten vorerst beim (gerooteten) Hersteller-ROM zu bleiben.

    Zitat


    Wie läuft das genau mit dem Plattentausch? Festplatte raus (geht das so einfach ?), SSD rein und wieder zuschrauben? Verliert man da nicht gleich die Garantie für das Gerät?


    Koennte von Hersteller zu Hersteller unterschiedlich sein: z.B. bei meinem Macbook sind Festplatte und RAM als User wartbar/austauschbar ohne Garantieverlust. Bei Sony Vaios andererseits geht nur der RAM-Tausch. Ich empfehle das einfach vorab abzuklaeren (z.B. in den oft online verfuegbaren Usermanuals etc.)
    Ansonsten ist der Tausch einer IDE Platte gegen eine SSD gleicher physikalischer Groesse (z.b. 2.5") und gleichem Interface (z.B. SATA2) kein Problem.