Hermot vievä tehtävä

Mielipuoli koodaaja

Tässä kasa kysymyksiä jotka ovat aiheuttaneet huolta ja murhetta ja turhaa kirousten tulvaa jo tunnin ajan... Koskevat siis perus C-kieltä... olen merkinnyt ne kohdat X:llä jotka uskon oikeiksi... mitä mieltä olette te?

X 1.The memory consists of bits. Four bits form a nibble, 8 bits a byte, 16 bits form a word.

X 2.In the simplified model, computer reads one instruction at a time and then executes it. After the instruction is executed, the computer reads the next instruction.

3.Code and data are located in different memories

X 4.Code and data are located in the same memory

5.The computer has a will of its own, and it wants me to suffer.

X 6.The computer memory consists of 1's and 0's that are called bits

X 7.A program in memory is represented by machine-language instructions. All C commands have an equivalent machine-language instruction

8.In the simplified model, the computer processor can do many things at the same time

9.Little gnomes inside the computer make the computer work!

X 10.A program in memory is represented by machine-language instructions. The C compiler compiles each C command into a number of machine-language instructions that perform the action determined by the C command.

11.The memory consists of bits. 16 bits form a byte, 8 bits form a word.

12.In the simplified model, the computer processor cannot do many things at the same time, but it or the operating system can change between tasks to give an impression that it does many things at the same time

13.Writing in memory is an Always-Safe-operation that cannot write over other data or code

X 14.A programming error can cause unrelated important data or code to be overwritten when writing in memory

6

