CPSC503 Operating Systems Fall 2014
Project 2 – A Portable File System
Due: Tuesday, December 2, 2014. 11:59:59 PM (EST)
Objective:
1. Practical experience with the problems of file systems.
2. Experience with the Windows NT operating system.
3. Keep the definition simple. Don't read things into the problem that aren't there.
These will be individual projects. For Project 2 you will use Windows 7 or 8. (If you are
working away from the University you may be able to develop this program on Windows
7 or 8 but you will have to demo it on Windows 7.) You may write the program in any
language that is supported under any Integrated Development Environment (IDE) that
runs on Windows 7. Keep in mind that more help may be available to you in some
languages than in others. Furthermore, available controls, etc. may make some of these
tasks easier in one language than in another.
Problem Statement:
Implement a Portable File System (PFS). Allocate a file. Move files from the Windows
file system into your file. You should have your own directory structure, allocation table,
etc. inside your file. Move files back out of your file to the Windows file system.
When your program is running it should somehow accept the following commands:
open PFSfile Allocate a new 10 KByte "PFS" file if it does not
already exist. If it does exist, begin using it for further
commands.
put myfile Copy the Windows file "myfile" into your PFS file.
get myfile Extract file "myfile" from your PFS file and copy it to
the current Windows directory.
rm myfile Delete "myfile" from your PFS file.
dir List the files in your PFS file.
putr myfile "Remarks" Append remarks to the directory entry for myfile in
your PFS file.
kill PFSfile Delete the PFSfile from the Windows file system.
quit Exit PFS.
You can provide those commands either through menus or through buttons on a
form (or both). If the user clicks a button in your application window, it might open up a
dialog box to get a filename. Alternatively, you can just open up a text box and let the
user key in the name of a file (or whatever other variable information you need.)
Limits:
Filenames are a max. of 20 bytes. The directory need handle only Name, Size, Time and
Date. If the original PFS file fills up then you should create a new PFS "volume" with the
same name but a different suffix - e.g., pfs.1, pfs.2, etc., each the same size as the first
"volume". Your file system should use an allocation scheme where "disk blocks" are 256
bytes each. You should handle unusual conditions such as trying to put a file into the PFS
when a file with that name is already there, file too large to fit into one "volume", etc.
If you need to make assumptions, do so. Make a “reasonable” choice & include it in the
write-up. Reasonable means that you can explain the logic behind your choice. These
problems change each semester and it is difficult to imagine every question that might
come up. When in doubt, ask the Lecturer or the GA.
Write-up
You should submit a write-up as well as your program. Your write-up should include any
known bugs, limitations, and assumptions in your program. This write-up should be in
text-format and titled as ‘README’. It should be submitted along with your code. GA
will use the ‘README’ file to compile (or install) and run your program. If the GA has
trouble with your program then he will contact you to makeup it.
Submission
You will submit your program using Canvas Assignment
(https://bridgeport.instructure.com/login ). If you have any trouble to use Canvas, you can
contact GA or instructor.
You should zip your source files and write-up (README) into a single file and submit it.
Be sure that you include everything necessary to unzip this file on another machine and
compile and run it. This might includes forms, modules, classes, configuration file, etc.
DO NOT include the executable file itself, we will recompile it. The name of your
submitted zip file should be your “UB account”_”ID”_”Project2”. For example,
“jelee_000000_Project2.zip”.
Make sure your name and UB ID are listed in both your write-up and source code. You
may resubmit your program at any time. However, please do not ask the GA to grade
your program and then resubmit it. The submission time of the latest submission will be
used for determining whether the assignment is on time or not. Late submissions will be
accepted at a penalty of 10 points per day. In other words, it may pay you to do this
project early on the off chance that something prohibits your submitting it in a timely
way. If your program is not working by the deadline, submit it anyway and review it
together with GA for partial credit. Do not take a zero on any lab just because the
program isn’t working yet to
write my essay. If you have trouble getting started, ask the professor or the
GA.
Grading
points element
10 Allocate new PFS file
10 Copy file into PFS
10 Extract file from PFS
10 Handle second PFS Extent when full
10 Kill PFS file
10 Delete file from PFS
10 Add remarks to a file
10 DIRectory listing
10 Error conditions
05 Writeup
05 Comments in code
Extra credit:
10 Encrypt the PFS
10 Associate a program with a PFS file & launch it
putc myfile runcommand Associate a program to be run against this file.
run myfile Extract "myfile" from the PFS and run it with
the associated command.
To receive full credit for comments in the code you should have headers at the start of
every module, subroutine, or function explaining the inputs, outputs and function of the
module. You should have a comment on every data item explaining what it is about.
(Almost) every line of code should have a comment explaining what is going on. A
comment such as /* add 1 to counter */ will not be sufficient. The comment should
explain what is being counted.
- assignment 2
C Graphics programming is very easy and interesting. You can use graphics programming for developing your own games, in making projects, for animation etc. It's not like traditional C programming in which you have to apply complex logic in your program. In C graphics programming you have to use standard library functions to get your task done. Just you pass arguments to the functions and it's done. Firstly you should know the function initgraph which is used to initialize the graphics mode . To initialize graphics mode we use initgraph function in our program. initgraph function is present in "graphics.h" header file, so your every graphics program should include "graphics.h" header file.
Write a c C program to implement analog clock using graphics
-
- assignment 3
week 3 (Day 6)
Tuesday Afternoon |
| |
Hello Idris,
Project Title: Proposal to establish a One-Stop-Store (OSS)
& Job Recruiting Integrated Business Web site.
Your Role: To Developing Fictitious Text & Picture Contents for the
above group project
- For Student:
- Develop content name for five text (just
any) what do u mean content
name
1.
- Create Lists of exams past questions
category for primary (1-6) and secondary (1-6) students write;
- PRIMARY 1-6
1.
Social Studies
2.
Arithmetic
3.
English
4.
Social
Studies
5.
Culture
SECONDARY 1-6
1.
Mathematics
2.
English
3.
Physics
4.
Chemistry
5.
Biology
6.
Agriculture
- Unemployed/Applicant:
- Create list of five (5) jobs A to k which
an online applicant could search for in our site.
A.
Estate
Management
B.
Hotel
Management
C.
Project
Manager
D.
Supervisor
E.
Transport
Manager
- Create list of ten (10) training
programme an online applicant could enrol for
1.
Marine
Engineering
2.
Software
engineering
3.
Information
and communication officer
4.
Air Crew
Animal care
5.
Forensic
analysis
6.
Driving
7.
Beautician
8.
Physiotherapist
9.
GIS
Analyst
10.
Land
Adminisration
- Create list of five organizations willing
to sponsor candidate
1.
Patuji
Group
2.
Black and
Decker
3.
Antel
4.
Spectranet
LTD
5.
Towards
and Forward
- Employer:
- Create list of ten (10) employers in
search of applicant and Categorise their job vacancies by:
- Skilled Vacancies (Those required
skilled persons)
- Un-skilled Vacancies (Those requiring
unskilled persons)
- Those for graduate with theoretical
knowledge with no in depth practical)
- Shoppers: (this will be listed on the shoppers
navigation button based on their categories)
- Create five list each for;
Manufacturing
1.
Automobile
2.
Airplanes
3.
Food
4.
Textile
5.
Shoes
Building
1.
Roofing
sheet
2.
Electrical
3.
Ceiling
4.
Wood
5.
Door and
Windows
Food Utensils
1.
Frying pan
2.
Spoons
3.
Blinders
4.
Plates
5.
Cookers
Children toys
1.
Bicycles
2.
Dolls
3.
Skating
shoes
4.
Doll house
5.
Jump rope
5.
Advertisement
Corner:
- Create credential information for five
organizations that would have registered on our site with advert
- Create six advert picture to be of this
size: 340 x 200 pixels
340 x 200 pixel
Looking at the
proposed template i created using Ms Word 2013.
- Creat a brief coontent on "About
Us"
- Any others you feel would make our site ok
If you can work on the
database, fine but if not let me have all these items by this even.
Currently, am rounding up with The html structure for
the site and the JavaScript incoporated into it. I hope to start with the
database tomorrow morning. But since you have showed up, kindly assist with the
database if you can.
Good luck