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

767

    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. Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos

      Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä
      Maailman menoa
      91
      2910
    2. Pelotelkaa niin paljon kuin sielu sietää.

      Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda
      Maailman menoa
      299
      1686
    3. Mikä saa ihmisen tekemään tällaista?

      Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?
      Sinkut
      246
      1557
    4. Minkä merkkisellä

      Autolla kaivattusi ajaa? Mies jota kaipaan ajaa Mersulla.
      Ikävä
      87
      1391
    5. IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!

      Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel
      Maailman menoa
      402
      1384
    6. Nyt kun Pride on ohi 3.0

      Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että
      Luterilaisuus
      400
      1307
    7. Kiitos nainen

      Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik
      Tunteet
      2
      1089
    8. Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa

      Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat
      Suomalaiset julkkikset
      38
      1037
    9. Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?

      Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun
      Maailman menoa
      329
      874
    10. Miksi Purra-graffiti ei nyt olekkaan naisvihaa?

      "Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden
      Maailman menoa
      257
      855
    Aihe