Dear Students
You can take a look at the old animation program on Unix Internals given to you earlier.
Now you would find a link to new one being developed with the help of the young Animator Mr Ashwin.G (ashwin_reach@yahoo.com);
http://www.youtube.com/watch?v=K71UJZ8fMU4
What is so special about the Animation Program?
When I was young, I attended class room sessions on Unix programming / unix internals conducted by expert Trainers. I remember, typical class room sessions would be drab and send most students to sleep. After attending a couple of times, I felt I would never ever get even an iota of idea about Unix inmy life time, especially, as to how it works.
When I was a part of Technology Finishing School, part of Rendezvous on Chip, at Secunderabad, some bright students had the same complaint as I had. My interest in Unix was kindledonce again.
In my renewed attempt to learn Unix Programming, I troubled a few of my colleagues there, notably , Mr Karasala Srinivas, Ms Anupama. I am sure they would neither forget nor forgive me for all that those nightmarish time that I gave them, in theprocess of my lerning!
Ultimately, found a simple method of teaching Unix programming, for sure, without tears. I used a lot real life examples from various day to day life tocompare actions in unix. To drive home the concepts. I used Epics like Maha Bharat, which found favor with the students.
Mr G Ashwin is presently helping me in the task of making an Animation program. I wonder, some time in future, this project would be funded so the the project can hire professionals to work full time and the future generations can learn unix, as a fun.
Mail your feed backs to: natarajan.naga@gmail.com;
Thanks
N NATARAJAN
______________________________________________________________
Assignment for linux students
The students are required to answer as many questions as possible using informations / documents available on Net.
------------------
QUIZ – Part I
UNIX PROGRAMMING / INTERNALS
Explain
(1) How Unix is different from Windows Desktop Os?
(2) The Three operating system (Designer) goals : Batch Processing, (b) Real Time systems ©(a) ----------
(3) Explain the flow of a process from creation to killing – from the perspective of a process.
(4) Explain the flow of process from creation to Killing in the perspective of the OS.
(5) What are the unique features of Linux / Unix?
(6) What is a Shell and why is that required?
(7) What are different shell types available in Linux / Unix? Explain their differences.
(8) List some frequently used shell commands by user.
(9) What is shell scripting? Give some examples.
(10) Explain the sequence as how a Linux operating system comes-up when you power the computer.
(11) Explain the term kernel.
(12) What are different types of OS ?
(13) What is multi tasking?
(14) Explain Multi-user multi tasking.
(15) What are the five functions of Unix?
(16) What are the different processes that are associated with UNIX/ Linux (Instance of a process, Child process, parent process, related process) (17) What is a process?
(18) What is the difference between an executable program and a process?
(19) List various process types referred in Unix and explain each.
(20) List various process states. Explain allabout each state.
(21) What is a daemon process? How does it differ from other processes?
(22) How do you create a daemon process?
(23) What is a kernel data structure?
(24) List various data structures used in five functional modules of unix
(25) List the various file system types, in computing?
(26) Explain kernel and user space.
(27) What purpose does APIs or System calls serve?
(28) Give examples of system calls and how it is used ? Give examples from real life
(29) What are signals? Why and how it is used? Explain with real lifeexamples. (30) What are IPCs? List various IPCs available in LINUX.
(31) What is a file? Explain in the context of Unix.
(32) Explain Context switching
FILE SYSTEM
(33) What is a file system?
(34) What are the various file systems used in Microsoft Windows and Linux?
(35) What are the four blocks in any file system. Explain each.
(36) Discuss about various aspects of a File system and its restriction on the file size and the max Storage device it can candle.
(38) What is an inode. Explain all about inode.
(39) What is an incore inode?
(40) Explain Virtual Memory, Paging and swapping.
(41) Explain various device types used in Unix / Linux? How do they vary in programmer’s perspective?
(42) Explain Major and Minor numbers.
Some Networking basics
(43) What is a TCP/IP? Explain various layers and functions of each in simple terms.
(44) What is a networking protocol?
(45) List as many protocols as you could gather and explain in not more than 25 words to explain each one of them.
(46) Explain reliable and unreliable communication with reference to networking (LAN / WAN) .
(47) Explain the differences between Circuit switching and packet switching.
(48) What is socket programming?
(49) Give a list of network applications and its typical applications.
(50) What is a distributed computing and how networking is useful?
(51) Explain IP V 4 and IPV 6 and the differences between them.
(52) Make a brief write-up on various aspects of Networking and internet.
(53) Explain how an email sent to your from a cybercafé travel to your friend.
QUIZ – Part II
UNIX PROGRAMMING / INTERNALS / DEVICE DRIVER
(1) The distinction between the different kernel tasks isn’t always clearly marked. Yet, the kernel’s role can be split logically, as five different logical groups. They are: (A), (B) , (C) , (D) , (E) ;
(2) Each piece of code that can be added to the kernel at runtime is
called a ________;
(3) The Linux kernel offers support for a few different types (or
classes) of modules, including device drivers. Each module is made up of object code (not linked into a complete executable) that can be dynamically linked to the running kernel by the program and can be unlinked by the program.
(4) List three basic device driver types: _______, ______ , ______;
(5) Give examples of devices belonging to each type:
_________; _________; ________ ; ________ ; ________; ________; _________; ________ ; ________ ; ________;
(7) Say true or false:
Character devices :
(a) is one that can be accessed as a stream of bytes.(Y/N)
(b) is treated as a file (device file); (Y/N);
(c) Char devices are accessed by means of filesystem nodes (Y/N);
(d) difference between a char device and a regular file is that you
can always move back and forth in the regular file, whereas most char devices are just data channels, which you can only access sequentially (Y/N).
(e) These implement open, close, read, and write system calls.(Y/N)
block devices
(f) are accessed by filesystem nodes in the /dev directory. (Y/N)
(g) hosts a filesystem. In most Unix systems; (Y/N)
(h) a block device can only handle I/O operations that transfer one or more
whole blocks, which are 512 bytes or multiples of that. (Y/N)
(h) Linux, allows the application to read and write a block device like a char
device—it permits the transfer of any number of bytes at a time (Y/N)
(i) block and char devices differ only in the way data is managed internally by
the kernel, and thus in the kernel/driver software interface. ` (Y/N)
(j) Block drivers have a completely different interface to the kernel than char
drivers. (Y/N)
Network interfaces
(k) Device that is able to exchange data with other hosts ; (Y/N);
(l) Typically, an interface is a hardware device; it might also be a pure software
device; Example the loopback interface. (Y/N)
(m) This device type sends and receives data packets, driven by the network
subsystem of the kernel, (Y/N)
(n) Many network connections (especially those using TCP) are stream-oriented,
but network devices are, usually, designed around the transmission and receipt
of packets. (Y/N)
(o) The Unix way to provide access to interfaces is still by assigning a unique
name to them (example: eth0), but that name doesn’t have a corresponding
entry in the filesystem. (Y/N)
(p) Communication between the kernel and a network device driver is
completely different from that used with char and block drivers. (Y/N)
(q) Instead of read and write, the kernel calls functions related to packet
transmission. (Y/N)
(a1) Traditionally, the _________ number identifies the driver associated with
the device.
(a2) Explain the following – every field and give comments on its contents:
crw-rw-rw- 1 root root 1, 3 Apr 11 2002 null
crw------- 1 root root 10, 1 Apr 11 2002 psaux
crw------- 1 root root 4, 1 Oct 28 03:04 tty1
crw-rw-rw- 1 root tty 4, 64 Apr 11 2002 ttys0
crw-rw---- 1 root uucp 4, 65 Apr 11 2002 ttyS1
crw--w---- 1 vcsa tty 7, 1 Apr 11 2002 vcs1
crw--w---- 1 vcsa tty 7, 129 Apr 11 2002 vcsa1
crw-rw-rw- 1 root root 1, 5 Apr 11 2002 zero
(a3) Within the kernel, the dev_t type (defined in
One of the first things your driver will need to do when setting up a char
device is to obtain one or more device numbers to work with. The
necessary function for this task is register_chrdev_region, which is
declared in
(a4) Static and Dynamic allocation of device numbers:
(a) Discuss the merits and demerits of both.
(b) Explain the sequence of obtaining a major and minor numbers for a driver.
(a5) What does it mean for a process to “sleep”?
(a6) What happens to that process that is made to sleep?.
(a7) How a sleeping process can come out of that state?
(a8) What can make a process to sleep?
(a9) Precautions to be taken before a process is put to sleep.
(a10) What is an atomic context?
(a11) What is wait_event to do with the process sleep?