759

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ERNESTI 98

      1. riippuu kääntäjästä, arkkitehtuurista, sovituista "säännöistä", false

      2. mikä ihmeen yksinkertaistettu malli? kykeneekö tietokone moniprosessointiin? minkä seuraavan käskyn? Saman prosessin sisältä vai seuraavalta prosessilta? false jos tukee mp:tä, false jos tarkoitetaan että käsky on samassa prosessissa (aikaviipale on voitu antaa toiselle)

      3. missä ihmeen eri muisteissa? mikä ihmeen koodi? monekielinen koodi? tietysti suoritettava koodi ja muuttujat jne ovat eri "muistiosoitteissa". muistiosoitteet voivat olla fyysisesti eri muisteissa. true

      4. kts. edellinen

      5. true eikä tarvitse edes perustella

      6. true

      7. true

      8. mikä tämä yksinkertaistettu malli luulee olevansa?

      9. gnome on mainio työpöytäympäristö linuxille mutta ei se sentään koko tietokonetta pyöritä

      10. true

      11. sana voi olla vain 8 bittiä ja tavu voi olla jopa 12 bittiä. en ole törmännyt ikinä 16 bitin tavuun.

      12. jos oikein ymmärsin yksinkertaistetun mallin niin tämä on true. scheduler jakaa aikaviipaleita prosesseille joka saa vaikuttamaan että prosessit suoritetaan rinnakkain.

      13. "always" -> false, käyttöjärjestelmä huolehtii tästä: segmentation fault

      14. ohjelmointivirhe missä? käyttöjärjestelmässä? kääntäjässä? ajettavassa ohjelmassa? mihinkä liittymätön tärkeä data? onko data ohjelman omaa dataa vai ei?

      • ...

        1 - ilman tuota nelibittistä 'nibble'-termiä väittämä olisi ok.

        2 - simplified model on mitä ilmeisimmin yhden prosessorin järjestelmä

        7 - ei ole tosi väittämä. c-komennoille ei löydy niitä vastaavia assembly-komentoja. Kymppiväittämä on oikea versio.

        11 - byte: 8 bittiä, word 16 bittiä (eli väärin)


      • Ernesti 98
        ... kirjoitti:

        1 - ilman tuota nelibittistä 'nibble'-termiä väittämä olisi ok.

        2 - simplified model on mitä ilmeisimmin yhden prosessorin järjestelmä

        7 - ei ole tosi väittämä. c-komennoille ei löydy niitä vastaavia assembly-komentoja. Kymppiväittämä on oikea versio.

        11 - byte: 8 bittiä, word 16 bittiä (eli väärin)

        "1 - ilman tuota nelibittistä 'nibble'-termiä väittämä olisi ok. "
        Mihin perustat tämän? Tavu ja sana eivät ole vakiomittaisia jokaisessa arkkitehtuurissa. Nibble on puolet tavusta.

        "7 - ei ole tosi väittämä. c-komennoille ei löydy niitä vastaavia assembly-komentoja. Kymppiväittämä on oikea versio. "
        Ahaa, eli C-kielinen komento suoritetaan prosessorissa C-kielisenä? puhhuh...


      • ...
        Ernesti 98 kirjoitti:

        "1 - ilman tuota nelibittistä 'nibble'-termiä väittämä olisi ok. "
        Mihin perustat tämän? Tavu ja sana eivät ole vakiomittaisia jokaisessa arkkitehtuurissa. Nibble on puolet tavusta.

        "7 - ei ole tosi väittämä. c-komennoille ei löydy niitä vastaavia assembly-komentoja. Kymppiväittämä on oikea versio. "
        Ahaa, eli C-kielinen komento suoritetaan prosessorissa C-kielisenä? puhhuh...

        Nibble-termi ei ole tullut koskaan vastaan, näyttäisi olevan oikea. Vaikutti äkkisiltään hyvinkin keksityltä termiltä.

        "7 - ei ole tosi väittämä. c-komennoille ei löydy niitä vastaavia assembly-komentoja. Kymppiväittämä on oikea versio. "
        Ahaa, eli C-kielinen komento suoritetaan prosessorissa C-kielisenä? puhhuh...

        Et tainnut ymmärtää, väänetään siis rautalangasta : mikä on mielestäs esim. for -luuppia vastaava komento assemblyssä? while:ä vastaava? switch:iä? Ei tainnut löytyä montaakaan -> väittämä väärä

        Kymppikohta selvittää kyseisen asian oikein, 'The C compiler compiles each C command into a number of machine-language instructions that perform the action determined by the C command. '

        Mihin muuten itse perustat tuon väittämäsi '11. sana voi olla vain 8 bittiä'


    • joku

      Muuttaisin vastauksiasi seuraavasti:

      Kohdan 7 merkitsisin epätodeksi, sillä konekieli ja C eivät ole ekvivalentteja vaan yhtä C kielen käskyä vastaa useampi konekielen käsky.

      Kohdan 12 merkitsisin todeksi, eli prosessori voi prosessoida vain yhtä tehtävää kerrallaan. Käyttöjärjestelmä hoitaa varsinaisen moniajon, eli päättää siitä mitä tehtävää kulloinkin prosessoidaan ja kuinka kauan. (Vaikka tietokoneessa voi olla käynnissä useampi sovellus yhtä aikaa voi prosessori kuitenkin prosessoida vain yhtä kerrallaan).

    • Mika0800

      1. OK
      nibble=nybble = 4 bittiä
      byte=tavu=8 bittiä (*)
      word=sana=16 bittiä (*)

      (*) = pätee 100% PC -tietokoneista ja yli 99% muista tietokoneista. On tosiaan olemassa koneita, joissa tavu 8 bittiä ja/tai sana 16 bittiä, mutta nykyaikana äärimmäisen harvinaista. Kyseiset koneet eivät voi olla PC -yhteensopivia, eikä niillä ole juuri käytännön merkitystä.

      2. OK
      Yksinkertaistettu malli ilmeisesti tarkoittaa sitä, ettei tässä asioiden yksinkertaistamiseksi oteta huomioon nykyprosessorien tapaa suorittaa käskyjä spekulatiivisesti, välimuistittaa käskyjä ja niiden tuloksia jne. muitakin, prosessorin nopeuttamiseen tähtääviä ratkaisuja, vaan asiat käsitellään ekvivalenttisena yksinkertaisimmalle mahdolliselle ratkaisulle.

      3. PC-tietokoneissa väärin. Mutta on olemassa prosessoreita,joilla on erillinen data- ja ohjelmamuisti. PC:ssä ei varsinaisesti ole,mutta selectoreille voidaan määritellä luku/kirjoitus/suoritusoikeudet. Periaatteessa lukua ja suoritusta ei voitaisi erottaa mutta virtuaalimuistin hallintatoimenpiteillä tämäkin voidaan kättöjärjestelmän avulla saada aikaiseksi, se on eräänlainen illuusio - siitä toki maksetaan suorituskyvyn heikentymisenä.

      4. OK (ks. 3)

      5. väärin

      6. alkeistasolla OK, tosin muistiosoitteet osoittavat (PC-koneissa) tavuja.

      7. väärin (yksi C tai Pascal -käsky voi edellyttää useita asm -käskyjä, korkean tason rakenteet: while,for jne. -> myös käskyjen järjestys eroaa)

      8. väärin

      9. väärin (eikös gnome ole KDE:lle vaihtoehtoinen GUI-käyttöliittymä linuxiin ?)

      10. OK (vastaväittäjällä ilmeisesti heikko engl. taito ?)

      11. väärin

      12. OK (esim. windowsissa ja linuxissa on säikeitä ja prosesseja, mutta vaikkei MS-DOSissa tuollaisia olekaan, moni DOS -ohjelmakin silti keskeytysten avulla hoitaa esim sarjaportin tietoliikenteen tausta-ajona, joka tapahtuu näennäisesti yhtäaikaa varsinaisen ohjelman kanssa - tämäkin on sarjaporttikeskeytysten luoma illuusio)

      13. Väärin (olisi oikein, jos ohjelmoija olisi 100% täydellinen, eli ei koskaan tekisi sellaisia virheitä, jotka voivat johtaa muun datan/koodin ylikirjoittamiseen)

      14. oikein. Varsinkin C-kielessä varomaton osoitinmuuttujien kösittely ja/tai pituutta tarkistamattomat merkkijono-operaatiot ovat vaarallisia.

      C-koodaajille (tai heidän esimiehilleen) ei ilmeisesti kelpaa helpompi Delphin tapa käsitellä merkkijonoja, jossa merkkijonoilla on "oma äly" siinä mielessä, että esim lause:

      St1 := St2 St3;

      liittää merkkijonot St2 ja St3 peräkkäin yhteen (alkup. St2 ja St3 arvot *eivät muutu*) ja sijoittaa tuloksen merkkijonoon St1; tässä merkkijonon St1 uudelleenallokointi oikean pituiseksi ja mahd. vanhan St1:n muistisisällön vapautus tapahtuvat automaattisesti oikein, eli riskiä ylivuodosta vääriä muistiosoitteita ylikirjoittamaan ei em. Delphi -koodi aiheuta.

      em. Delphi -koodi toimii oikein, kun

      length(St1)

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. En usko et meistä tulee jotain

      Se ei kuitenkaan estä toivomasta et tulisi. Toivon et voitas suudella ja se sais asioita loksahtamaan paikoilleen. Jutel
      Ikävä
      10
      2710
    2. Kuvaile itseäsi

      Kaivatullesi, niin että hän sinut tunnistaa.
      Ikävä
      94
      2001
    3. Eini paljastaa nuorekkuutensa salaisuuden - Tämä nousee framille: "Se on pakko, että jaksaa!"

      Discokuningatar Eini on täyttänyt upeat 64 vuotta. Lavoilla ja keikoilla nähdään entistä vapautuneempi artisti, joka ei
      Suomalaiset julkkikset
      40
      1518
    4. Huomenta keskipäivää

      Kivaa päivää mukaville ja söpösille. 🐺🫅❤️☕☀️
      Ikävä
      260
      1398
    5. Yli puolella maahanmuuttajalapsista ei ole tietoja ja taitoja, joilla selviää yhteiskunnassa

      Miksi Suomeen otetaan väkeä jolla on älyvajetta? https://www.hs.fi/politiikka/art-2000010730220.html
      Maailman menoa
      274
      1059
    6. Oletko koskaan katunut kun

      elämäsi tilaisuus jäi käyttämättä? 💔
      Ikävä
      69
      969
    7. Olen J-mies

      Jos kerrot sukunimeni alkukirjaimen, ja asuinpaikkakuntani. Lupaan ottaa yhteyttä sinuun.
      Ikävä
      47
      891
    8. Sinusta näkee että

      Kaipaat paljon.
      Ikävä
      55
      874
    9. Ei sitten, ei olla enää

      Missään tekemisissä. Unohdetaan kaikki myös se että tunsimme. Tätä halusit tämän saat. J miehelle. Rakkaudella vaalea na
      Ikävä
      77
      870
    10. Haluaisin ottaa sinut syleilyyni mies

      Olet suloinen...
      Ikävä
      44
      785
    Aihe