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

802

    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. Voiko normaali ihminen ryhtyä vasemmistolaiseksi?

      Tätä jäin pohdiskelemaan.
      Maailman menoa
      202
      4208
    2. SDP haluaa 40 000 nettomaahanmuuttajaa

      SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah
      Maailman menoa
      146
      3778
    3. Orpo: Velkajarrua vastustavaa puoluetta vaikea ajatella hallitukseen

      No Minja Koskelan kommunistipuolue jäi ulos tuosta. Kaikki eduskuntapuolueet vasemmistoliittoa lukuun ottamatta sopivat
      Maailman menoa
      84
      3132
    4. Hienoa! Eduskunta luopui käteisen käytöstä

      Nyt tuo sama muutos pitää saada myös muuhun yhteiskuntaan. Käteistähän ei tarvitse tänä päivänä enää kuin rikolliset.
      Maailman menoa
      43
      1579
    5. Ikävä sinua mies

      Vuosia kuluu, mutta tunteet ei ole hävinnyt. Tasoittuneet toki, kun ei olla nähty. Järki palannut päähän kuitenkin. Se i
      Ikävä
      19
      1418
    6. Sulla on avaimet ja keinot

      Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi
      Ikävä
      25
      1365
    7. Mikä tämä henkilö mahtaa touhuta Parkanossa

      Kamalaa https://www.ylasatakunta.fi/teksti/pirkanmaan-karajaoikeus-vangitsi-koiran-tappamisesta-epaillyn-6.68.127794.b58
      Parkano
      32
      1357
    8. Orpo loukkaantui fasismiin viittaavasta sanavalinnasta

      Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk
      Maailman menoa
      27
      1341
    9. Kiinnostaa - ei kiinnosta - kiinnostaapas

      Selittäkää hämmentyneelle miksi miehiä ei ikinä kiinnosta silloin, kun sitä olisi itsekin kiinnostunut? Sitten kun siirt
      Sinkut
      116
      1130
    10. Martina haluaa Marbellaan

      Martinan tekisi mieli ottaa lennot Marbellaan, jossa näkisisi kauniita ja hyväntuulisia ihmisiä. No sitten pitää matkust
      Kotimaiset julkkisjuorut
      215
      1053
    Aihe