Sharing /boot. Good or Bad idea?

Hi all,
If I want to install 2 distributions on one drive, I know I can share the swap partition. What about the /boot partition? My personal view so far, is that sharing a /boot partition is a bad idea, as overwritting can occur.
Any ideas/solutions on this? I understand that the bootloader must be installed only once (duh!) and that it should be configured to contain the 2 entries. My main concern is just how safe sharing /boot is?
Thanks

iphitus wrote:
kcy29581 wrote:
cool, I think that's what I'm gonna do on this system. I know how to make the entries in grub, that's not a problem. But obviously on bootup I can only have 1 bootable partition, so do I have to copy just the relevant kernel images from all distros to Arch's /boot for them to work, or do I also need to copy their coresponding System.map's?
Thanks for the info guys
1 bootable partition, old old old wives tale nowadays.
Your system boots, brings up the MBR, from that you could pass onto a bootloader on any partition or boot linux with a root fs on any partition.
you could have a bootloader on your mbr that passes onto another bootloader on hda1, which passes onto another grub/lilo on hda5 which passes to another one on hda6, etc etc. and any of them can boot a linux with a root partition on any partition.
iphitus
so iphitus, why do we have to make the partition where /boot is on "Active" during installation? Is this just to temporarily be able to read the kernel-image? I'm confused on this still...

