Ali Erkan

Associate Professor and Chair, Computer Science

Computer Organization

This course is an exposition of the central ideas in a computer system. Although the conceptual work is cased on a simulation system (PEP), students also complete many small scale C programs in order to interact with an actual system. Topics computer architecture, assembly language, operating systems, systems programming, processes, memory management, digital logic, and file systems.

2010 quotes; thanks Blake!

  • Alex: What prevents a process from taking all the memory in the system?
  • Ali: Perhaps more importantly, what prevents you from filling the system with many many processes? All you have to do is "while fork" loop.
  • Alex: The good news is that Blake can now bring down Himalaya with just one line of code.
  • Blake: [Looks annoyed]
  • Ali: [Speaking to Alex] One of these days, he is going to whack you good, and I am not going to do anything about it.

---

  • Ali: What, no one starts their morning with a coffee? What is wrong with you guys?
  • Paul: [All chipperish] I start my morning with a V8.

---

  • Ali: As you'll see, there has always been a war between emacs users and vi users. I use emacs.
  • Alex: I use vi.
  • Ali: [Thinking "I _knew_ it"] Well, it's good to have diversity.

---

  • Alex: Himalaya was really slow.
  • Ali: [With an attitude] Well, that can't be. Himalaya is one of my servers. It's in great condition.
  • Someone else, possibly Ryan: Yeah, I thought it was really slow too.
  • Ali: OK, let's check. [Opens an ssh connection to himalaya; 5 seconds pass between the username and password entry]. Hmm, it is slow. I wonder what's going on. [Lists the most CPU intensive processes; at least 15 of them belong to bbalick1]
  • Alex: Ha-ha. It's Blake!
  • Ali: WHERE IS HE? [Blake is absent] I'll deal with him later. Here is how you annihilate all his infinite loops [enters a bunch of UNIX commands]. Hmm, the system is still slow. What's going on? [Lists the most CPU intensive processes once again] Well, well, if it isn't Alex and Simone.
  • Class: [Laughs]
  • Ali: [Sad that Simone is put on the spot, glad that Alex got what he deserved] So now you know how you can destroy my servers.

---

  • Ali: You need a label for a goto statement to work.
  • Matt: Can you create an infinite loop with a goto?
  • Blake: I bet I can. I am pretty sure I can create an infinite loop out of anything.

2007 quotes; thanks Dave (Beiler)!

  • Ali: It's a fractal in Emacs!!!! [everyone silent] Why am I the only one to find that sort of thing amazing?

 ---

  • Ali: I should have been happy to hear that, but I'm too used to getting crap from my audience.
  • Nate: We love you Ali!
  • Ali: It's too late for that now.

---

  • Ali: [takes attendance and realizes he is one student short of full-house] Alex is the only one who isn't here... He'll pay for this!

---

  • Ali: [Explaining the concept of a Pep/8 register] It's like this... I have two knees. If I put one book on one knee, I can put the other book on the other knee.
  • Chris: My understanding is less after that example.

---

  • Srinjay: So in a multitasking OS, who takes care of where the object code is stored?
  • Dave: His name's Jim.
  • Rod: Kernel Jim.

---

  • Ali: [Notices Odaro is reading the newpaper as the lecture starts] Can someone tell me if Odaro is really reading the paper?!
  • Odaro: I'm not reading the paper!
  • Nate: He's looking at the pictures...

---

  • Srinjay: Why is it bad to write self-modifying code?
  • Ali: It's like walking down the street and [bends over, grunts] rearranging your intestines.
  • Mike: This is why I come to this class!

---

  • Ali: Symbol tables allow a compiler to maintain type information so that you cannot make obvious mistakes. For example, you cannot do a `mod' on a float.
  • Nate: So if something is a float, you can't treat it as an integer?
  • Ali: Nope.
  • Nate: Well that sucks.

---

  • Steve: [Answers Ali's questions with a snappy tone] Index register!
  • Ali: How much sleep did you get?
  • Steve: A lot, actually.
  • Ali: Well, sleep less.

 ---

  • Ali: Are you sure it works that way?
  • Sam: Yeah. But I don't remember if I tried it or just made it up.

---

  • Ali: Forget Linux... Pep is the real threat to Microsoft.
  • Mike: You're right! What can't it do?

---

  • Pat: I don't think that addressing mode is that important.
  • Ali: It IS! And I am not going to stop until you accept it is one of the most important things in life! Every time an array gets passed in C, the system does stack-index deferred addressing!

---

  • Pat: [Vader Voice] I find your lack of syntax disturbing.

---

  • Pat: [Trying to answer Ali's question] I don't know...
  • Ali: I'll give you a hint: "Catfish"
  • Pat: That's probably the vaguest clue I've ever heard.
  • Ali: Actually, it wasn't a clue. I was trying to fool you.

---

  • Ali: This is correct... it's just wrong, though.

---

  • Chris: [Yelling from the back of the class, trying to write down what was on the projector] Wait, I couldn't see... Odaro was sleeping in the way.

---

  • Ali: Let's just assume I'm not lying.