Tuesday, 4 May 2010

Part A:
Lex Programs:
1) Program to count the number of characters, words, spaces and lines in a given
input text file.
2) Program to count the numbers of comment lines in a given C program. Also
eliminate them and copy the resulting         program into separate file.
3)Program to recognize whether a given sentence is simple or compound.
4)Program to recognize a valid arithmetic expression and to recognize the identifiers
and operators present. Print them         separately.
5) Program to recognize and count the number of identifiers in a given C program
file.

Shell Programs:
1) Shell script that accepts two file names as arguments, checks if the permissions
for these files are identical and if the     permissions are identical, outputs the
common permissions, otherwise outputs each file name followed by its
    permissions.
2)Non-recursive shell script that accepts any number of arguments and prints
them in the Reverse order, ( For example, if the script is named rargs, then
executing rargs A B C should produce C B A on the standard output).
3)Shell function that takes a valid directory names as an argument and recursively
descends all the subdirectories, finds the maximum length of any file in that
hierarchy and writes this maximum value to the standard output.
4) Shell script that accepts path names and creates all the components in that
pathnames as directories. For example, if         the script name is mpe, then the
command mpe a/b/c/d should create directories a, a/b, a/b/c, and a/b/c/d.
5)Shell script that accepts valid log-in names as arguments and prints their
corresponding home directories. If no         arguments are specified, print a suitable
error message.

Part B:
Yacc Programs
1)Program to recognize a valid arithmetic expression that uses operators +, -, * and
/.
2)Program to recognize a valid variable, which starts with a letter, followed by any
number of letters or digits.3)Program to recognize strings ‘aaab’, ‘abbb’, ‘ab’ and ‘a’ using the grammar (a b ,
n>= 0).
                                        n
4)Program to recognize the grammar (a b, n>= 10).
5)Program to evaluate an arithmetic expression involving operators +, -, * and /.

Kernel Module Programming
1)Linux Kernel Module Program to print "Hello,World!"
2)Linux    Kernel   Module     Program      to   demonstrate module
documentation.(using     MODULE_LICENSE,MODULE_AUTHOR,
MODULE_DESCRIPTION etc)
3)Linux Kernel Module Program to demonstrate command line argument
passing.

Tuesday, 6 April 2010

LKMP

Refer to lccsjce.blogspot.com for updates on device drivers.

SS Laboratory Topics

The following are the laboratory programs that you can try on:


1) Design a macroprocessor
2)Others (source:http://en.wikipedia.org/wiki/System_software)
  • Loaders
  • Linkers
  • Utility software
  •                       
  • Disk storage utilities
  • Disk defragmenters can detect computer files whose contents are broken across several locations on the hard disk, and move the fragments to one location to increase efficiency.
  • Disk checkers can scan the contents of a hard disk to find files or areas that are corrupted in some way, or were not correctly saved, and eliminate them for a more efficiently operating hard drive.
  • Disk cleaners can find files that are unnecessary to computer operation, or take up considerable amounts of space. Disk cleaner helps the user to decide what to delete when their hard disk is full.
  • Disk space analyzers for the visualization of disk space usage by getting the size for each folder (including sub folders) & files in folder or drive. showing the distribution of the used space.
  • Disk partitions can divide an individual drive into multiple logical drives, each with its own file system which can be mounted by the operating system and treated as an individual drive.
  • Backup utilities can make a copy of all information stored on a disk, and restore either the entire disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental deletion).
  • Disk compression utilities can transparently compress/uncompress the contents of a disk, increasing the capacity of the disk.
  • File managers provide a convenient method of performing routine data management tasks, such as deleting, renaming, cataloging, uncataloging, moving, copying, merging, generating and modifying data sets.
  • Archive utilities output a stream or a single file when provided with a directory or a set of files. Archive utilities, unlike archive suites, usually do not include compression or encryption capabilities. Some archive utilities may even have a separate un-archive utility for the reverse operation.
  • System profilers provide detailed information about the software installed and hardware attached to the computer.
  • Anti-virus utilities scan for computer viruses.
  • Hex editors directly modify the text or data of a file. These files could be data or an actual program.
  • Data compression utilities output a shorter stream or a smaller file when provided with a stream or file.
  • Cryptographic utilities encrypt and decrypt streams and files.
  • Launcher applications provide a convenient access point for application software.
  • Registry cleaners clean and optimize the Windows registry by removing old registry keys that are no longer in use.
  • Network utilities analyze the computer's network connectivity, configure network settings, check data transfer or log events.
  • Command line interface (CLI) and Graphical user interface (GUI) Allows the user to contact and make changes to the operating system.
3)Disassemblers

Monday, 8 March 2010

Linux Kernel Module Programming

The file has the necessary examples for beginners to learn.


It includes Hello World examples, multiple file kernel modules and the LKMP Guide.


Download lkmp.tar.gz here for System Software lab.



Download lkmp.tar.gz here for LKMP Session.

It contains both example modules and presentation.


Courtesy: Linux Kernel Module Programming Guide