04-16-2014
Ask for the explanation of types of RAM of disk
I have read a document which tells me the following 4 things are done by the RAM embedded on disk driver controller. But I don't know what's difference between buffer and cache. Thanks!
RAM on disk drive controllers
1 firmware
2 speed matching buffer
3 prefetching buffer
4 cache
Last edited by 915086731; 04-16-2014 at 05:53 AM..
8 More Discussions You Might Find Interesting
1. BSD
I am running Open BSD 3.8 (3.5 upgrade) on a Pent Pro. 200, 64 Megs Ram, Nvedia Vanta TNT 16 Megs, Realtech 8139 Nic. When running ifconfig -a I get this error back. I've run searches on google no deal. I can get Stack overflow or psync, but not both. So I would really like to know how to fix it. ... (0 Replies)
Discussion started by: jmcpreach
0 Replies
2. UNIX for Advanced & Expert Users
I have to get a file created through the crontab everyday but with a different name..
i.e., filename must have the date in it.
e.g., abcd-12.10.2007.dat
When I asked this on another forum of this very site.. I didn't get my answers.. so, just for the heck of it, I'm posting this here.... (0 Replies)
Discussion started by: pranavagarwal
0 Replies
3. HP-UX
Hi,
I get a problem with stack overflow on HP-UX, when running a C program.
Pid 28737 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space,
or stack size exceeded maxssiz.
The possible cause i found, was that the definition of a structure had... (0 Replies)
Discussion started by: karthikb23
0 Replies
4. Ubuntu
I have built kernel 2.6.35 on my Ubuntu system with some specific requirement. I also built some app defined module with the same kernel. I booted up the built version and I find it did not work properly as there is some gui and other modules missing problem. But the system booted up and I did... (0 Replies)
Discussion started by: sunilsukumar4u
0 Replies
5. UNIX for Dummies Questions & Answers
Help!
I have an AIX system that has a power outage.
When I logged in as root and got the system up and running it all looked ok.
But.....when a user tries to log in they receive the error: The perform stack has overflowed OP=2117 PC=2124 E=46 in emmcshflif
icrun is finished
How can I fix... (1 Reply)
Discussion started by: dlegnar
1 Replies
6. UNIX for Advanced & Expert Users
Hi guys,
please help me get the answers of these questions which I faced in an interview @ Yahoo
1. I want to " ls " few million files, certainly I cannot do so because ls has some restriction in KBs, how can I do it alternatively.
2. Change the system in such a way that while booting up,... (2 Replies)
Discussion started by: gauravsharma29
2 Replies
7. What is on Your Mind?
Today I mapped out the new badging system using FA icons, Beta 1 in no particular order except a 6 x 8 grid:
https://www.unix.com/members/1-albums215-picture991.png
The prototype HTML code for this layout:
<style>
.fa-badge-grid {
font-size: 1.5em;
}
.row {
... (38 Replies)
Discussion started by: Neo
38 Replies
8. Windows & DOS: Issues & Discussions
I have two DNS resolvers in /etc/resolv.conf file. The top one is Windows DNS server, and the bottom one is my wi-fi router. Please see below. nameserver 192.168.1.126 nameserver 192.168.1.1
In Windows DNS server, the sole "Forward Lookup Zone" is biman.net
When I query for host in the zone... (6 Replies)
Discussion started by: broy32000
6 Replies
LEARN ABOUT MINIX
biodone
biodone(9F) Kernel Functions for Drivers biodone(9F)
NAME
biodone - release buffer after buffer I/O transfer and notify blocked threads
SYNOPSIS
#include <sys/types.h>
#include <sys/buf.h>
void biodone(struct buf *bp);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
bp Pointer to a buf(9S) structure.
DESCRIPTION
biodone() notifies blocked processes waiting for the I/O to complete, sets the B_DONE flag in the b_flags field of the buf(9S) structure,
and releases the buffer if the I/O is asynchronous. biodone() is called by either the driver interrupt or strategy(9E) routines when a buf-
fer I/O request is complete.
biodone() provides the capability to call a completion routine if bp describes a kernel buffer. The address of the routine is specified in
the b_iodone field of the buf(9S) structure.
If such a routine is specified, biodone() calls it and returns without performing any other actions. Otherwise, it performs the steps
above.
CONTEXT
biodone() can be called from user or interrupt context.
EXAMPLES
Generally, the first validation test performed by any block device strategy(9E) routine is a check for an end-of-file (EOF) condition. The
strategy(9E) routine is responsible for determining an EOF condition when the device is accessed directly. If a read(2) request is made
for one block beyond the limits of the device (line 10), it will report an EOF condition. Otherwise, if the request is outside the limits
of the device, the routine will report an error condition.
In either case, report the I/O operation as complete (line 27).
1 #define RAMDNBLK 1000 /* Number of blocks in RAM disk */
2 #define RAMDBSIZ 512 /* Number of bytes per block */
3 char ramdblks[RAMDNBLK][RAMDBSIZ]; /* Array containing RAM disk */
4
5 static int
6 ramdstrategy(struct buf *bp)
7 {
8 daddr_t blkno = bp->b_blkno; /* get block number */
9
10 if ((blkno < 0) || (blkno >= RAMDNBLK)) {
11 /*
12 * If requested block is outside RAM disk
13 * limits, test for EOF which could result
14 * from a direct (physio) request.
15 */
16 if ((blkno == RAMDNBLK) && (bp->b_flags & B_READ)) {
17 /*
18 * If read is for block beyond RAM disk
19 * limits, mark EOF condition.
20 */
21 bp->b_resid = bp->b_bcount; /* compute return value */
22
23 } else { /* I/O attempt is beyond */
24 bp->b_error = ENXIO; /* limits of RAM disk */
25 bp->b_flags |= B_ERROR; /* return error */
26 }
27 biodone(bp); /* mark I/O complete (B_DONE) */
28 /*
29 * Wake any processes awaiting this I/O
30 * or release buffer for asynchronous
31 * (B_ASYNC) request.
32 */
33 return(0);
34 }
...
SEE ALSO
read(2), strategy(9E), biowait(9F), ddi_add_intr(9F), delay(9F), timeout(9F), untimeout(9F), buf(9S)
Writing Device Drivers
WARNINGS
After calling biodone(), bp is no longer available to be referred to by the driver. If the driver makes any reference to bp after calling
biodone(), a panic may result.
NOTES
Drivers that use the b_iodone field of the buf(9S) structure to specify a substitute completion routine should save the value of b_iodone
before changing it, and then restore the old value before calling biodone() to release the buffer.
SunOS 5.10 23 Apr 1996 biodone(9F)