FALL 2021
Section 1828 Online
This
Website (http://classpage.dmorgan.us/)
will be used extensively to communicate with you.
Announcements, grade reports, and assignments will be posted here.
Please access the website from any SMC computer lab. Alternatively,
it can be viewed from an internet-connected browser anywhere. You
are responsible for awareness of the information posted here
Announcements/grades/current topics
Grades - have been updated, link entitled "Grade
information" at left. They include the page replacement and
filesystem assignments. These grades cover the full set of
assignments for the semester plus the first test. Please check your grades and let me know of
any anomalies. (12/20)
Test hints -
these are recorded comments from a previous semester. The upcoming
test is largely the same as the one described in the recording.
(12/15)
Images from/for the test - Canvas does not display some images if you use browsers that are not
"up to
date." A few of my questions do contain images. Depending
on your browser you might not be able to see them. In case that happens to you
during the test, they are alternatively available here:
Image1 for questions 11 and
12
Image2 for questions 11 and
12
Image for
questions 13, 14, 15, and 16
Image1
for question 36
Image2 for
question 36
You are free to look at them in advance of and during the test.
(12/10)
Second test - The SMC
College District Calendar shows a final exam period December
14-21. We will have an online, non-cumulative Test2 on
current topics, similar to our recent Test1 on
the earlier topics. It will be on Canvas. The test will be available throughout the
four day period Friday 12/17 through Monday 12/20. It is a 2.5-hour test, closing 2.5 hours
a (150 minutes) after you start it. Take it any time at your convenience, on one of
those four days. (You shouldn't start after 9:30pm Monday, as you will be cut off
at midnight and not have a full 2.5 hours.) I plan to publish some
video hints about the content of the test, probably on Wednesday
12/15 (12/10)
Grades - have been updated, link entitled "Grade
information" at left. They include the address translation and
buddy system assignments. Please check your grades and let me know of
any anomalies. (12/6)
Homework - last assignments
do - the page replacement exercise; prepare it on paper then
scan or photograph it into pagerepl.jpg (or .png) - due
in your assignments subdirectory by end of day Friday 12/10
read - per course outline section 13, the 9-page section of
the textbook from chapter 12 about secondary storage management.
listen - to the narrated slides about chapter 12, file
management, at the links in course outline section 13 slides column entitled "part1" and
"part2"
view - the links in section 13's Reading column to articles
depicting the structure of the FAT and the ext filesystems. Do not
read them in any great detail, just to note the parallelism between
two ways to accomplish the same thing-- having files.
do - reading and homework, course outline section 13. Do the
"ext2 filesystem" assignment on paper, specifically on
a printed copy of this dump
of a floppy diskette (or use this pre-labeled
version of the dump). Before doing the assignment listen to its recorded explanation (see links entitiled "part1"
"part2" and "part3" in section 13 homework
column). due in your
assignments directory on the remote server by the end of Friday
12/10
(12/1)
Remaining topics - memory management (chapters 7, 8);
filesystems.
"memory3.c" memory exhaustion /
virtual mem demo experiment:
|
classroom |
dell |
rh (old P166) |
monarch |
V1 |
RAM |
512 |
512 |
64 |
1037 |
64 |
swap |
1024 |
1024 |
150 |
2048 |
313 |
|
|
|
|
|
|
slowdown |
|
|
51 |
|
45 |
termination |
1309/1450 |
1434 |
these are some results I got in the past on some older machines.
For a video background explanation see the link entitled
"memory exhaustion" in course outline section 11 Homework
column. If you wish to run the memory-exhauster programs yourself, the
memory1.c, memory2.c, and memory3.c source files are in /home/public/
on the server, get them as
outlined here.
Compile as: gcc memory3.c -o memory3 ).
more, newer data:
|
bkupserver |
frausto |
f16 |
vserver |
OS |
knoppix |
fedora 10 |
fedora 16 |
fedora 14 |
kernel version |
2.6.24 |
2.6.27 |
3.1.0 |
2.6.35 |
bit architecture |
32 |
32 |
32 |
64 |
RAM amount |
495 |
375 |
1002 |
7946 |
swap amount |
0 |
767 |
11625 |
10446 |
slowdown point |
none |
~300 |
~630 |
~7400 |
terminate point |
404 |
1088 |
3044 |
17775 |
The general pattern is that the amount of physical memory
available to the program is as much as is installed in the box less
how much of it is already in use (by the operating system and maybe
other things). Then beyond that, an amount of
"pseudo-memory," apparent to the program as if physical
and called swap space or virtual memory, is also available. When the
program has consumed all the available physical memory and
begins to consume swap, it slows down (because using swap is using
the disk). When it consumes all of the box's available swap space,
the operating system gracefully terminates it. Historically
overconsuming memory resulted in a system crash requiring a reboot. (11/22)
Homework -
read - per course outline sections 11 and 12 (chapters 7 and
8) on the subject of memory management (I call your attention to Chapter 7's appendix 7A on
Loading and Linking, don't overlook
it)
listen - to the narrated slides at the link entitled "Ch
7" in course outline section 11 slides column.
listen - to the talk at the link entitled "memory
exhaustion" in course outline section 11 Homework column.
listen - to the video at the link entitled "symbol
management video." Find it by following the link in the column
at left entitled "Foundation concepts." The link is on
that page under the heading "Compiling/linking/loading
(symbols, address fixups)."
do - buddy system homework in course outline section 11 due
in your assignments directory by end-of-day Tuesday 11/30.
do - address translation in course outline section 11 due
in your assignments directory by end-of-day Tuessday 11/30.
anticipate - reading and homework, course outline section
13 on the subject of device and file management. (11/22)
Context - put the different
types of memory management we are talking about into this context.
For overlays, see link at left under heading entitled
"Overlays". (11/22)
Grades - have been updated, link entitled "Grade
information" at left. They include the recent test. (Grades for
a few individual cases may not yet be included.) To help interpret
the test grade, please see this general
explanation. Please check your grades and let me know of
any anomalies. (11/19)
Test hints
- in a recent semester I characterized a test that is nearly
identical to the one you will take. In the video, as I am speaking,
I am looking at a copy of the test on my monitor and talking about
it. Please have a listen. (11/12)
Test - is published on Canvas. It will be available Sunday and
Monday, November 14 and 15. It is timed, allowing 90 minutes
from the time it is started. Take it any time Sunday or Monday.
(You shouldn't start after 10:30pm Monday, as you will be cut off
at midnight and not have a full 90 minutes.) The test covers
everything we have studied up through the topic of processes. The
posts below about mutual exclusion are our next concern, and are not
covered by the test. It is 29 multiple-choice questions. To log in
to Canvas go to www.smc.edu and
choose the horizontal menu item entitled "Login." (11/10)
Grades - have been updated,
link entitled "Grade information" at left. Includes the
"process scheduling" and "process states"
exercises. Includes some individual grade adjustments,
e.g. for some late work. May not yet include same for recent
requests. Please call any
anomalies to my attention.
Course drop date and homework amnesty
- please be aware November 20 is the deadline for being able to drop
the course. If your average is low and you believe you can raise it,
it can make sense to remain in the course. If it's low and you don't
believe you can raise it, it may make better sense to consider the
option to drop while it is available. I must issue grades for all
students who remain enrolled beyond November 20, and your average
will determine. Missing grades are a major factor in the formula for
grade averages. I will accept and grade past assignments if you turn
them in. In that case you would have to tell me you did so, in order
that I become aware that there is something I need to grade. I
reserve the right to deduct a penalty but you are far better off
with a grade of substance than with a zero. (11/10)
Homework
- turn your attention to these after the test
listen - to the
narrated slides about "IPC and mutual exclusion" in course
outline section 8's Slides column. (The recording has two successive
parts, at links entitled "part1" and "part2.")
listen - to the video explanation of the Peterson's Algorithm
homework in course outline section 14's Homework column. (The
recorded explanation has two successive parts, at links entitled
"part1" and "part2.")
do - the "Peterson's Algorithm" assignment in
course outline section 14. You can do this assignment on
sputnik.smc.edu (easiest), any clone of our VM fedora31-spring21, or
another suitably equipped linux platform due
in your assignments subdirectory by end of day Sunday 11/21
read - per course outline sections 11 and 12
(chapters 7 and 8) on our next topic, memory management (11/10)
Mutual exclusion - why do we
need it?
integer n is shared between processes P and Q
Process P
Account receives amount nP
Computation: n = n +nP:
P1. Load Reg_P, n
P2. Add Reg_P, nP
P3. Store Reg_P, n
|
Process Q
Account receives amount nQ
Computation: n = n +nQ:
Q1. Load Reg_Q, n
Q2. Add Reg_Q, nQ
Q3. Store Reg_Q, n
|
what's wrong?
Some possible Interleaves of Executions of P and Q:
these 2 give the expected result n= n + nP + nQ
P1, P2, P3, Q1, Q2, Q3
Q1, Q2, Q3, P1, P2, P3
these 5 give erroneous result n = n+nQ
P1, Q1, P2, Q2, P3, Q3
P1, P2, Q1, Q2, P3, Q3
P1, Q1, Q2, P2, P3, Q3
Q1, P1, Q2, P2, P3, Q3
Q1, Q2, P1, P2, P3, Q3
these 5 give erroneous result n = n + nP
Q1, P1, Q2, P2, Q3, P3
Q1, Q2, P1, P2, Q3, P3
Q1, P1, P2, Q2, Q3, P3
P1, Q1, P2, Q2, Q3, P3
P1, P2, Q1, Q2, Q3, P3
from
http://deptinfo.unice.fr/twiki/pub/Minfo/DistributedAlgo/2015-11DistAlgo_Exmut.pptx
compare this to the explanation
of the very similar example found in the Peterson's Algorithm
homework write-up.
(11/9)
Test - it will be time for a test after we finish covering the topic of processes.
It will cover what we have studied through that topic. Before the
test, I
will describe it more specifically (10/30)
Grades - have been updated,
link entitled "Grade information" at left. Includes the "multifork" assignment
(demonstrates the process scheduler's unpredictable autonomy, controlling
which processes run when and in what order). Please call any
anomalies to my attention. (10/30)
Homework
homework and reading in course outline section 8
do - link entitled "process scheduling exercise" in
homework column of course outline section 8. Listen to the
"explanatory lecture" video link about how to do the exercise.
due in your assignments subdirectory by end of
day next
Thursday 11/4
do - "process states exercise" in course
outline section 8; please use name "process-states.jpg" or
"process-states.png" for the file you submit showing your
filled-in spreadsheet due
in your assignments subdirectory by end of day next
Monday,
11/8
read
- about threads, per course outline section 10 Reading column
read
- the concurrency related topic material in course outline section 8
Reading column
listen - to the several snippets of videos identified in the
"Real-world real-time" and "Online university
classes" postings below.
(10/30)
Real-world real-time process
scheduling for self-driving cars. youtube videos:
Google's
self-driving cars (8:50-13:45)
University of
York research toward autonomous car operating systems
(0:00-3:15)
Online university classes
have become popular and available in recent years. I have been
listening to several of the lectures in one of them recently. It's
UC Berkeley's Advanced Operating Systems Structures and Implementation
by professor John Kubiatowicz. In relation to process scheduling
these parts of his lectures apply:
lecture 9 40:40 - 43:20
lecture 10 0:00 -
3:00
lecture 11 14:45 - ~20:00
(There
is another UC Berkeley course online, that I have not listened to but seems
interesting, Operating
Systems and System Programming.) (10/30)
Grades - have been updated,
link entitled "Grade information" at left. They include
both the
debugger replication of textbook Figure 1.4, where 3 is added to 2
in machine language, and the "waste time" assignment
contrasting busy- versus sleep-waiting. Please call any
anomalies to my attention. (10/23)
Homework
reading in course outline section 7, on next broad major topic
of processes
do - link entitled "order is
unpredictable" due in your assignments subdirectory by end of
day next Wednesday, October 27
view - video at link entitled "process
scheduler video animation" (10/22)
Dropped students - I dropped non-participating students.
That's reversible, but of questionable advisability this late in the
semester, upon request. If you think completing the course is not
infeasible for you please tell me about it and request a reinstate
code. (10/22)
Interrupts/signals
and their handlers/traps - interrupts are similar to signals,
with a
difference. Handlers process interrupts, traps process signals.
(10/22)
Jump versus call
machine instructions. A call is really a jump+a return (10/22)
Homework -
read - textbook chapter 2, through its
section 2.4 (you need not read the rest)
listen - narrated slides at links entitled
"Ch2-part1-history," course outline section 6 Slides column
"Ch2-part2-OSoverview," course outline section 6 Slides column
"explanation" of busywaiting homework, course outline section 5 Topic column
"explanation" of deadlock exercise (not assigned),
course outline section 7 Topic column)
do - the exercise at the link entitled "waste time"
in course outline section 5's Topic column. Do it in your VM. When
you reach the end of the instructions, before you exit from the two
terminal windows you will use, make a screenshot. I suggest you use
a screenshot maker in your host computer (not the VM) for that
purpose. I want to see your VM's screen, split horizontally, with the
terminated exercise in the upper terminal window and the "top" utility
active in the lower one. Name the screenshot timewasters.jpg or
timewasters.png and upload it to your assignments directory on
sputnik. Due
on sputnik
by
end-of-day Friday 10/22.
past reading - make sure that by now you have read everything
in the Reading column of the first 6 sections of the course outline.
When I make up a test anything in the reading to-date is potential material for creating questions.
anticipate - next topic, after finishing chapter 2, will be
processes. It will involve chapter 3 and part of 9. (10/17)
What's wrong
- with this
video?
- with this headline's claim?
Here
is what's wrong: you can't
know (video 12m). (10/18)
Grades - have been published, at the link entitled
"Grade reports" at left. They include the caching homework
(textbook problem 1.12). Please call any anomalies to my attention.
(10/12)
Homework -
do - the
exercise at the link entitled ""3+2=5" in course
outline section 3 topic column (it is given as an "in-class
exercise" but is homework). You will run an assembly language
replication of the 3+2=5 procedure represented in the textbook's
Figure 1.4 (and your earlier homework) in the debugger. You saw
earlier different program (hello world) in the debugger, modeling
the tool. If
you wish to review that, it's at the link entitled "use of
debugger" in course outline section 3 Topic column.
Due on sputnik
by
end-of-day Thursday 10/14.
listen - to the video at the link entitled "Time
sharing" below (28m)
(10/8)
Time
sharing - a way to allow multiple interactive
processes to share a computer's CPU pioneered by Fernando
Corbato at MIT. (10/8)
Facebook
outage on Monday - an explanation of my understanding what
happened, prepared for my networking class. Listen to it optionally
if you are interested. (10/8)
Restaurant plate
stack - of the type I used when I was a busboy. It compares
with a stack data structure. It has a common, relevant
characteristic. Namely, the confinement of accessibility for adding
or removing an element to the stack's top. You can't put an
additional plate into the restaurant stack at the bottom or middle,
only the top. You can't get a plate from the stack by pulling it out
from the bottom or middle, only the top. This is a real stack, from
which the stack data structure gets its name. (10/8)
Good, optional videos explaining interrupts:
"What
is an Interrupt? Types of Interrupts"
"Interrupt
Handling Explained in Detail"
"Software
Interrupts and System Calls"
I chanced upon the youtube series of about 40 20-minute lectures
for an online operating system course, and liked it. (10/8)
Caching - there are lots of different kinds, computer and
non-computer
memory cache
disk cache
inside disks themselves
within operating systems
virtual memory page cache
web page cache
instruction branch / execution order cache
book cache (Mutlu
41:20-43:50)
food cache (hamsters, birds) (10/2)
Homework -
listen - narrated slides at links entitled
"Ch1-part2-interrupts" in course outline section 4
"Ch1-part3-caching" in course outline section 5
"lists, queues, stacks" in course outline section 3
read - Reading column of section 4 of the course
outline, start Ch 2
read/view - concerning speculative execution, the two links in section 3 Topic column entitled "demo program source" and "demo program run"
read/listen - the
items found in the Homework column of
sections 4 and 5
anticipate - next homework will be the one at section 3 Topic column link entitled "3+2=5". There are two supporting links there, entitled "use of debugger" and "explanation" of 3+2=5. You may
listen to those now in anticipation of the future assignment, to be made next week.
do - the
exercise at the link entitled "caching" in Homework column
of section 5
submittal instructions for "caching" assignment
- write it out on paper and submit it
as a scan of that page. Name the file containing your scan
caching.jpg (or caching.png). Upload that file to your
assignments directory on sputnik.smc.edu. Due on sputnik
by
end-of-day Saturday 10/9
----------------
Some helpful explanation - here is how to correspond or reconcile
the vocabulary in the textbook problem, and that at the end of my
related writeup. There are 3 terms involved. What he calls Tm,
I call Tslow.
What he calls Tc,
I call Tfast.
What he calls "effective access time, I call Tave.
There is no difference between what he and I are talking about, it's
the same situation. The first term is talking about the native
access time of one type of manufactured physical memory, and the
second term about that of another. The second one is superior, does
its job (moving data in and out) faster, costs more no doubt.
Engineers buy that to make their caches. They buy the first, slower
kind to make their RAM memory modules (regular memory) that you
stick into the slots on your motherboard. The third term, on the
other hand, is a little different in that it isn't talking about the
native access time of anything. Rather, it's talking about the
access time that would be experienced in actually using the
computer. That doesn't match the native access time of either of the
2 memory types that the computer contains, since the computer uses a
blend of both so that the experienced access time will fall
somewhere in between their native times. Better than the slow one,
not as good as the fast one. But in doing the problem just recognize
that
Tm
= = Tslow
Tc
= = Tfast
effective access time = = Tave
----------------
(10/2)
Grades - have been published, at the link entitled
"Grade reports" at left. The include the textbook Probem
1.1, diagramming device I/O operation. Please look yourself up by the
same anonymous 5-digit value you derived in calculating your sputnik
remote server password. Please call any anomalies to my attention.
(10/3)
Homework -
read - do the reading in the Reading column of section 2 and 3 of the course
outline.
listen - to
the "hardware interrupts" discussion in the Homework
column of section 4
read/listen - the links entitled "exploit advisory" and "my
demonstration" thereof in course outline section 3 Topic
column. They show the execution of data as code thereby demonstrating the main concept of vonNeumann architecture.
do - the "variation on figure 1.4" assignment found in the "Homework" column of
section 3.
----------------
Some helpful explanation about textbook's problem 1.1 at the end of
the chapter. It is very similar to the one in the book in Figure
1.4 (and the matching assembly language in-class exercise we did).
The difference is, he wants to get/put numbers from/to some
devices, instead of memory. So, he gives you 2 new instructions (to
go with the 3 you already know) in his hypothetical machine
language, for the purpose of shuttling data back and forth to
devices. The instructions require id's of some kind for
devices (just as memory locations require addresses, which serve as their
id's). The author doesn't provide id's for the devices, but you can
do so. You can make up your own id format and system. A good choice
for this academic exercise might be 3-digit numbers such as 001 for
device 1, 002 for device 2, and so on. Then, putting together the
drawing I ask for is a matter of showing the devices and their
contained values, and constructing a drawing pretty much the same as
the one in Figure 1.4.)
----------------
submittal instructions - submit it
as a scan of your diagram. Name the file containing your scan
device-io.jpg (or device-io.png). Upload that file to your
assignments directory on sputnik.smc.edu. Due on sputnik
by
end-of-day Wednesday 9/29
(9/23)
Grades - have been published, at the link entitled
"Grade reports" at left. They include the
"disassembly" assignment. Please look yourself up by the
same anonymous 5-digit value you derived in calculating your sputnik
remote server password. Please call any anomalies to my attention.
(9/23)
Explanation
of "disassembly" assignment's extra credit (video, 10m). (9/23)
Apple
M1 chip - exemplifies whole "system on a chip"
mentioned in chapter 1. (9/23)
Microfilm for long-term storage
durability - is preferred
by the National Archives (the people who keep the Declaration of
Independence). A discussion of data storage durability came up in
class last year. It may surprise that for data archiving, old-school is oldest.
A tidbit FYI. (9/23)
Stress test SMP/multicore - I
stumbled on y-cruncher.
It has a feature for calculating digits of pi out to very great
decimal length. This is interesting because it is an example of
"pure computation." That is, input/output-less. Most
programs involve some interaction or other with an outside device
(i.e., input/output or "I/O"). That interrupts them, so massively slows
them down. y-cruncher's pi feature is a rare example that can show the CPU operating at
something like "native speed" since it is I/O-free. It
shows how fast the CPU runs when free of constant interruption.
(This relates to the discussion of interrupts at the link entitled
"hardware interrupts" in course outline section 4 Homework
column.) (9/23)
Homework -
view/listen - course outline section 2 Slides column's "Ch 1-part1" narrated slides. These are publisher's slides corresponding to the textbook.
read the items in
course outline section 3 Reading column (up to but not including
those about interrupts). They are concerned mainly about instruction sets and
the IA-32 Intel Architecture Software Developer's Manual.
read and view
- see the posting below entitled "The answer is." In that
posting are some links. Visit them all and understand what you see
there.
do the "assembly language" assignment found in
course outline section 3 "Homework" column. It illustrates the use of numeric
instructions and their interspersion with straight numbers (their
operands), a centerpiece of the Von Neuman architecture. Visit and
read/view the links embedded in that assignment.
Due on sputnik (where it is also to be performed) by
end-of-day Wednesday 9/22.
(do not do the other assignment there, about interrupts)
(9/17)
Grades - have been published, at the link entitled
"Grade reports" at left. Please look yourself up by the
same anonymous 5-digit value you derived in calculating your sputnik
remote server password. Please call any anomalies to my attention.
(9/15)
A lecture
(1h 33m) for this week - I've recorded a lecture that
supplements/complements the other things I have published in recent
days. Please listen to it. Please note there are a couple of silent
gaps in the recording. One is from timing mark 19:58 to 26:33. The
other is from 58:25 to 1:00:12. Please advance your video viewer
past these sections, with my apology (I had some technical
problems). (9/9)
Homework - please
do - the "binary and hexadecimal addition problems" assignment found in the "Homework" column of
section 2 of the course outline. Note, in the assignment on the
course outline, the accompanying how-to video for you to watch if
you need some explanation. due date
(file on remote server) Monday September 13 end-of-day
read - the items in the Reading column of course
outline section 2
read - the short discussion of line termination conventions
at the link entitled "explanatory document" in the
Homework column of course outline section 2
note - the several commands and utilities in the hexdump
product category that are featured at the bottom of the Homework
column of course outline section 2. Be aware of their existence and
purpose. Consider installing one of the Windows products if you are
a Windows users. od and xxd are installed in our virtual machine.
They might also be found in a Mac terminal.
listen - to the narrated slides in the Slides column of
course outline section 2, "vonNeumann architecture" and
"Ch 1" (9/8)
What does forty-five mean? to
your Intel CPU (9/8)
What does "run" mean?
(9/8)
Versatility of the computer: not only can it add, it can
subtract!!! - but how do we get it to do one of the tricks in its
repertoire, versus some other? In the earliest computers, they were
rewired to do each task:
"The ENIAC was programmed by wiring cable
connections and setting three thousand switches on the function
tables. This had to be done for every problem and made using the
machine very tedious."
http://ei.cs.vt.edu/~history/ENIAC.Richey.HTML
the term for setting the computer to do some certain task is
"programming the computer."
see "Programing
the ENIAC"
Do modern computers re-wire in order to set and determine what
they will do? (9/8)
Three new videos -I call your attention to three new links
added to section 1 of the course outline today. They are the ones
entitled "science project computer," "binary number
system," and "hexadecimal number system." The latter
two are optional. If you well understand the binary and hexadecimal
methods of number representation you can dispense with them
(although they are interesting and well done). Please do listen to
the first one, which describes from my personal experience an
initial exposure to how computers really do their work. (9/4)
How-to
video about the ways and means of remote
server access. Several programs that provide login connection to a remote server, file
transfer connection, or both, are discussed and demonstrated. These are the
tools for accessing sputnik.smc.edu. Please listen if you are unsure
how to 1) log in and 2) transfer files to sputnik. (9/3)
Opportunity - ICANN
(Internet Corporation for Assigned
Names and Numbers) "Shaping the Future of the Internet: ICANN's Newcomer Programs"
(8/30)
Opportunity - NASA
community college aerospace scholars program (8/30)
Welcome/Kickoff
lecture
- course description and details. Please listen. (8/26)
First homework
will be:
do - all the activities in section 1 of the course outline.
Visit each of the links, read and listen to the indicated materials.
please upload your "introduction.txt"
file to your assignments directory on sputnik by Friday 9/10
install - make progress in installing VirtualBox on your
computer, and my delivered VM in VirtualBox (see link below entitled
"Obtaining and installing". (9/3)
Course outline
-
with rough weekly topic coverage corresponded to related
readings, homework assignments, and in-class slides I will use.
Please follow this outline as we move through the topics, for assignments and reading
I will want to assign.
A virtual machine (VM) for you
- hands-on lab exercises will be performed on a virtual machine that
you can run in your own computer.
- Obtaining
and installing your VM
(direct
link to fedora31-spring21.ova file on Google Drive)
- Transferring files
in and out of it if necessary (accompanying howto
video)
- Your VM's configuration
A Remote Unix system
account is available for your use.
Using ssh (secure shell). ssh is an important tool you will use
for interacting with remote computers. For that you will need an ssh
client. There are a number of ssh
client alternatives.
Distributing files from sputnik to the class as a whole,
publicly - the above file transfer discussion describes file movement
to and from your own home directory, exclusive to you. Sometimes I will
want to have someplace to put a file so everybody can get to it and
download it. When I do that, here's
how to download them.
Three revelatory pictures - I will refer back to them a
number of times during our class. Each depicts relationships that,
if learned early, will clarify your understanding of computers
1 - Role and position
of an operating system
2 - Devices, and friends -
partition tables, partitions, filesystems, files
3 - Liftoff - how the computer
picks itself up by its bootstraps in the morning
The answer is ... (read the lights), what is the
question? Let's understand what this
picture shows. The device shows a
project for adding 6 and 5 to produce 11.
Here are "6
and 5". And here is "11".
Listen to this video
about the 6+5 project. (11m)
Listen to this
video from the 7:30 timing mark to the end, describing addition
with switches for inputting addends, lights for outputting sums, and a 74xx
Texas Instruments chip to hold the "wiring" that does the
math.
74xx chip in 1962? No such thing. My classmate then made a science
project that did the same thing as in the above video: switches to
input addends, lights to output sums. But how did he make the math
happen? He built the same functional circuitry as contained in 74xx
chips, from basic discrete circuit components ( resistors,
capacitors, inductors, diodes, transistors ). The
circuits he wired up are as shown here in the several kinds of
"logic gates" (scroll down to the circuit diagrams) and
further described here.
Here is another discrete
component enthsiast/purist's page.
First personal computer - Altair
by Ed
Roberts
(click photo to enlarge, note
switches and lights on front panel)
Fedora linux installation - time permitting I hope to demonstrate
the installation of an operating system on a laptop in class.
NASA Perseverence Mars rover landing
today. NASA YouTube
channel.
Operating systems used by mission components:
VxWorks (Rover
and Landing Visualization System)
RTEMS
(Electra radios)
linux (Ingenuity
helicopter)
none -TDS Landing Radar
software, MOXIE Mars Oxidation In-situ Experiment
according to JPL's
Dj Byrne today.
...and
make success happen
(2/18)
Jobs for which operating
systems have responsibility:
Internal
memory management
process management
device management
file management
External
user interface
Textbook - Operating Systems: Internals and Design Principles,
eighth edition, William Stallings, Pearson Prentice Hall. See the
information about it on the author's
website.
Foundation
concepts you should be(come) familiar with as
background/prerequisite for this class:
Data structures (lists, stacks)
Binary and hexadecimal number representation
Compiling/linking/loading (symbols, address fixups)
ASCII code for representing characters
Processor instruction sets
System architectures (bus, data lines, interrupt lines)
Use of ssh
Use of sftp/scp for file transfer
Running linux at home.
Dates and deadlines
Class Census Day: SEP 13, 2021
Class 60% Day: NOV 4, 2021
Last Day to Withdraw to Receive a Refund: SEP 12, 2021
Last Day to Withdraw to Avoid a "W": SEP 12, 2021
Last Day to Withdraw to Guarantee a "W": NOV 20, 2021
Last Day to Request for Pass/No Pass Grade: NOV 20, 2021
|