Similar Messages

  • MBPR w/Hard Case = Good or Bad Idea?

    I am the happy owner of a new MBPr 15" and like many other owners am keen on protecting my investment. The first thing that came to mind was to outfit it with a hard case and being a detail guy I researched the topic online. Turns out many are saying that a hard case is NOT a good idea for the following two good reasons:
    extra weight on the screen wears down the hinges which can lead to a very expensive screen replacement.
    overheating/heating issues even with hard cases that have cutouts for vents that can cause permanent damaged to the battery and internal components.
    Apple sells the hard cases in their stores and it seems that they are divided on the answer with some "Genius" bar employees saying hard cases are not good and others suggesting them to protect your MacBook Pro. Hard case companies are of course saying that their products are safe to use (the contrary would seriously jeopardize the sale of their product). I have asked Apple and leading case/accessory maker Moshi to comment on this issue and will post their replies in this thread.
    My goal is to pool the statements, experiences and opinions on the subject to make it definitely clear once and for all if hard cases are indeed a bad idea to protect your Retina MacBook Pro. Do you have anything to say or share?

    The general rule of thumb is that sample-instrument samples should be stored on a separate drive. This is particularly crucial if you're streaming samples from disk (EXS with "virtual memory" on, or DFD (direct from disk) as found in other sample-based plugs).
    And you'll want to record audio on a separate drive as well, never on your system drive (except in a pinch) if you can help it.
    For a laptop, the ideal system would be to have separate external drives for audio recording and samples. If you're working on a tower/desktop model, these additional drives can be exclusively external drives or a combination of internal and external drives.
    My system:
    • Lacie 250G (video playback) FW400
    • Glyph 250G (sample storage #1) FW400
    • OWC 350G (sample storage #2) eSATA (via eSATA PCI-e card)
    • Maxtor 500G drive (audio recording/project drive) -- internal
    Works very nicely!

  • Bank is offering to increase my credit limit on 2 credit cards - good or bad idea?

    My bank is offering to increase my credit limit on 2 credit cards.I have an excellent credit score, and already have more than enough credit limit available on my credit cards.I know that a higher limit would make for a better credit score when there is some debt on the cards.HOWEVER - What I'd like to know:Is it ever a bad idea to accept a credit limit increase offer from a bank / credit card issuer?Also - Can a too high of a credit limit affect ones ability to get a mortgage or other loans?  Thanks!

    SeattleGuy1968 wrote:
    My bank is offering to increase my credit limit on 2 credit cards.I have an excellent credit score, and already have more than enough credit limit available on my credit cards.I know that a higher limit would make for a better credit score when there is some debt on the cards.HOWEVER - What I'd like to know:Is it ever a bad idea to accept a credit limit increase offer from a bank / credit card issuer?Also - Can a too high of a credit limit affect ones ability to get a mortgage or other loans?  Thanks!Depends how much debt we're talking about, 1% is still basically 1% even increasing your aggregate CL massively.  Doesn't matter for FICO if your balances aren't there, might matter for Vantage Score if you care about such things. As for a bad idea, no not really unless some future lender figures you're overextended.  Personally I don't limit chase just to limit chase, there are certain cards I want a high limit on (travel card, default spend card, and balance carrying cards to be explicit), and others such as my Freedom at 1K I couldn't care less what it was as I only use it for 5% rewards and it'd be rare for me to get a >1K purchase other than maybe Amazon during the holidays. Limits are irrelevant for mortgages and most other loans, the key there is your FICO score and your DTI ratio, and there the minimum payment amount counts, not the potential maximum. FWIW in the current market there's people with 4-5X their income in card limits on this forum, that may not be a fantastic idea for most people, but current market doesn't really matter and as such I'd probably accept them personally.  There are some people who chase credit card signup bonuses, and for those, limiting their current amount of available credit might sway an underwriting decision in their direction, and as such they might wish to decline, I just haven't ever done that... yet at least .

  • Transfer Hard Drive from 20" iMac to 27" iMac - Good or bad idea?

    I've just bought my wife a new 27" iMac to replace her 20" iMac. To keep things simple I'd rather just take out the drive in the 20 and put it in the 27. Anyone try this and is there any reason why it wouldn't work since the OS is "universal" for these recent machines?
    The reason I don't want to just run with a fresh install (which is what I would prefer to do) is that it's my wifes computer and then she'd have to start new with all her settings etc. While I think the migration asst is a great feature, i've also had other issues doing that that leaves a bit of a mess behind it and some permissions got screwy once.
    I may just give it a go and see if it works right away. I'd prefer not to spend lots of time "transferring" files, data, prefs between the old/new machines and just get up and running quickly since her 20" OS install is working great.
    Thoughts?

    LawrenceT,
    Welcome to Apple Discussions.
    *Very bad idea if you intend to use the OS that is on the 20" machine in the 27" machine for a number of reasons*. First you will void your 27" machines warranty and if the 20" has any left it's gone too. Next is you will run into problems with the 27" because the 20's OS is set up for that machine which has totally different specifications. What is wiser is to use Migration Assistant and simply move everything over, this is done when you intially turn on the new machine it will prompt you. If you have already set up the 27" then you can still run Migration Assistant. Just open the application and it will walk you through the process. If you have trouble finding MA simply open Spotlight (upper right corner icon that looks like a spyglass) and type in Migration Assistant.
    Regards,
    Roger

  • Install to external drive: good or bad idea

    I have an iMac that is currently on 10.5.5. However, it was originally a Tiger install. I performed an update install to 10.5.6 and while it runs, I have stability issues that came with the Tiger -> Leopard update that I know I can eliminate by doing a clean install.
    Of course, the problem with a clean install is that the total execution time is very lengthy (from install to last app license re-registered) and my workstation is DOA (or nearly so) until completion. And then, there's always the odd detail I forgot about that I have to research to find the answer.
    So, why can't or shouldn't I do the following, or how to make it better?
    1) Do a clean install to an external drive (I have a 500 GB USB drive I can use) Leave the internal drive intact until step #4.
    2) Install the OS, apps and utilities until it matches my current machine.
    3) Once ready, back up the internal drive to the external drive as a DMG. (BTW: there will be another time machine BU on another machine on the network -- so there will be redundancy.)
    4) Do a secure 7-pass erase of the internal hard disk (this performs hardware-managed low-level sector checks, turning off sectors that error on read/write)
    5) Use Carbon Copy Cloner to copy the external data to the internal boot disk
    6) Copy my documents from the backup to the new user folder.
    7) Viola! Reinstallation complete but I can access my data at nearly any time (latency depends on current task) if I must (except during #4)
    Where's the fly in this ointment?
    TIA!

    However, is there a way of achieving zero-ing out defective sectors, like SpinRite, <http://www.grc.com/sr/spinrite.htm> without my having to remove the hard disk?
    AFAIK, SpinRite does not actually "zero out" defective sectors in modern IDE hard drives. To better understand what it does (& in general the link between analog & digital data reading mechanisms in magnetic media), look beyond the brochures & study the “What's Under The Hood” technical note at http://www.grc.com/files/technote.pdf, especially the "Surface Analysis" section beginning on page 9.
    SpinRite's makers want you to believe that "weak" sectors are something to be very concerned about, in effect that reputable drive makers design their modern high density drives (ones several generations beyond those using MFM) to regularly rely on these 'defective' sectors to boost capacity, & that only SpinRite's technology will map them out before they cause data loss. This is a dubious idea at best. The techniques used in SpinRite's surface analysis are essentially the same ones modern ATA drives use to monitor for "grown defects" -- except that modern ATA drives contain their own highly capable, purpose-designed proprietary hardware & dedicated operating systems that SpinRite can access only indirectly through clever use of standardized extensions to the ATA command set to do what the drive does anyway.
    This is not to say that the product is without merit. It is primarily purposed as a data recovery tool, & for this the extended, low level statistical analysis of the 'raw' analog data from unreliable sectors is a powerful (if not unique to this product) method of data recovery.
    There is also some merit to the idea of proactive early detection of unreliable sectors that if used for data storage would eventually require the drive to struggle & perhaps to fail to get 'clean' data from them. (I believe this is what you mean by "zero-ing out defective sectors," just in more technically precise terms.) However, be aware that drives already do this, just with actual data instead of specially designed signals, & in general this is enough to detect sectors that are going bad before the data becomes unrecoverable, at which point the drive moves the data to another sector & maps out the first one to prevent its future use.
    In real world terms, these unrecoverable 'hard" errors due to grown defects are very rare in healthy drives, only becoming problematic in drives that are dying, typically because of head crashes, exceeding operating or storage temperature limits, or other traumatic events that affect the magnetic media layer. So something like SpinRite's surface scan is most useful for extending the life of a drive that has already become unreliable or for prescreening drives for gross manufacturing defects. Since the first use makes little economic sense in these days of cheap hard drives & the second use is potentially superfluous because gross defects would likely be quickly detected anyway, users must judge for themselves if using the product for this is worth it.
    (The same considerations apply for deciding if or when the frequently seen user advice to 'zero out the drive' as part of preparing it for use accomplishes anything of real worth or not.)
    Finally, getting back to the idea of moving the drive to a PC to run SpinRite & why I think it doesn't actually "zero out" defective sectors, I can think of no way it can force the drive to actually map out a sector unless the drive itself determines it should do so. This leaves the alternative of marking the sector in use in the file system's directory structures, which in effect would accomplish the same purpose, but with one important exception: its effectiveness is dependent on the file system remaining in place on the drive. IOW, if a user changed the file system of the volume or changed the partition scheme, the file system metadata marking the sector as in use would be lost, & SpinRite's surface scan would have to be done again after these changes to get it back.
    I want to make it clear that I am not certain that this alternative, file system based method of achieving what Spinrite claims it can do is actually how it works, but I can find nothing in the product's documentation that contradicts or conflicts with it, nor am I aware of any standard extension to the ATA command set that would allow SpinRite to directly set the grown defect list. If someone has info that shows I'm wrong, please post it. I have no problem abandoning theories that don't pan out.
    Message was edited by: R C-R

  • Magnetic iPhone Cases, Good or Bad Idea?

    Thinking of purchasing a new iPhone case which has a leather flip cover for the touch screen and has magnetic fasteners.
    Dose anyone know if this can affect the iPhone or it's touch screen?
    Thanks.
    here is the site and it is a dock ’able’ case.
    Found it on another thread here.
    http://www.senacases.com/Brands/Apple-iPhone-Cases/SENA-DOCKABLE-CASE-FOR-iPHONE

    How did you replace them?
    Did it come with that option or did you just cut them
    out?
    Lastly what case are you using?
    Thanks for the info, I'll be looking for a velcro
    case now.
    It's a cheap generic case that I got at a T-Mobile kiosk in the mall. I cut performed a little surgey and removed the 4 small magnets and used some self-stick Velcro from Office Max.
    I have a Case-Mate cover on order for protection, (http://www.case-mate.com/phones/apple/Perforated-Leather-iPhone-Case) but I HOPE I can still use my case (or something like it) as a carrier and not have to have it hanging exposed from a belt clip.
    Here are a couple of nice looking Velcro pouches that I'm actually considering as a replacement for mine. (The surgery wasn't completely successful, and it WAS a pretty cheap case to start with.)
    I think I like the looks of this one best:
    http://www.goincase.com/products/detail/leather-folio-es89018/2
    But this one's not bad either:
    http://dlo.com/Products/HipCase_Prod.tpl?command=showpage&cart=11840120571489758 0
    Good luck!

  • Keyboard cover, good or bad idea?

    Just wondering if having a cover on the keyboard affects the intake of air into the computer. Is the air intake in the keyboard?
    Thanks

    I have been told not to cover the keyboard due to air intake, so i would say no not a good idea,
    I may be wrong thou

  • Storing sounds/loops on alternate hard drives....good or bad idea? easy?

    Is this something one can do during installation?
    Would Logic work better or worse if all the sounds and loops were on another drive?
    I have plenty of room on my main drive, so it's not about space... it's about what works better. Advice?

    The general rule of thumb is that sample-instrument samples should be stored on a separate drive. This is particularly crucial if you're streaming samples from disk (EXS with "virtual memory" on, or DFD (direct from disk) as found in other sample-based plugs).
    And you'll want to record audio on a separate drive as well, never on your system drive (except in a pinch) if you can help it.
    For a laptop, the ideal system would be to have separate external drives for audio recording and samples. If you're working on a tower/desktop model, these additional drives can be exclusively external drives or a combination of internal and external drives.
    My system:
    • Lacie 250G (video playback) FW400
    • Glyph 250G (sample storage #1) FW400
    • OWC 350G (sample storage #2) eSATA (via eSATA PCI-e card)
    • Maxtor 500G drive (audio recording/project drive) -- internal
    Works very nicely!

  • Listener password - good or bad idea?

    Hello
    We have recently been audited on one of our Oracle databases (10.2.0.4). One of the recommendations is that we apply a password to our Listener.
    I’ve looked at some of the Oracle documentation & checked a few references on the web. What I’m picking up is contradictory. One site (http://andrewfraserdba.com/2007/05/24/listener-passwords-always-for-9i-never-for-10g/) explicitly says do not set a password for Listener in Oracle 10 (unless you need to) because it makes the system less secure. This is also my reading of Metalink 260986.1 (“In Oracle 10g and newer versions of the listener, the listener is secure out of the box. There should be no need to set a listener password to prohibit privileged LSNRCTL commands from being executed.”)
    On the other hand the Oracle 10g security guide does explicitly say that a password should be applied (“Protect the listener with a password" p. 2-7). Though it doesn’t go into detail on this point.
    Does anyone have any comment on this – I prefer not to apply a password as long as the system remains secure mainly because it’s just another thing to manage.
    Any advice appreciated.
    Chris

    That portion of the 10g guide wasn't updated as it should have been.
    You could log an SR with Oracle Support. I am sure that they will refer you to the Notes already mentioned.
    The 11gR2 guide doesn't have such a statement. The 11gR2 Net Services Administrator's guide even goes on to say that a listener password is deprecated.
    Hemant K Chitale

  • Considering getting Institutional version of FCE. Good or bad idea?

    Have the capability to get the $99 intitutional version of FCE 4. Someone said you can not upgrade that version in the future. Is there any other down-side with that version? Documentation, etc?
    Thanks,
    Alfredo

    Aside from the inability to upgrade the software package is identical.

  • Leaving charger plugged in-good or bad idea?

    While the MagSafe connector is really nice, it leads me to ask whether it's wise (or safe) to leave the charger plugged in continuously, as it does get warm. I've looked but cannot find any information on power draw when charger is connected vs unconnected to the MacBook.
    Does anyone know the recommendation for leaving plugged or unplugging a charger by a knowledgable source who knows how these devices are engineered?
    MacBook   Mac OS X (10.4.8)   2GB Apple RAM

    I now have further information.
    After charging, the power adapter is warm to hot.
    After running with power connected, the power adapter is warm to hot.
    After disconnecting the MagSafe connector (and letting time pass), the power adapter(while still plugged into the wall) is cool to the touch.
    I am therefore concluding that there is some active circuitry in the power adapter that senses (or responds to) the MagSafe connector being engaged, and that reduces the power draw and heat deterioration of the power adapter.
    As always, an answer from an authoritative source would be nice.
    MacBook Mac OS X (10.4.8) 2GB Apple RAM

  • Turning on Web Sharing - a bad idea?

    Mountain Lion killed Web Sharing but online forums say I can activate it in Terminal. 
    Is this a bad idea?  Is there a reason Apple killed web sharing e.g. it posed a security risk?

    RogerMac wrote:
    Thanks for the reply.  I always turned Web Sharing off whenever I wasn't using it.  I guess it will be on from now on because it's way too much trouble to turn it on and off through Terminal.
    The whole concept of "sharing" and "firewall" is woefully misunderstood. If only you are using it, then why share at all? I think that is the reason Apple removed the "web sharing" preference pane. Those services are meant for sharing data with other people. Virtually no one running Apache on a client version of OS X really wants to share that with anyone else. It is better to configure Apache to be always on and accept connections only from the local machine. Then, you are running the services you need, but not really sharing anything.

  • Appcelerator Titanium? good idea? bad idea?

    So in my attempt at learning Objective C and the iPhone SDK to build my own apps i have been directed to The Appcelerator Titanium program for Mac. Is this thing a good idea? It uses Javascript from what i understand is a bit easier to get behind than Object C or Java (which id like to eventually do Android apps to).
    So any opinions on this? good? bad? any input would be great.
    Thanks

    My iPhone started acting "loopy" in March. Locked up while I was on the road; had to buy a Go phone. After a complete restore... well, it continued to act flakey: would randomly ask for SIM PIN, would randomly restart itself, would loose signal which it regained after restart. Trip to the Genius bar in Tampa: replaced the phone, then had AT&T replace the SIM card. Problems returned. Trip to Genius bar in Orlando: another phone but problems persisted. Call to Apple: conference call w/ 2 Apple techs, AT&T tech and decided to get another SIM card from AT&T store but not turn on SIM PIN. Problems persisted. Another call to Apple on Saturday, May 3. Apple tech Lynn asked "Do you have a belt case w/ a magnetic clasp?" I said "Yes." She said "Get rid of it." Her daughter had similar problems w/ iPod which were caused by case w/ magnetic clasp. So I stopped using the case w/ magnetic clasp and my iPhone has been rock solid ever since. Kudos to Lynn. Note to other Apple techs: That should be the 1st question you ask.

  • Usb hard drive good/bad idea?

    greetings,
    I was informed that it was a bad idea to attach a usb hard drive because it will be running(spinning/processing) at all times awaiting commands to whomever needs to access via network. furthermore adding that this would effect longevity of the hard drive as well as creating heating issues. he suggested that a better solution is to setup an extra computer(which i have access to) as a server with all my hard drives attached.
    my goal is to allow all to access a single hard drive via network.
    so my questions are: 1) is it true that a usb hard drive attached to the ap extreme will running 24/7? & 2) which is the better solution to allow all to access a hard drive a) usb hard drive attached to the ap extreme or b) create a server with the extra mac mini?
    thank you in advance for your responses!

    Ok, in case anyone is interested, done a little research, flash drives are fat 32 format, the hd is ntfs format, just on a whim i tried a hub as Jerry had mentioned above since I had one laying around, no difference, so I reformatted my hd to fat 32, put partial music library on the hd, will try it today. Another note to this, a few people have said that if music is spread over 8 folders, only the 8 will show up, also you will have to manually select the folder to be played through media source, solution here is 1 massive folder, I will try this as well.

  • It's working, but is it a good or bad design?

    hiya
    I hope I�m not breaking any forum rules, but any help would be greatly appreciated.
    I haven�t really done any programming so far, so finally writing an app with more than few lines of code was something different. Anyways, I managed to write it, but truth be told, I have no idea whether my design choices ( I�m not sure if that�s the right term ) were somewhat good or completely off. Thus, if I don�t know what parts of program are designed badly ( and why they are considered bad), then I won�t know where to improve. So I�m hoping someone could point out ( at least the most obvious )design mistakes I made.
    It�s a simple �chat� server where several clients ( up to twenty ) can connect to the server and talk to each other. In essence:
    1.server creates new client thread for each newly accepted connection
    2.if one of these client threads receives some data from the client, then:
    3. this client thread creates new ControlThread object (and passes received data to it )
    4. ControlThread object in turn spawns a new thread
    5. Finally, this spawned thread will send data to all client apps.
    I must point out that I could handle some things better using collection classes. But ignoring that, I�m most interested in other design flaws I made. For example:
    a) how scalable is this server app?
    b) what would you�ve done differently ( in terms of basic program structure )? Perhaps creating ControlThread object each time data needs to be sent to other client apps is a bad idea
    c) etc
    package serverchat;
    import java.net.*;
    import java.io.*;
    public class Main {
        public static void main(String[] args) {
            Server.runAll();
    class Server{
        static int servPort = 1600;
        static ServerSocket servSock;
        static Thread controlThread;
        static ClientHandling[] clientClass=new ClientHandling[20];
        static int numClients = 0;
        static Socket clientSockets[] = new Socket[20];
        static void runAll(){
            initServer();
            handleClient();
        static void initServer(){
            try{
             servSock = new ServerSocket( servPort );  
             catch(Exception e){}
        static void handleClient(){
            try{
                while(true){
                  clientSockets[numClients]  = servSock.accept();
                  clientClass[numClients] = new ClientHandling(clientSockets[numClients]);
                  numClients ++;               
            catch(Exception e){
    /*Each time some clientHandling thread receives data from client,
    it creates new ControlThread thread. This thread then sends this data
    to all clients connected to this server*/
    class ControlThread implements Runnable{
        ClientHandling[] clientClass=new ClientHandling[20];
        int numClients;
        String message;
        Thread t;
        ControlThread(String message){
            this.message = message;
            this.numClients = Server.numClients;
            this.clientClass = Server.clientClass;
            t = new Thread(this);
            t.start();
        public void run(){
            System.out.println("ControlThread has started");
                   for(int i= 0; i < numClients; i++){
                       if( clientClass[i] !=null ){
                           tellClients(i);
        /* sends data to all the clients. It does this by calling contrToClient()
         on an object that received this data from the client*/
        void tellClients(int i){
               clientClass.contrToClient(message);
    class ClientHandling implements Runnable{
    Socket clientSocket;
    Thread t;
    String message;
    OutputStreamWriter clientWrite;
    InputStreamReader clientRead ;
    BufferedReader readBuf;
    BufferedWriter writeBuf;
    ClientHandling(Socket s){
    clientSocket = s;
    startThread();
    void startThread(){
    t = new Thread(this);
    t.start();
    public void run(){ 
    try{        
    clientRead = new InputStreamReader (
    clientSocket.getInputStream(), "utf-8");
    readBuf = new BufferedReader (clientRead);
    catch(Exception e){ 
    do{   
    try{
    clientSocket.setSoTimeout(1000);
    message = "";
    message = readBuf.readLine();
    if ( !message.equals("") ){
    informContrThread();
    System.out.println(message);
    catch(Exception e){
    }while ( !message.equals("Stop") );
    try{
    clientSocket.close();
    catch(Exception e){
    /*this is the actual method that gets called by ControlThread object and
    sends received data to all the client apps*/
    void contrToClient( String message){
    try{
    OutputStreamWriter clientWrite = new OutputStreamWriter (
    clientSocket.getOutputStream(), "utf-8");
    writeBuf = new BufferedWriter (clientWrite);
    catch(Exception e){
    try{
    writeBuf.write(message + System.getProperty("line.separator"));
    writeBuf.flush();
    catch(Exception e){   
    try{
    clientSocket.close(); /* I assume I should close the connection
    with client if write() throws an exception? */
    catch(Exception e1){}
    /*creates new ControlThread object, which in turn will
    make sure all client apps receive this data*/
    void informContrThread(){
    System.out.println("informing contrThread");
    new ControlThread(message);
    thank you                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    1.server creates new client thread for each newly accepted connection Good. Make sure the server doesn't do any I/O in the accepting thread, including even construction of input and output streams.
    2.if one of these client threads receives some data from the client, then:
    3. this client thread creates new ControlThread object (and passes received data to it )Why? What does the Control thread do that the client thread can't do? Does the client thread really create a new Control thread per piece of received data? What's the purpose of the Control thread here?
    4. ControlThread object in turn spawns a new thread Again why?
    From your description you appear to be creating:
    (a) a thread per connection
    (b) a thread per piece of received data
    (c) another thread per (b)
    What you probably need for a chat server is an input thread and an output thread per connection. The output thread should read a queue and the input thread should write to the appropriate queue(s), making sure you don't create a loop by sending the client's own data back to him.
    5. Finally, this spawned thread will send data to all client apps.No. Use one output thread per connection, as described above. As writing to a socket can block, you shouldn't use a single thread for writes to more than one client, otherwise the whole system can stall due to one non-co-operating client.
    a) how scalable is this server app?It's about as non-scalable as it could possibly be. You will have an explosion of threads per item of data received if you've described it correctly, and you already have too many threads per connection.
    b) what would you�ve done differently ( in terms of basic program structure )?Almost everything: see above.
    Perhaps creating ControlThread object each time data needs to be sent to other client apps is a bad ideaMost definitely.

Maybe you are looking for

  • G5 DVD burner error message? Help please?

    I get this error message when I try burning a 1gb quicktime movie to dvd on my pre installed standard burner. Thanks in advance the link below is a screenshot of the error http://www.darkstargraphics.com/dvd_message.gif Im at a loss and ready to by a

  • Help with Alert.show()

    I need help with Alert.show(). My goal is to display a message box when a button is pressed. My program header: <?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:

  • Smart Dialing option not showing in my BB Q10

    Hi, I purchased BB Q10. In my phone "Smart Dialing" Option not coming when i go to setting. Kindly help me at the earliest.

  • Could not validate base system?

    Hi, my hard drive has blown up so I have installed another. However during the instalation of OS X Tiger it will lock up very near the beginning of the installation process and gives the following error message. Installer Failed The Installer Could N

  • Comment mettre à jour IOS sur mon Ipad 2

    bonjour, je n'arrive pas à mettre l'ios de mon ipad 2 à jour. le PC sur lequel j'avais procédé à l'installation de mon ipad n'existe plus. j'ai un autre PC sur lequel j'ai installé itunes pour essayer de mettre mon ipad à jour, itunes ne démarre pas.