All right, welcome back to operating systems. So today we get to chill finally. So it's been a bit of a whirlwind. Today we're just talking about basic scheduling, basic. We get to essentially relax. This will not be surprising if you have lived life or ever gone to a restaurant. This will not be very surprising. So we have two types of resources on our computer. If we want to categorize them like this, we can categorize them as preemptible and non-preemptible. So a preemptible resource can be taken away at any given time and used for something else or otherwise shared. So a CPU is a preemptible resource. And it can be shared through scheduling. I'm sure you've encountered this resource many times in your life that you can actually share. And then, hey, if it's highly contested, maybe you have to schedule it some time to actually use it. A non-preemptible resource cannot be taken away without some type of acknowledgement. So like disk space, for example. So if your file is using a gig or however much it's using, you can't just take away like a few megabytes of it and use it for something else because then you probably invalidate the whole file. And that's just not the way file works. Memory is also an example of this. So a non-preemptible resource is gonna be shared through allocations and deallocations. So there's gonna be some explicit requesting of a resource and then some explicit saying, I'm not going to use it anymore. And just if you ever get into high performance computing, while suddenly CPUs become non-preemptible resources where you can actually say, hey, I need this CPU exclusively for an amount of time and then you give it back whenever you're done with it. But for this course for general computing, we don't do that with CPUs. So the dispatcher that we kind of talked about earlier that does the actual context switching and the scheduler work together. So the dispatcher is like the low level thing that is responsible for doing the context switching between processes, which is just swapping their registers. So we're changing which given process is actually running at the CPU at any given time. Then the scheduler is like the high level policy. So it is responsible for deciding what process to run and when. So the scheduler is going to run at minimum whenever the process changes states. So we'll consider, for instance, non-preemptible processes. So once you give them CPU, they're just going to execute until they eventually terminate. Kinda like that Uniprogramming operating system we saw earlier. So in this simplified world, once the process starts, it keeps on going until it finishes. So in this case, the scheduler can only make a decision when a process terminates. So out of the current processes that want to run, which is the chosen one I'm going to choose to run right now. So preempt, if you have a preempt of kernel, it allows the operating system to run the scheduler at will. So if you use that uname command again, give dash v, it gives you like a whole bunch of information. One of the things that will give you is a preempt. So it will say that, hey, I preempt processes and they don't get to decide. So when we are doing scheduling, we care about four major metrics. And the first one is hopefully somewhat self-evident. We want to minimize waiting time and response time. What that means is we want to minimize the amount of time a process is not executing for. That is waiting time. And we also want to minimize response time. So that is the length of time from when it wants to start till it first starts executing. So that's when you would perceive some interaction with the process. That is why it's called response time. You also want to maximize CPU utilization. If you have a system with multiple cores, you don't want to just let them sit their idle when they could be doing some useful work. You also want to maximize throughput that is completing as many processes as possible. So you want to get through as many processes as possible. And then you've less to run and then you can start running some other ones. And the last one is fairness, which is kind of at odds with the rest of them. So ideally you would like to give each process the same percentage of the CPU or otherwise be fair because if a process wants to run, you essentially want to ensure it will run at some point in the future. So the first type of scheduling is what everyone has probably encountered if you've ever went to like any fast food restaurant or anything ever. It is first come, first serve. So you are in a line. So the first process that arrived gets the CPU and then the processes get stored in a first in, first out queue based off their arrival order. And what process do we want? Do we know runs next? Well, it's whatever is the front of the queue because that is the one that arrived first. So it's just a good old fashioned line. So everyone loves Gantt charts. So that is how we will illustrate the schedule today. So let's consider the following processes. So throughout all of today, we'll be scheduling four processes, processes P1, P2, P3 and P4. And then in the other columns, I will have their arrival time. So I just separate this into time units just to make it easier. So the arrival, all the times are in just time units without a unit. So the arrival time in this case is they all arrive at the same instant pretty much at time equals zero, except they assume we arrive at this order like they're off by a few nanoseconds or something like that. Then burst time, that might look like a weird term. It is just the term that is supposed to represent how long each process wants to run on the CPU for. So process one wants to run for seven time units, process two for four, so on and so forth. So if we assume this arrival order, so P1, P2, P3, P4, then this is our schedule. At time zero, we just pick whatever process is at the front of the line. So it is process one and it runs for seven time units. So because we're not doing any preemption or anything like this, we just schedule it until it terminates. So at time seven, it terminates and then we have to make a decision. Oh, what do we need to run next? And the next process in line is process two. So it gets to run for four time units, takes us to time 11, next process in line is P3, it takes two time, or one time unit, takes us to 12, and then P4 is the last one in line, takes four time units, makes it all the way to 16. So then the question you might get asked is like, oh, well for each process, what is the average waiting time for all processes? So P1 waited around for zero time units, it was scheduled immediately. P2 was scheduled after seven time units because it arrived at time equals zero as did the rest of the processes. P3 waited for 11 time units and P4 waited for 12 time units. So if you do 12 plus 11 plus seven plus zero divided by four, because that's how average is work, you should get something like 7.5. So 7.5 was the average waiting time for these processes. So let's see, same processes, but let's just assume a slightly different order. So we will assume that our line looks like P3, P1, or sorry, P3, P2, P4, and then P1. So if we have first come first serve, this is our schedule. So at time zero, the first process in line is P3. It executes for one time unit. At one time unit, we have to pick the next process, which given our order is P2. So it executes for four time units, then P4 executes for its four time units because it is next in line, and then P1 executes for seven time units. So nothing too exciting unlike previous lectures, right? Fairly straightforward. So if we compute our average waiting time now, it is zero plus one plus five plus nine. So if we add all those up, divide by four, we get 3.75. So having the same processes, our average waiting time went down by half just because of the order they happen to arrive in, which sounds really variable and something that we would ideally like to control. So our first actual algorithm is something called the shortest job first. So it is a slight tweak to first come first serve. And I say algorithm, it's not much of an algorithm. All it does is pick the job with the shortest burst time first. And again, we are still assuming non-preemptible resources. So now I will change the arrival time slightly so that each process arrives at a slightly different time just to make things more interesting. And then we'll use this example for the rest of the lecture. So on the top, just to make things easier, I put their arrival time on top. So at time zero, P1 arrives at time two, P2 arrives at time four, P3 arrives at time five, P4 arrives. So those are arrival times on top and our algorithm is shortest job first. So at time equals zero, we only have one process to schedule so we do not have a choice. So we have to run P1 for seven time units. So we run it for seven time units. And then while we're running it, all the rest of the processes arrive. So we have P2, P3, and P4. So between P2, P3, and P4, if we're doing shortest job first, we look at the burst times and then pick the lowest one first. So the lowest one out of all these processes is P3. So whatever the CPU is free at time seven, we would pick P3 because that is the shortest job. So then at time eight, we have the decision to pick between P2 and P4. They have the same burst time. So in order to break this tie, we'll just pick the one with the shortest arrival time. Just why not? So P2 arrived before P4, so we'll pick P2 and it will run from eight to 12 time units. And then at 12, we have to make another scheduling decision. There's only P4 left, so we would schedule that for the last time unit. So if we compute our average waiting time, we have to take into account whenever processes arrive. So for P1, it arrived at time equals zero, and then it started executing at time equals zero. So it waited for zero time units. Then if we calculate the waiting time for P2, well it arrived at time equals two and P2 started executing at time equals eight. So eight minus two equals six. So it was waiting around for six time units before it executed. For P3, it arrived at time equals four, executed at time seven. So it waited for three. And then finally for P4, well it arrived at five, executed at 12 and it waited around for seven time units. So our average waiting time now is four. So we can use that to base everything else off. All right, any questions so far? This should be relatively boring, right? Fairly straightforward, easy types of questions to ask on an exam that should essentially be free marks. So the first thing is that shortest job first, not super practical. So through math you can prove that it is optimal at minimizing the average waiting time if there's no preemption. But in reality you will never know the burst times of any processes. So maybe you can guess them, have some model for that or something like that. You could do something like that but in general you might be wrong and some things aren't always predictable. And the other disadvantage of this is you may starve long jobs which means starvation in this case just means they will never execute. So if I have one really long job and then I have enough short jobs to keep the CPU busy, well that means that long job will never execute. So say every time unit I had a one time unit job come in and I also had a job that wanted to execute for like eight time units while since new short jobs are constantly coming in that job that was eight time units will never execute and that term we use is that it gets starved. So it never actually executes. So two reasons it's not practical. So we can tweak it slightly if we want to add preemptions to the mix. So shortest remaining time is that tweak. So we just add preemptions and then we will schedule the process with the shortest remaining time left. So again, we're just gonna assume the minimum execution time is one time unit just to make our lives easier and this will also optimize the average waiting time but still have that starvation issue. So here's what it would look like for that same schedule but now we have preemptions. So it starts off the same with at time zero P one is the only thing we can schedule so we have to schedule it. So we start executing it and then at time two while P two comes in, P two comes in and we have executed P one for two time units. That means it has five time units remaining right because it's total burst time is seven. So it has five time units remaining and P two has four time units remaining because we haven't started executing it yet. Well, four is shorter than five so we would pick to execute process two. So we execute process two for two time units and then process three comes in at time equals four. So at that point, process two has two time units left because it wants to execute for four and so far executed for two. So it has two time units remaining and process three just has one time unit remaining because that's all it wants to execute for. So it is now the shortest. So we would immediately schedule it to run. It would run for its one time unit. So when it finishes P four comes in which also which wants to execute for four time units. Well, guess what P two just has two time units remaining. So we would schedule P two to run. So P two would run for its two time units and be done at time equals seven. Then we just have to choose between P four and P one. P one has five time units remaining and P four has four. So we'd schedule P four to run. It runs for four time units. It's done at time 12 or sorry, time 11. Then at time 11 P one gets scheduled for the last five time units and it finishes out. So the average waiting time here. Well, for process one it's waiting around for a total of nine time units this time in the middle. And if you don't want to count it there is a shortcut. So you can just figure out what time did it stop executing? So P one stopped executing at time equals 16 and started at time equals one. So that's the total time it was trying to run for. And then you just subtract the amount of time it was actually running for, which is its first time. And that will get you the amount of time it was waiting for. So if you do 17 minus seven guess what you get nine. So P two waited around for one time unit while P three ran, P three waited for zero time units because it was scheduled immediately. And then P four ran waited for two time units, right? Because it came in at time equals five and waited two time units for seven. And yeah, this is the comment. I'm running into the same problem where I don't know the burst time is in advance. I'm just showing you the preemptible version of it. Yep. The shortcut? Yeah, so for the shortcut, if you don't want to like, so like the waiting time for, here let's pick a different one. So the waiting time for P two, let's say, say there was a bunch of things in the middle and we didn't want to count them. Well, we would just take the total amount of time it was like available for. So it P two ended at time equals seven and one started at time equals two. So the total time it was hanging around for was five time units. And then if you want to calculate the waiting time, you can just subtract how much it's burst time from that. So total time is available as five time units. It was running for four of those. Therefore it must have been waiting around for one of those. And then yeah, so that's just a shorter way. If there's a lot of switching, might be annoying to actually count between and for longer ones, you know, why would you? So that's just a shortcut you can do. All right, so far so good. But yeah, this is also super impractical. Yep. Yeah, so this is just, so most of the time this is presented because it's provably like the shortest waiting time. So you use it to compare things after the fact to, so we're gonna use this as essentially a benchmark for this, but it, yeah, it has some problems where we don't know the burst times ahead of time and it has that starvation issue, which if something wants to run for a long time, it might never actually execute. So here's our real one. It's called round Robin and it's probably not terribly surprising either.  Round Robin is exactly that. So, so far we haven't introduced fairness. So, you know, if the last algorithms were represented like a toy or something like that, well, you'd probably be very mad depending on what sibling you were. And we haven't talked about fairness at all or tried to evaluate it. Obviously starvation is, you know, a counter example to fairness. Starving something is not terribly fair. So, what the offering system does to round Robin is it divides executions into time slices and in the literature, you might find them called quanta. Why are they called quanta? I don't know, they're computer scientists. They wanna try to be fancy. They're just time slices. And an individual time slice is called a quantum again. Don't ask me why, but you might encounter that. And what this does is just maintain a FIFO queue similar to first come first serve except it will keep on going around and around and around based off the time slices. So, what this will do is it will preempt the process if it is at the end of its time slice and essentially throw it to the back of the queue. All right, you go to the back of the line. So, what are some practical considerations in determining this quantum length or the length of the time slice? Yep. Yeah, speed of your processor. So, if you pick it really, really, really small then you're probably gonna waste a lot of time doing like context switches, right? So, switching between processes. What is the opposite problem if I pick a super, super huge quantum length? Yep. Yeah, that's the same thing as first come first serve. So, if my quantum length is like eight years then it's the same as first come first serve which we know kind of sucks.  So, let's go through an example. So, again, same processes and I will go ahead and work through an example with you. So, here's what you would probably start with on an exam. You get the processes with their arrival time at the top and the burst time. And for round robin you're typically given a quantum length. So, quantum length, let's start off with three. So, our time slices are three time units long. So, at time zero, process one is the only thing we can schedule. So, we would schedule it for its quantum length. So, it gets three time units and it would get all three time units because it lasts for seven. So, it would still want to run. It doesn't want to exit earlier or anything like that. So, at the bottom I will write in my Q at every time step. So, at time two while P one was executing, P two came in and it would be at the front of the Q. So, at time two it's at the front of the Q. It's the first one in line now. So, at time three when P one is done, it would go to the back of the line. So, at time three our Q would look like P two, then P one. So, what would we choose to execute at time three? P two, right? It is the first thing in the Q. So, we would pick P two, it would run for three time units and then at time four, while P three comes in. So, P one would move to the front of the Q because P two was ahead of it, it started executing. So, it would now be the only thing in the Q. Then at time four, P three comes in. So, it would be added to the end of the Q. Then at time five, P four comes in. So, it would go to the end.  So, at time six, P two would be done executing. It still has time left. So, it would get thrown to the back of the Q and now my Q is going to look like P one, P three, P four, P two. So, now what process is the next one to execute? P one, I saw at least one. So, P one would run for three time units. Remember, it's total time is seven. So, it would take all three time units to run and when it's done executing, it would get thrown to the back of the Q.   So, P three only wants to run for one time unit. So, at this point, it is done running and it would just go back to the scheduler and the scheduler has to pick a new process to run.  So, at this point, P four would run. It would run for three time units because it in total wants to run for four and it would use all three. So, at this point, my Q would look like P two, P one, P four and they all only have one time unit left. So, we would run them in that order. So, whoops, that is an eraser. So, we would run P two, P one and then P four. Right, any questions about that? Really straightforward, some people are sleeping. I should probably punch a microphone and wake people up. Yep, yeah. So, the length of the QAN is given to you in the question. So, I just picked it because, hey, we'll pick different ones and see what the effect is. So, here, questions we might want to ask ourselves. So, these are like the three questions you will be asked for every scheduling problem. So, first one would probably be like, what's the average waiting time? So, the average waiting time, well, we have to count the average waiting time for each process. So, P one finished at time equals 15, right? P one and then P one ended at time 15 and then started at time zero. We can do that shortcut again. So, it was a round for 15 time units. It first time was seven. So, 15 minus seven means that P one was waiting around for eight time units. So, now we have to figure out the waiting time for P two. So, P two ended at time 14 and it came in at time two. So, it was around for 12 time units, right? 14 minus two. So, it was around for 12 time units. It ran for four of those. So, it must have been waiting for eight of those units. Now, we have to calculate the waiting time for P three. P three, I will just write it out here. We could do the trick or in this case, it doesn't really change. So, P three was waiting around for one, two, three, four, five, wait. Yeah, it was waiting around for five time units. Yep. So, P two arrived at time two. So, as soon as it arrived, it was immediately waiting, right? Because P one was running. Yeah, so when it arrives, when it arrives to when it ends, so like the total time it was hanging around for. So, yeah, you have to include it. You don't say when it starts executing because then you miss out on the time it was waiting to execute initially, right? Which is, in fact, part of the response time that we'll want to do. So, now to finish it off, we need the total waiting time for P four. Well, P four ended at time 16. Cool, whoops. So, P four ended here. And then it came in at time equals five. So, it was hanging around for 11 time units. It's burst time was four. So, 11 minus four, as long as I can do elementary school math, should be seven. So, our average waiting time, if we crunch that all together, oh yeah, I forget, what is it supposed to be? It is supposed to be something like seven, right? So, our average waiting time is seven. So, we can remember that when we compare other things. The next thing we'd wanna calculate is average response time. So, response time is kind of what you were talking about. It is the time from when it first arrived to whenever it first started executing. So, it's just the initial time it was waiting around if you want to word it like that. So, the response time for P one, well, it came in at time equals zero and then started executing at time equals zero. So, its response time was zero. For P two, it came in at time equals two and then started executing at time equals three. So, its response was one. P three waited around a while. So, P three came in at time equals four and waited one, two, three, four, five. So, it waited five time units until it started executing. And then, process four. Well, it came in here at time equals five and it started executing here at time equals 10. So, its response time was five time units. So, if we divide by four, we get 2.75. So, those are our two numbers. The last one we would want to keep track of is the number of context switches. Because remember, if we're doing real scheduling on a real CPU, that is not free. We have to keep track of how many times this happens because if we context switch too much, it might be real bad. So, to count the number of context switches, you just count the number of times we switch between processes. So, we switch and I will do it in red. So, we switch between process one and two here. Why that delete the whole line? So, that's our first context switch. Our second is between process, wow, that's annoying. Process two and process one. Then we have another context switch here between process one and three. Another context switch here between three and four. Then four and two, two and one, one and four. So, to count the number of context switches, we just count the number of red lines we just drew. So, one, two, three, four, five, six, seven. So, we have seven context switches. All right, any questions about how I came up with any of those numbers? Yep. So, yeah, when the process actually finishes, we still have to context switch to run a different process, right? So, yeah, you might be able to not save the registers of the process that's ending, but you still have to restore the other ones, right? So, we still have to do, it would be slightly quicker, but we don't go into that level of detail, but yeah, it would be slightly quicker. Yep. Yeah, so you would not count zero as a context switch or 16 as a context switch, because it's done at that point. Yep. Yeah, so that's a good point. So, the question was, how much does a context switch cost? Wouldn't first comes first serve have the least number of context switches? So, yeah, if you didn't even have preemptible processes, that would have the least number of context switches, but it would also have the worst response time possible. And you would probably be very angry if you could only run one process at a time on your machine. So, they wouldn't really be used, but most scheduling algorithms are just a series of trade-offs. So, there's no one thing that can optimize everything. Different, fairness is at odds with, you know, waiting time, but you don't want it to be too bad. It becomes an engineering problem, which thankfully we're a room of engineers and not computer scientists. So, next one. So, for fun, if you want to write a lot, well, we can do it again. With quantum length equals to one and see what the difference is. So, in this case, every single time unit, we get to make a new decision. So, this will be fun. So, this will be the most annoying one. So, same arrival, same burst time, same everything. Just, whoops. Just, we have to make the decision at every single time unit, which will become very tedious, very quick. So, at time equals zero, while P1 wants to run, so we would run P1 and then it would get thrown to the back of the queue, but guess what? It's still the only process running. So, we would schedule it here. So, now the first interesting and only interesting thing happens. Well, P2 is coming in at the same time that P1 goes to the back of the queue. So, the rule for this is, you always want to put whatever just arrived at the front of the queue. And the idea behind that is, well, if I put it at the front of the queue, I'm going to minimize response time overall because P1 already executed. It was going to the back of the line. P2 is new, so if I can reduce the waiting time at all, that's a win. So, P2 would go to the front of the line and when we re-queue P1, it goes to the back. So, that's about the only interesting thing that happened. So, now we'll just go through it. P2 would run, goes to the back of the queue and now we can see that we're going to just constantly ping pong between these. So, P1 would go, then our queue would look like P2 is the only thing there. Now, we have that tie again. P3 is coming in while we're re-queuing P1. So, we would go P3, then P1. Then P2 would execute. Our queue would look like P3, P1. Then P4 comes in and then P2. And thankfully, the hard part is over now. We're just constantly going to go around and around in this order until things stop. So, P3 would execute. It mercifully only executes for a single time unit, so it is done. So, our queue looks like P1, P4, and P2. So, can I take liberties here and go quicker? Yeah, see nods, we can get out of here. So, it would go P1, P4, P2. P1, P4, P2. Then at this point, P4 should be done, right? So, P2 executed here, here, here, and here. So, P2 is now done. It has allotted its four time units. So, it is good to go. Then we would have P1, P4, P1, P4. Yep, anyone disagree with me there? So, this is where the shortcut will save our lives, because this is really annoying if you count everything. So, at time 16, P4 ends, oops, time 15, P1 ends, time six, P3 ends, and where does P2 end? So, P2 ends here, and that is 14, 13, 12. So, we answer the same questions. Well, what's the average waiting time? Well, for process one, it ended at 15, and it came around at zero. So, it was sticking around for 15 time units. It executed for seven of those, so it must have waited for eight time units. Next one is P2. Well, P2 was done at 12, came in at two, so it was hanging around for 10 time units, executed for four of those, so it waited for six. Next one was P3. Well, it came in at time four and finished at time six, or we can just see that waited around for one time unit. Then the last one, P4 waited around for seven time units to skip a step, divide by four, we get 5.5. Our response time is going to be slightly easier, response. So, for P1, while its response time was zero, it waited around for zero time units until it started executing. What is the response time for P2? Zero. Right, it started executing immediately. What about for P3? One, I saw at least one one. What about for P4? Two. So, without even doing the math here, whoops. We can tell that the response time is much, much, much, much, much lower. 0.75 as opposed to what we get before, 2.75. So, the response time went down. The average waiting time also went down. It was 5.5, so that's good. Last thing is the number of context switches, which will be fun. So, here I switch between P1 and P2. I'll just mark them all down. Do, do, do, guess what? We're essentially context switching every single time. Who wants to count that number of context switches? 14. So, the average waiting time went down. The average response time went down. But the number of context switches went way up. So, if context switches were slow, this probably, this, you know, this quantum length might not be a good thing to do. So, last one we can do, which, I mean, you guys have pretty much figured it all. Ray, if we have a giant quantum length, yep. Yeah, so when a process arrives at the same time something is being re-queued, you put the thing that's being re-queued at the very back. So, that's why here, at time two, whoops. So, that's why here, at time two, that's why P2 went first, because it was the new process and P1 was being re-queued. So, I put P2 first and then put P1 at the very back. And then I did that every single time I re-queued when a new one came in. Yeah, yeah. So, in that case, the process that arrives when one gets re-queued, it becomes second last, instead of last. Okay, so, next boring thing. Hey, do it again, but quantum length 10. Wow, guess what? It becomes first, come first serve. It becomes real boring. So, it would look like this. If you compute everything, it looks like this. We have way less context switches, which was your point. You only have three context switches in this case, but our average waiting time actually goes slightly down with quantum length one. Our waiting time was 5.5. Now it's slightly better, but our average response time is kind of garbage now. It's 4.75, which is way worse than 0.75. And this is just first, come first serve without preemptions. So, yep. Yeah, so that's a good question. Why does response time matter? So, it depends on the application. So, response time may not matter if you're just doing some machine learning thing, right? You only care when it ends. But if you are interacting with your computer, response time matters a lot. So, if you're doing something interactive, you want low response time.   And then you'd go, you'd go sell your Microsoft one, get a Mac or something, right? Yeah. Yeah. Yeah, so response time is just from arrival time to when it first starts executing. And that's it. Yeah, response time doesn't care about how long the process takes. It's only when you first get a response out of it, which is like a crude measurement to how something would actually feel, but better than nothing. Yep. Yeah, so that's another good question. Hey, can you mix and match scheduling algorithm? So like, hey, I'll let this run and do something else with this after a certain time. And the answer to that is, yeah, there's no perfect scheduling. You can do whatever you want. In fact, we'll talk more about scheduling next time and little things you can add to it, but you might figure out that, hey, this is a process someone's interacting with. Maybe I wanna prioritize low response time for this one. Here's something that they don't really care about. I wanna run that as fast as possible. It doesn't need response time. They make different decisions based on the processes. So absolutely you can do something like that. All right, so this was a good, hopefully a good having a boring lecture once in a while is a nice.


From Hollywood, California, the Lux Radio Theatre presents James Cagney, Ralph Bellamy, and Stuart Irwin in Ceiling Zero. Lux presents Hollywood. It's a romance of the skies we bring you tonight, a thrilling drama of the early days of transport aviation, of the men who made it possible, of the women who loved them. Ceiling Zero stars James Cagney, Ralph Bellamy, and Stuart Irwin with Boots, Mallory, and Gene Cagney. Our orchestra is conducted by Louis Silvers, and tonight's special guest is Major Carl A. Cover, Senior Vice President and General Manager of the Douglas Aircraft Company, who will speak on air transportation as it is today. This program comes to you with the good wishes of the makers of Lux Flakes, those gentle flakes that are the safe, thrifty care for all washables. Do you know that the inexpensive large box of Lux holds 12 cups of flakes? That's a lot, isn't it? And a few flakes go so far, just one big box of Lux will take care of many, many nice things for you. Use Lux for everything safe and water-alone, not only for your stockings and under-things, but for your dresses, sweaters, and all the other washables you and the children wear. You'll do that, won't you? Remember, Lux is thrifty. And now, the producer of the Lux Radio Theatre, ladies and gentlemen, Mr. Cecil B. DeMille. Greetings from Hollywood, ladies and gentlemen. James Cagney's career has been as checkered as it has been innocent and upright. To work his way through school, he was an office boy for the New York Sun, a page boy at the Public Library, a package rapper at Warner Makers, and a Wall Street runner. Since Stardom overtook him, Mr. Cagney has contrasted his two-fisted roles with the private life in which he reads good poetry, plays the piano, sings and dances. Between pictures, he can be found tilling his acres at Martha's Vineyard, off Cape Cod. There, the red-edged mantem of the screen is a country gentleman, restoring antiques, raising chickens, goats and vegetables, running a tractor, petting his horse, which he slightly distrusts, and never raising a hand except in self-defense. Appearing through the courtesy of Warner Brothers, his new picture is the Oklahoma Kid. And tonight, as he did on the screen, he plays Dizzy Davis in Ceiling Zero. Ralph Bellamy is here, directly from the sound stages of Columbia Studio, where he's starring in Blind Alley. Like Mr. Cagney, he's a long-distance agriculturist whose favorite pastime is making his Connecticut farm pay. He's one of the best-known actors in America, where he spent nine years touring with 15 different stock companies, playing a total of 375 characters. We hear him shortly as Jake Lee. Also from the screencast comes Stuart Irwin, in the part of Tex Clark, and Boots Mallory plays Tommy Thomas. New to Hollywood is James Cagney's sister, Jean, who makes her radio bow tonight as Lou Clark. We're ready now for the takeoff, as the Lux Radio Theatre presents James Cagney, Ralph Bellamy and Stuart Irwin in Ceiling Zero. It's a gray winter afternoon a few years ago. At Newark Airport, a dense fog smothers field and sky, wrapping the buildings in a blanket of ghostly white. In the operations office of the Federal Airlines, the radio engineer sits at the control panel, his voice droning on endlessly. Federal Airlines, Newark calling Davis in plane 22. Calling Davis in plane 22. Davis, why don't you answer, Newark? Federal Airlines calling Davis in plane 22. At his side stands Jake Lee, the division superintendent. Jake Lee knows about fogs after 8,000 hours in the air, and now his face is creased with worry. Somewhere in the swirling mist, a plane is lost. Why don't you answer, Newark? You sure you're transmitting? Well, Texas Clark picked me up five minutes ago, and if he can hear us, Davis ought to be able to... Let me at that thing. Calling Davis, Davis acknowledged this message. Report your position and altitude to Newark at once. Nothing doing, Mr. Lee. Call him every five minutes. Notify the pilots in the air by radio and all eastern ground stations by teletype. Yes, sir. I hope he's not down. Don't worry about Davis. He could fly here in a balloon. Come to our couple of candles. I'm coming in. Tell him okay. Okay. Texas Clark and plane four come in. Hey, Jake. What do you want? Mr. Stone just came in. He wants to see you. Okay. Go to work on that, boys. Yes, sir. Calling Davis, Newark, calling Davis and plane 22, calling Davis. Hello, Al. How's our sterling vice president? Hello, Jake. Doc said you wanted to see me important. In a way, it's about Dizzy Davis, Jake. Now, you can't reach him. He'll be all right. He wasn't all right yesterday when he was forced down to Cleveland. Who asked for him to be transferred here? You? Yeah, why? Well, he's not even here yet, and he's up to his old tricks already. That forced landing yesterday was a fake. How do you know? Report from Cleveland by phone. When the mechanics reached the ship, they found nothing wrong, except the left magnetowire had been pulled loose. Pulled loose? Of course, and Davis did it himself. Mechanics, they drove back to the plane with a limousine load of cuties, thanked the boys, kissed the girls goodbye, and got into the air. Twenty-four hours late. That's your story. Why don't you wait and hear what Dizzy has to say? Oh, he'll spend a good yarn all right. He always does.  Al, I want to make a speech. All right, shoot. Who made the first night hop over the Alleghenies? Dizzy Davis. Who kept yelling for radio until you mugs finally spent some money on it? Dizzy Davis. Before then, it was standard practice for an aviator to stick his head out of the window in the morning and say, aha, it's raining. Hop right back into bed. I know. I was one of them. I don't care how good he was five years ago, Jake. I'm talking about now. Hey, Jake. Come in, Tex. Hey, was that Dizzy Davis you were calling? Yeah. You mean he's coming back here? If he ever gets in. Dizzy Davis. Boy, the three of us back together again. I haven't heard from him yet. You ought to be... Hello, Newark. Dizzy Davis in plane 22. There he is. Come on. Hello, Newark. What's the matter with you guys? Look out, boss. Hello, Davis. Go ahead. Was that Jake? Hiya, Jake. I'm 90 miles west of Newark, altitude 2000, temperature 58, visibility unlimited. Oh, how I miss you, dear old pal of mine. Hiya, Jakey, baby. Radio regulation number three. Pilots will refrain from all personal conversation while in flight. Okay, George. I can read. Goodbye. Ha, ha, ha. Speak of the devil. Devil is right. Listen, I'll Dizzy, Tex, Clark and myself are the only old timers left in this line. We were together during the war. I taught him to fly. That's pure sentiment, Jake. We're in business. From the wartime pilots who can't fit today's standards are through. All right, but get this. I hire and fire the pilots for this division. As long as I have a job, Dizzy Davis will have one. Okay, Jake. Only the next slip Dizzy makes. Out he goes. Even if you go with him. Thanks. I'll remember that. Go ahead, number six. Lawson in plane six to Newark. Go ahead, Lawson. Testing. The training job with the solo student is heading in, Tay. Take another turn around the field. Okay. Who's flying a training job, Buzz? Miss Thomas, supposed to solo this afternoon. Solo, no fooling. Yeah, she's doing all right, too. Hey, Buzz, hear any more from Dizzy Davis? I'll see. Calling Davis in plane 22. I can't give you anything but love, baby.  That guy will sink us into the commissioner's office. He sure got a rotten boy. Hey, Jake. Well, look who's here. Hey, you mug, I've flown alone for the first time. Jake, I've soloed. Mug, is there any way for an air stewardess to address her boss? Aw, Jake, don't be so dignified. Give us a kiss, will you? Cut it out. Here's the boyfriend. Hey, Tay. Hello, Tommy. You trip okay, Lawson? Oh, fine, Mr. Lee. Hey, listen, I soloed. I made it just like that. Hi, girl. Were you scared? Well, kinda. Gee, it was sort of like falling in love and going to church and having your first cocktail all at once. There's no doubt about it. You've just soloed. Dinner tonight, Tay. Oh, not tonight, honey. I've got another trip to take out. Dizzy, 22, calling Newark. Boys, I'm almost home. I can smell the meadows. Okay, 22. Don't be so busy like Buzz. I'm trying to tell you I'm landing in Newark. Never mind the fatted calf. Make it love the thermidor at Mama June. Okay, 22.  Here I come, Jake. Yeah! Hey, Jakey. Can I give you an upside down? What? No! Aw, come on, Jakey. Be a sport. Let me come in upside down. Now, listen, Dizzy, I said no. I don't want any fooling around. Here I come. You're doing it, Jake. He's going into a role. Dizzy, cut it. Straighten out, you hear? I can't give you anything but love, baby. Dizzy, cut it out. I can smell the dandelions on the field, Jakey. Don't worry. Here I go. If I don't come out of this role, I'll... Dizzy, listen, Dizzy! There he goes. Aw, he's okay, Jake. I ought to break his neck. Boy, can that man fly. Those barrels just tucked their heads under their wings and fell right off the telephone line. Check him in, boys. I'll go out and say hello. Come on. Hey, you wait. America, I love you! I love you, Dizzy! You old Tex! Hey, cut it out. Oh, Jake, you old sweetheart. Look, Jake, he's got a new dimple.  Sure.  I'm building that up for a rainy day. Looks like Noah's Ark already. Well, same old joint. Come on, come on. Wait a minute, fella. Are you Dizzy Davis? In person. Why? I'm Joe Allen, Inspector, Bureau of Air Commerce. Oh, well. Look at that. How are you, Joe? That was a very fancy landing, Davis. The next one, like it, will draw you a suspension. You guys are always wrong. There isn't going to be any next time. Cut it out, Dizzy. This is serious. Let's see your pilot's license. There you are, brother. You'll note my application for renewal has gone in. I see you've applied for a waiver for physical defect. What is it? Skippy pump, six years old. How is Washington on us old cripples these days? Tough. You had a nice hand, Joe. I suppose you're going to put in a wrap. I've got my job to do, but I'm no stool pigeon. You get my notice about inspecting, Jake? We're all ready for you, Joe. Good. See you later. As lucky as ever, Dizzy. Say, let's go over to the office. Come on. Well, Jake, how's Mary? Fine. She'll be over to pick me up pretty soon. Well, how's your matrimony, Texas? Still moaning along? Yep. On a clear day, I can hear in Cleveland. Come on in, Dizzy. Oh, Dizzy. Hiya, Buzz. Hey, Tommy, come here. You want to meet a real pilot? Around here? I'd be delighted. This is Dizzy Davis. How are you? Dizzy, this is Tommy Thomas. Well, well, well, well, well. How are you? What was that name again? Tommy Thomas. Well, I'm certainly glad to meet you. You an aviator, Tommy? No, not yet. I'm just a stewardess. Texas is teaching me to fly, though. Yep. I'm her daddy. Gee, your landing was a honey, Davis. I could fly like that. Well, maybe I could give you a lesson or two. Would you really? Right now, I can't think of anything I'd rather do. Oh, Mr. Lee. Yeah, Tang? Number 11's inspected. I am ready to take off. Right. Oh, here, I want you to meet somebody. Pilot Davis, pilot Lawson. Hi. Oh, welcome back to Newark. Lawson's my right-hand man. Been developing this new de-icer to keep ice from forming on the ships. Go over the records with him when you get a chance. Yeah, sure. How about tomorrow? Tomorrow? Wait a minute. I've got to see what my engagements are. Tommy, what are we doing tomorrow? I mean, what are you doing tomorrow? I don't know yet. Why not ask me the day after tomorrow? And I'll tell you all about it. Come along, Tay. I'll walk down the ship with you. Thanks, honey. Oh! Hey! Did I get the brush or she always liked it? I never thought I'd live to see the day. This was a good guy when he had it, huh, Jake? Well, the old master wasn't licked yet. That was routine number one. Waited you here routine number two. It's never failed yet. Well, now that you're here, where are you going to stay? Oh, uh, uh, uh. Tex asked me to stay at his place. Huh? Well, didn't you? Oh, yeah. I mean, yeah, sure. But the well, uh... Well, what? Uh, I guess I better phone Lou. Excuse me. Uh-huh. So you gotta phone the little woman, huh? It was up to her I'd sleep in jail. Come on, now, now. Why so worried, Tex?  Well, you know darn well I do. Tell her I won't be there much. I've got that roving insomnia. Hello, Lou. This is Tex, your husband. Now listen, honey, Dizzy's here. Yeah! She sends you her best, Dizzy. Nice work. Honey, look. I thought until he gets settled permanent that we might put him up. Be firm, Texas. You're the man of the house. Huh? Well, uh, you could move the puppies off the sleeping porch. Oh, no, no, Texas. That wouldn't be fair. Well, uh, well, how about a cot in the hall? No, I don't expect him to sleep with us. Why not? Well, there's still a sofa in the living room.  Well, that settles that. Okay, honey. Bye, dear. Dizzy, I'm sorry, but my mother- Oh, forget it, forget it. Say, is that lawsuit warming up? Yeah, why? Oh, nothing. How long will he be gone? Back tomorrow. That makes it perfect. Jake, can I come in? Oh, sure. Come in, Mike. If I cleaned up that brass door plate, Jake. Oh, thanks, Mike. You can go home now. Well, okay. Mike, you old son of a gun. You want something? Hey, Mike, it's Dizzy. You remember me? Oh, yes. Dizzy Davis, 59 Squadron Kelly Field, you remember? Dizzy Davis? Oh, sure. I remember you. You were a pilot. Yeah, I still am. Oh, you've been away. Yeah. I'll whisper a while. I thought I hadn't seen you around. Well, drop by the house sometime. Thanks, Mike. I will. I don't fly anymore. I see. I shined that plate, Jake. It looks good. That's well, Mike, thanks. Jake's afraid of the front door. Don't look right. People won't come in. Well, good night. Oh, Jake, you can't do that. Mike's a pilot. He was a pilot. Look, what happened? He smacked a tree and a fog. You must have heard about it. No, no, never a word. Mike owned shining spittoons. He doesn't do that very well. He's got a wife and two kids. We couldn't let him starve. Mm-mm, Tex. Yeah? Tex, here's a few bucks. Have Lou get Mike's kids something, will ya? Well, Jake, why do you say we go someplace for chow and a few snorts? How about mama genies? Still open? Sure. Good. I'll be back in a minute. What's your idea? I got to see Miss Thomas, routine number two. It has yet to fail. Hello. Hello. I thought you'd be coming back this way. I'd like to apologize. For what? Oh, for wisecracking.  I can't begin to tell you how you wounded me. But, uh, I guess I had it coming. All right. Let's forget it. Oh, no, no. I don't want to forget it. I know I got off on the wrong foot, but I'd like to start all over and show you I'm not as bad as I looked. And how are you going to do that? Well, uh, uh, Tex and Jake are going over to have a bite with me at Mama Genie's. How about joining us? Well... Well, you've got to eat anyhow, haven't you? Oh, well, yes. Well, come on. I'll show you that I know which knife to use. It'll be straight from Emily Post. Okay. I swear. Wait a minute. There goes Tay. Yeah, there he goes. Back tomorrow, so I hear. Ready, Miss Thomas? Thank you, Mr. Davis. Dinner is served, honey. Let's go. A curtain falls on the first act of Ceiling Zero, starring James Cagney, Ralph Bellamy, and Stuart Urban. During this brief intermission, we bring you our favorite family, the Brownings. It's evening, and the family are in the living room. As the scene opens, 14-year-old Midge is dancing about the room in a series of fantastic swing steps. I'm just a ditterbug, a little ditterbug boy. Does that music send me? I'm in the groove. Ta-da-da-da-da. Midgey. Midgey. Calm down, little wildy excitement. I'm practicing for the jam session at school, mother. We're having a contest for the best dancer. Ta-da-da-da-da. It takes more than dancing to win that contest, Midge. I doubt what you mean.  Stocking runs won't take any prizes, Midgey. Oh, my gosh, if I got another run. Yes, and it's a beauty. Zip clear down your leg when you were shagging just now. Oh, dear, what am I going to do about these awful runs? Oh, Midge, it's so simple. If you'll only remember to luxure stockings every night, that'll cut down on those runs. Look, Midge, why don't you make a little sign, luxe stockings tonight, and put it up on the bathroom mirror. Then you'll be sure to remember. Stop, that's a grand idea. I'll do it right now. Smooth-fitting stockings without a sign of a run. They help any girl to be a winner. And it's easy to have nice-looking stockings when you give them regular luxe care. Why? Because luxe saves the elasticity that lives spring equality in your stockings. When your stockings are nice and elastic, they give instead of breaking easily under strain. And that's exactly what you want, isn't it? So luxe your stockings every night. It takes only a moment. Do your underthings at the same time. Regular luxe care keeps them fresh and dainty and you're looking longer. Buy the generous large size box of luxe flakes. And now, Mr. DeMille. Ceiling zero, starring James Cagney, Ralph Bellamy and Stuart Irwin, with Boots Mallory and Jean Cagney. It's late the same evening, and Mama Jimmy's, a cafe near the airport, is almost deserted. And the tiny dance floor, dizzy and tummy, moves slowly to the rhythm of the four-piece orchestra. How am I doing? All right. A little close, that's all. Well, that's the way they taught me. When in the gay 90s? See, how old do you think I am? I'm only 34. That's an awful lot when you're only 19. But when you're 34, it's nothing. Say, you realize when you're 34, I'll only be 49. What of it? Well, if you think when I'm 49, I'm gonna dance with an old hag of 34, you're crazy. Better enjoy yourself while you can. Look up here a second, will you? What's the idea? I'll show you.  How is that? Not bad. Have another? Oh, I don't think I'd better, thanks. Oh, come on. Just one more. Can't hurt you? One, two, three, four. What's that? My mother always told me to count ten if I was tempted or something. Wait. Sure, if you can. Come on, let's count together. One. Two. Two. Three. Four. Four. Five. How about dancing this one with your boss? Okay, Jay. Peter, does he? You can keep Mary company. Yeah, sure. You got up at the count of five, Tommy. That means there was no knockout. Well, stay on your feet. You may get a draw. I am Mary. Sit down. Say, you better watch that husband of yours, Mary. Look at him dancing around with that nice young girl. He ought to be ashamed of himself, the old reprobate. You're not old. Uh-huh. Look, Dizzy, I don't want to preach, but Tommy's only nineteen. Well, what of it? Nothing. Only when you're nineteen, it's so easy to fall for a dashing aviator and get your heart broken into tiny pieces. I remember reading about a case like that.  But she turned out all right, didn't she? I mean, the girl you were reading about? She turned out fine. Because right after that, she met a swell guy named Jake Lee. And she married him.  You see, her husband didn't ask her any questions about what happened before. Uh-huh. I suppose he had asked her. I think she'd have told him without mentioning any names. Wouldn't make things any better to break up a lifelong friendship, would it? No, I guess not. Whoa, Slug, that's my wife. Sure. Hey, where's Tommy? She wanted to make a phone call. We better head for home soon, Mary. I'm ready. Not me. I've got some counting to do. What are you talking about? Hey, I'm Mr. Davis. Yeah, Mama Jeannie. All that dinner was swell. That's a good say. You know that girl who was here? Yeah. Where is she? Well, she's to say, uh, to tell you she's to take a taxi. What? Sure. She's to go home. Home? Well, that's fine. That's great. Hey, Mama. Yeah? What are you doing tonight? Ha-ha-ha. These business dispatch bad weather ahead, beginning this afternoon, affecting eastern division only. Passenger runs may be canceled on short notice. Mail pilots will punch in regardless of weather until further orders have been up in GR and Newark. Here, Tommy. Catch. Hey, watch where you throw things. Ha-ha. That's not a thing. It's a book. A little present. What is it? Portrait? No, it's a little arithmetic book I picked up. Got all the numbers from one to ten inclusive. Oh, thanks. Just what I wanted.  And do I need that, too? Well, you certainly don't know how to act toward a gentleman. What did you run out like that for? I think I was going to stick you with a check. Well, I'll tell you.  You know the way those soft lights flatter you when you're 35? 34. Oh, all right, 34. Anyhow, you look so attractive that my heart kept going pitter-patter. I finally got hold of myself and said, but Tommy, how does he look in the morning? Well, I thought I'd wait until morning. And now? And now I know. And now you know. Yes. Will you let me in, honor? How do I look in the morning? Not a very good shave. Oh, the quiet, rooty tooth and the razzmatazz. Well, how about teaching you some stunts this afternoon? Oh, gee, that'd be swell. Only one thing would be sweeter. Tonight you have dinner with me. But your schedule is going to clean them this afternoon. I can fix that. I'll get Tex take my run. Jake won't stand for that. No, you just leave it to me. I'll see Tex now. It's in the bag, honey. Are you dizzy? Are you dizzy? How's the old... Hey. What's the matter? Dizzy. Dizzy, what is it? Oh, it's nothing. Huh? I'll be all right in a minute. What is it? That bum tick of yours? Yeah.  Yeah. You're getting old and you can't take it. Yes, Tex. I guess you're right. Say. Say you can't go to Cleveland feeling like that? Oh, it's all right. I've done it before and I can do it again. I wouldn't look getting sick the minute I came. Well, what do you care how it looks? Now listen, Dizzy. Don't you worry about your run. I'll take it. No, no, no. You can take mine this weekend. No, no, Tex. I've got no right to do that to you. Why not now? You'll be sore. Yeah. Yeah, I didn't think of that. Well, let her be sore. I'm taking your run tonight. Oh, gee-gee, Tex. That's swell. Numerous Washington to all planes and stations eight o'clock weather, Cullsman Barometer 2980, Temperature 30, due point 30, surface wind calm, heavy fog, visibility zero, ceiling zero. Hand me that last report from Belfont. Here you are.  Look at those seagulls are walking around. Go ahead, Texas. Exxon Clark to Newark, eight pounds, ten miles west of Bethlehem, flying blind on instruments on Newark beams, altitude 10,000, visibility zero, what's the ceiling at Newark? Ceiling here is still zero, Texas, getting no better. Keep in touch. Okay. Oh, I dizzy should be happy he's on the sick list. He sure handed Texas a sweet run. Ha! Dizzy recovered fast. I saw my mom at Genie's having dinner with Tommy. What's that? Is Dizzy at Genie's? Yeah. Well... I didn't know anyone could handle a plane so smoothly. You know, for a student, you're doing all right yourself. Dizzy, what is it that makes flying so worth loving? You're the first girl I ever heard talk like that. Well, I don't know. When you're up there, it's a one-man show and the whole world slides under your wings. There's danger and thrills and progress. And what the heck am I doing? Making a speech? Oh, I don't know what it is. All I know is I'd rather be a male pilot than king, but no passengers for mine. You should complain. We stewardesses get the grief. Hey, look at that fog out there. Yeah, it is pretty low. No more ceiling than a dugout. I didn't know Texas was going to be up against that when I asked him to take my run. Tommy, Tommy, come on, let's, let's hit the office and see how he's making out. What's the ceiling at Nowark? Ceiling here is still zero, Texas, getting no better. Hey, Dizzy, Texas radio sounds kind of sour. What do you think he's a mind reader? Tell him about it. Nowark to Texas Clark, check the connections and tubes on your radio set, Texas. Your transmission is blurred. You know, Texas would be in a bad spot tonight if his radio went dead. Oh, Texas is in old hand. He'd figure out some way out of any jam. Oh, sure. You know, I've been thinking, Dizzy. I still can't figure out how you did that barrel roll this afternoon. Say, can't you think about anything but flying? When did the bug bite you anyway? Do you remember the day Len Berry came back from Paris? I do, but you don't. You were in your cradle. I was only a kid, but I'll never forget it. You know, they wrote Welcome Home and Smoke Across the Sky and signed a QB. Yeah, you were there all right. I didn't even know what QB meant. When someone told me about the quiet birdman, old pilots joined together to help with flying game. Gee, I love that. You know, they seemed apart from ordinary people. Mmm, they were. That first QB hanger was a great spot. Each QB had his own drinking mug. If he got bumped off, the mug was put on a shelf over the bar, bottom up. Your first drink was always a silent toast to the shelf. How swell.   You're sort of goofy and tough and sweet old ones, aren't you? How's your counting? Cut it out, Dizzy. Oh, come on, come on. No, Dizzy, you spoil everything.  All right, big shot. Now that you've taken one from her, maybe you'd like one from me, too. No, Tay Listen is quite all right. It's not all right. What do you think you're doing, Davis? What's that to you? I'll show you. Never leave with your right, Lawson. Cut it out, cut it out, cut it out. What's wrong with you guys? If I catch you pulling this stuff again, you'll both get fired. The least you can do is settle your sniles away from here. I'm at your service anytime, Davis. That's fine. Remember to have my suit pressed in the morning. Go on, Tay. Tommy, you go with him. Why don't you grow up, Dizzy, and let those kids alone? Got a cigarette? She's not your kind. She's not for you. Why don't you let her decide that for herself? No, Art, calling Texas Clark at number nine. We're ready to check your transmitter. Go ahead, Texas. No, Art, calling Texas Clark at number nine. Go ahead, Texas. Doesn't he answer? No, sir. His last report came in garbled. I told him to check his set. Try him every couple of minutes. Notify all stations by teletype number nine not reporting. Yes, sir. Radio must be dead. Jake, I want you to know that I didn't swap with Tex. Just to hand him a tough one. Forget it. Jake, is Tex in the air and this? Yep, on his way home, Mike. It was a night like this. I was coming home. I couldn't see the ground or the trees or the houses or anything. Then I hit.  Then I hurt all over. Take it easy, fella. Yes, take it easy. I'm all right. I shine that brass blade, Jake. It looks real prudent. Forget it, Mike. Run along home. I guess I'd better. Her wife might be worrying. She, well, she still thinks I'm flying. Buzz, put that outside radio transmitter on the window edge. Yes, sir. Tex will never get in here without radio unless he finds a hole. A hole? And that mud? Solid overcast. 15,000 feet thick. No use worrying until he begins to look for the field. Yeah, then we'll pray him down. Hiya, Jake. Oh, hello, Smiley. Well, Dizzy, I heard you were back. Hiya, Smiley. What are you doing over here among us common people? I thought you'd quit the racket. Believe it or not, I'm looking for a job. Can you use a good aviator, Jake? You wouldn't want to work for us. Why not? I have to spend at least a year learning the ropes as co-pilot. Co-pilot? I'd hit the breadline before I'd start riding with some other guy at the controls. Noah calling Texas Clark at number nine. Noah calling Texas Clark at number nine. He still doesn't answer. Keep trying. Well, how are you doing, Dizzy? And how are all your gals? I can't complain. Say, whatever happened to that slim brunette you used to chase around with? Am I supposed to know the girl from that description? You know the one, I mean. You were going with her when I was testing those new transports. Oh, yeah, yeah, yeah. You mean, uh, I know.  Not that one. What was her name? Oh, stop it, will you? I've got it. Uh, marry something. Oh, cut it out. She wasn't my girl. You remember she lived in a little white house over in East Orange. Mary...  Was it Mary Miller? Yeah, that was it. Mary Miller. You know her, Jake? Yeah, I know her. I married her. Oh. No, not Miller. This was, uh, Mary... Mary Dillon. That was it, Dillon. Oh, then I wouldn't know her. No, you never met this girl. Well, there's nothing here. I might as well be gone. So long. Was Mary really under your skin? Oh, no, Jake. You know the way I was, how I used to talk? Just part of the act.  Your reputation wasn't so cock-eyed. It'd be easier to believe. Oh, when Tex gets in here, he and I were living together, and he knows everybody I went around with. He'll smooth this out in no time. Yeah. Hi, Tex, Buzz. No, we're calling Texas Clark the number nine. Nope. He still doesn't answer. Say, he ought to be here any second. He's on time. Doc, field lights. Yes, sir. Texas Clark and number nine to Newark. There he is. Still flying blind on the Newark beam, there in the field. Give me the surface wind at the Colesman Barometer region. I'm coming in. Surface wind, calm Colesman Barometer 2988, ceiling, zero. Newark, answer nine. I want to sit in my altimeter. I can't land without it. When I get on the ground, I'm going to wrap this radio around Buzz's neck. The beam's fading out. I can't hit it. Newark to Texas Clark. Come in. Sounded like he's sending some quit on him. I wish it was me coming here instead of Tex. Bad enough to have Tex up there. It was you who would have an argument about how to get you down. All lights okay, Mr. Lee. Jake, Jake, I just heard a plane. It must be Tex. Listen. That's him. He sounds high, Jake. Yeah. Come on, fella. Talk him down. This is Jake, Texas. You're approaching the field west of the office. You sound much too high. You must be a thousand feet. You should be losing altitude very fast. Answer by radio or jazz your motor if you hear me. Come on in, baby. Why doesn't he answer? He's probably getting it, but just can't send. You're much too high, Texas. You're over the edge of the field now. You better circle back and make another approach. Come in much lower. You can't make it this time. You're sure to overshoot the field. Oh, he's going on. You didn't hear a word. He's at the flood. I don't know if to see. He won't pass the coast. He knows he's somewhere near Newark. Tex will bring you in if anyone can. He isn't one of these kid pilots. Hey, Jake. Jake, it sounds like he's coming back. Here he comes. Give me that mic. Hello. Newark calling Texas clock. Newark calling Texas clock. Go ahead, Texas. He's lower this time. You won't land on that course. Keep trying. Newark calling Texas clock. Newark calling Texas clock. Newark calling Texas clock. He's passing again. You'll never get in. Tell him to climb for altitude and use his chute. Newark to Texas clock and plane nine. Do not attempt to land. Climb for altitude and go over the side. That's orders. Acknowledge. Hey, Mr. Lee, here comes Texas's wife. Newark to Texas clock. Climb for altitude and hit the south. Acknowledge. Here comes Texas's wife. How did she... Jake. Come in, Lou. Jake, what is it? What's wrong? I've been at home listening in. What is it? Texas radio's dead. Don't worry. He'll get down all right. Come on Lou. You don't want to stay here. Let's go home. Home. I've just been there. Not just tonight, but one night after another. Sitting over the radio. Alone. Wondering whether Tex will ever come home or not. I know, darling, but please come along. Oh, I've been through it so often. Sitting there. Going crazy. Waiting for the telephone to ring. Jake, what are you going to do? Can't you do something? We tried to tell him to use his chute, Lou. Tex ought not to be flying. You'll make it all right, Lou. Don't worry. Don't touch me. I know why you got Tex to take your place.  Another guy. Is that why you switched your run? Jake, listen. He's turned back for the field. You hear that? He's picked up the field lights. Newer calling Texas clock. Newer calling Texas clock. Jake. Jake, I'm heading in. At least I think I am. The radio's sure it's sick. Haven't heard a word for an hour. You're coming into the field, Tex, toward number one hangar. You sound just about right. Keep her straight and settle in slow. Why don't you answer me?  You haven't reached the edge of the field yet, Tex. Your altimeter should read about 200 feet. You're headed over the hangars, for the middle of the landing area. Keep her straight and steady. There'll come, feeling for the ground. Why don't you answer? It's a wonder you wouldn't help a bullet. He can't hear us. He's coming in blind. You ought to be up there.  That's what you want.  You sound a little low, Tex. Let's lift her up about 50 feet. He's too low, Tex. That's too low. He's coming right toward her.  You sound low. You're still outside the field, heading for the hangars. Watch it. Pull her up, Tex. Pull her up, Tex. Pull up. You're too low. Watch it. Pull her up. For station identification, this is the Columbia Broadcasting System. The curtain falls on act two of ceiling zero, starring James Cagney, Ralph Bellamy and Stuart Irwin, who will be heard shortly in act three. In just a moment, Mr. DeMille introduces our guest. At first, I'd like to say a word about our product, Lux Flakes. Have you ever figured out how thrifty Lux really is, how much it can do for you? It's amazing how far a penny's worth of Lux will go. Listen to this. Unless the water is hard, about one penny's worth of Lux will do your underthings three times.  Or you can look at it this way. Just a little more than a penny's worth of Lux does a sweater and a dress. Yes, Lux is thrifty and it's safe. Safe for anything, safe in water alone. So every time you buy the generous large-sized box of Lux, just think to yourself, it's safe and it saves. Now, Mr. DeMille. As our guest tonight, I thought it most appropriate to present a man from the skies. Someone from real life who can match the color and skill of the pilots of our play. But he's as different from the aviators of our play as the plane in which he's flying is different. The swift progress of aviation since the writing of Ceiling Zero has outstripped man's imagination in making air travel safe and safer still. Right now, in the sky above the Lux Radio Theater, a modern transport plane is circling. At the controls is Major Carl A. Kovar, Senior Vice President and General Manager of the famous Douglas Aircraft Company. Makers of planes flown the world over. Major Kovar trained the men who trained the pilots to fly in the world war and has had much to do with the pursuit of safety for the past 20 years. But let's hear from Major Kovar Direct. Are you ready, Major? I've been accustomed, Mr. DeMille, to look up to the Lux Theater. This is the first time I've ever looked down on it. Incidentally, I'm now speaking a regular DC transport plane while in the course of routine check-up flight. This plane belongs to the Royal Dutch Airlines. It will soon be delivered for operation in the longest passenger run in the world between Amsterdam and Batavia. As you fly around up there, Major, what picture do you get of aviation today and in the future? Well, I believe aviation has traveled farther in less time than any invention in the world. I think you'll agree that it has made as vast strides in a brief year since the period of ceiling zero as it did between its inception in the first showing of tonight's play. Safety and comfort in the air have come so fast that it's almost impossible for the average person to realize the changes. It would be a full-time job to keep up with the progress being made. As a result, only a few technically-minded people cannot appreciate just where we stand today. But doesn't such progress take all the romance and daring out of flying? If you main romance in the terms of such heroic Daredevil performance as you have in ceiling zero, then the answer is yes. Romance, the conquest over nature. A conquest made possible by such things as the radio beam, the new altimeter, the icing equipment, the automatic pilot, and the amazing reliability of modern engines. There's romance too in the thought that you can fly in the space of a single day from a land of ice and glaciers to the palm trees of the tropics. I'll even predict that passengers will be able to make regular scheduled flights from here to Paris and London within a very few months. I've been in a romance angle, but I think that comes pretty close to being the real thing. The world owes you and men like you a deep debt of gratitude for the safety you've brought about and are constantly increasing. I know that most of us in Hollywood, actors and producers, are almost as much at home in the air as we are on the ground. We hope so, Mr. DeMell, and I'm sure you want to get back to ceiling zero. As for me, I'd like to hear the rest of it too. Good luck, sir. One wings to the world, major, and to our program. Act three of ceiling zero, starring James Cagney, Ralph Bellamy and Stuart Irwin with Boots Mallory and Jean Cagney. Pulled from the wreckage of the mail plane, Texas Clark was rushed to the hospital to linger for hours between life and death. In the anti-room, Texas wife Lou, numb by the tragedy, waits for word from the operating room. Mary is with her and Dizzy Davis. Lou, I know it sounds silly to say you're sorry. It's always too late. But I am sorry, Lou, at the bottom of my heart. I know. Don't worry. I'm not going to shout. I don't think I can ever shout again. I don't want to hurt you, Dizzy. That won't help, Tex. But you're no good. You never have been any good.  Jake helped you. Got you sent back here. And what do you do? You've already hurt Tay and Tommy. And if you stay here, you will hurt Mary. Lou, so help me. You can't help it, Dizzy. You're just no good. No good. Dizzy. She doesn't know what she's saying, Dizzy. Oh, yes, yes, she doesn't. She's right. I'm poison, absolute poison, even to my friends. Not to Jake, Dizzy. Oh, to him, too. Smiley Johnson spilled the beans about us. What did Jake say? He doesn't know whether to believe him or not. Then... I've got to tell him, Dizzy. Yeah, I guess you do. Only wait till this is over, will you? Goodbye, Mary. I'm going back to the office. Call me if anything happens. Goodbye, Dizzy. He's still unconscious, Jake, but a little stronger. Swell. Jake, suppose Tex should die. You want to blame for the crash? After Tex took the run, the show is all his. That's easy for you to say. You're not in the picture. Lou named it. It's murder. Forget it. He's going to pull through, get well.  I know. I'm going to tell him. I've got to learn to play the rules, Dizzy. I know. Jake, listen. I've cut a lot of corners, but there's one guy I've only been on the level with. And that's you. Jake, I cut my heart out for you. Please don't be mad at me. All right, forget it. What's the latest weather report on, Buzz? Zero, zero. Ice at 3,000. Have Lawson stand by. You want to push them in nightmare through that ice? You're on advance. We'll decide when the time comes. Number 7's rigged with those new de-icers. It'll be worth the crash to find out how they stand up. Do you want me to make the hop? Lawson's scheduled to go. That kid, he won't get from here to the edge of the field. No. Why don't you go out and tell him how? Okay, Jake. I guess you're sick and looking at me right now. I'll see you later. Dizzy. How are you, Halfpoint? I'm pretty low. Dizzy, I feel so guilty about Tex. Only we hadn't made that silly date. Don't blame yourself. It was my bright idea. Everybody knows that. Dizzy, you mustn't worry about what Lou said. Tex wouldn't want you to do that. He'd understand. Tommy, you're the only nice thing that's happened to me since I got back here. The rest has been bad news.  It doesn't do any good staying here, making yourself unhappy. I don't want to be alone. I'd go screwy over there by myself. I wish I could help. You could. You could help a lot. How? Staying close and being near me until it goes away. Will you? Of course. Sweet. Here's the key to my apartment. 1211 Wellington Road, number 14.  We'll have some drinks and try to drown all this, huh? All right. If you see Tay, will you tell him goodbye for me? Please. I'll tell him with pleasure. Hey, Dizzy. Jake wants you. Right there.  Well, Jake? I got a wrap for you, Dizzy. Yeah, what? Read this. It just came from Washington. Washington? For me? They turned down your physical waiver, Dizzy. They won't renew your pilot's license. They won't. See, what is this? A gag? Well, then I'm finished. Washed up. Take it easy. We'll find some way out. Yeah. Yeah, maybe I could get a job like Mike Owens.  What do I know except to push a plane around? You can hold down this sort of a job. I can fix it. Fix it to sit around at a desk, watching the other guys fly? Gee, that's great. That's marvelous. Federal Airlines, Jake Lee speaking. Who's that? Who's that about, Tex? Yeah. He's gone. You've seen hundreds of crashes. And a lot of swell guys go west. It's all part of the game. Yeah. Dizzy, pull out of it. Oh, don't worry about me. What about Lou? I better go see her. Take over the duty watch, will you? Sure. All the night mail is sure to cancel. Okay. Dizzy, listen, Diz, sometimes a guy gets to thinking he's fair and big when he's in love with a woman, he can be pretty small. I don't know what got into me. I was jealous, I guess. Forget I ever said anything about you and Mary, will you? I never heard a word of it. Well, it's long, Diz. It's long, Jake. Tex, oh, my God. I killed him. I killed him. I killed him. I killed him. Hey, Dizzy. Yeah? That kid Lawson's getting ready to leave. Is the trip canceled? Yeah, it's awful bad up there. I saw it all over the place. I guess the trip's out, huh? Yeah, yeah. No, no, no, wait. Where's Lawson? He's down by the hangar. I'll go down there and see him. Hold everything. You seen the weather map? Yes. I'll take another look before I shove off. From here to Cleveland, it's bird walking weather. What's up, Tommy Kid? What's it to you? Nothing much. You want to marry her? Yes, I expect to marry her. You know where she is now? Well, I guess she's home. Yeah. Now, uh, what's the dope on these new deisers? An old hand like you should know all about that. Answer my question. I'm in charge here. Well, you know how they work. We've been running wind tunnel tests. Now they're installed on seven here, ready to try out. I suppose they don't click. Lawson. Come on. Let's cut the squabbling. You're right. Tommy is swell. Too swell for me. Do you mean that? Yeah, sure. You kids are just getting started. Here you are. Here's all the happiness on Earth. Well, thanks, Dizzy. That's done swell of you. So long, Kid. Have a good hop. Thanks. Stay asleep until I get back. Hey, Doc! This kid Lawson is sick. What? Yeah, he just fainted. Come on, pick him up and take him inside, will you? Gee. Hey, Baldy, put that ship out. Oh, no, no, you don't. The ship stays. I'm taking the kid's trip. Dizzy, not in this weather. I'm giving orders here and I'm taking that trip. Now go on. Do as you're told.  Why didn't you hold him? I couldn't help it.  Dizzy, you're going to be late. Flying blind on the Newark beam for Cleveland. Light ice forming on wings and tails. These new de-icers don't quite break it up. Tell them to turn back and land at once. Noah calling Davis and Seven. Go ahead, Newark. Davis and Seven return to Newark and land at once. Division, superintendent's orders. Tell Jake to come to the mic. Dizzy, this is Jake. Here. Here's the dope on these new de-icers, Jake. Never mind the de-icers. You know you can't fly through that stuff. Get on the ground. Come on. Come on. Get this. Take this down, boys. The pressure's got to be doubled. The rear tube should be moved back eight inches till the ice won't form behind it. And you need tubes on the tail, too. One on each leading edge. It'll work then like a million dollars. Right now, the tubes are frozen flat. That's all, Jacob. Okay, Dizzy. Now get back to Newark. There's not much chance of that unless you send me up a sky hook. Ship's getting heavy, losing altitude now. Dizzy, leave the ship. Don't wait until she begins to spin. Drop your flares and go over the side. Bail out. Hit the silt. No can do, baby. She's got ice all over her. She'll build up in a hurry. Jake, Jake, when Dizzy got into that ship, he didn't wear a shoe. What? He didn't. He wouldn't wait. Dizzy, isn't there some way? Can't you nurse her down? Slide in on her wings so it'll be an easy crack-up. Do something. Dizzy, anything. She's falling pretty fast, Jake. The ice looks a foot thick on the leading edges. 1,500 feet on the beam. Don't look for the crash tonight. Dizzy, listen! She's getting wishy now. I'm going to put her into a spin to see how that affects the ice. The ice still ticks the ship, Jake. She won't answer the controls. Here she goes. It's a long, Jake.  Newark to Davidson 7! Newark to Davidson 7! Answer 7! Answer 7! Dizzy! You got the call, Jake. They find the ship? Yeah. Dizzy. In the seat. Sure. He wouldn't stick it. You, uh... You want to speak to the boys? No. Jake, I've got something to tell you. Something I should have told you a long time ago. Yeah? It's about me. Dizzy. You don't have to tell me anything about Dizzy. He... He was all right. And... What about me? The only thing that keeps me from proposing to you all over again is that... we're already married. Oh, darling. It's okay, honey. It's okay. Lawson? Yes, sir? Here are Dizzy's notes about the Deisers. That's your next job. Remember, a swell guy made it easy for you. Yes, sir. Well, what are you standing around for? Doc, start the crash truck rolling. Yes, sir. Boys, get a weather report. Notify all stations at the crash and tell them we're holding up trips for a better report. Tell Bally to see that the ships are ready for everyone on tomorrow's schedule. Yes, sir. We're running an airline. Yes, sir. The curtain on Mach 3 of Sealing Zero, starring James Cagney, Ralph Bellamy, and Stuart Irwin. In just a moment, Mr. DeMille will bring back our stars to talk to you personally. But first, here's a bit of news for housewives. I read in the paper the other day that a housewife washes about an acre of dishes every year. Imagine all those dishes laid out over more than 43,000 square feet of ground. That's an acre of dishes. And it takes a good many hours to wash all those dishes. Yes, it does. It means your hands spend a lot of time in the dishpan. And if you're using a harsh soap for your dishes, your hands are apt to suffer. Harsh soaps with harmful alkali are likely to dry the natural oils in your skin. That's why your hands chap and get red in course. You don't want that to happen to your hands, do you? So won't you remember this? Lux Flakes are kind to your hands. They're mild. They have no harmful alkali. Nothing to dry your skin and roughen your hands. No, indeed. Lux helps your hands stay smooth and young looking. And that's pretty nice, isn't it? Having hands that are lovely to look at and thrilling to hold, every woman wants them. Remember, lux is fast, it's gentle, and it's thrifty. Yes, unless the water's very hard, it takes only about a penny's worth of lux to do a day's digging. Be sure to buy the generous big box of Lux Flakes. Mr. DeMille. After spending the last week in the vigorous company of Mrs. Cagney, Bellamy, and Irwin, I'm sorry for only one thing. Look out, boys. Here it comes. Oh, no. Now, it's not what you're thinking, Mr. Irwin. My lone regret is that all of you want with Barbara Stanwyck, Joel McCrae, and me in the making of Union Pacific. You mean we're too late? Gosh, what'll you ever do, Mr. DeMille? Well, there's always a chance that when the next one comes along, you'll be in the cast. I'd like to cast it for you right now, if I might. Of course, the first thing you'll need is a leading man, a hero.  Gee, that's white of you. Jim Darnwhite. Yeah, but not exactly like Bellamy. What you want is a guy little on the tough side, hard-boiled, fast-talking, see? Quick with his hands. He's okay on the inside, but on the outside, he's all brass knuckles. You mean somebody like James? No, no, likes to Erwin. Well, I don't doubt that Mr. Erwin has a heart of gold. Oh, boy, that's the truth. There's so much gold in my heart that every time it thumps it whispers, 16 carat, 16 carat. Anybody like to listen? All right, so you've got a heart of gold. But how tough can you be? How tough can I be?  Sure I will, Smarty. Just as I figured, wide open for a kick in the shins. Careful, Mr. Erwin. Ralph's in pretty good shape after working that vom of his. Well, that's not quite as accurate, Mr. DeMellis. I'd like it to be, so relax, too. You see, we had a flood back there, and my farm went down the Connecticut River. Flood ruined everything except a couple of crops, but they're doing fine. Watermelons and watercress. Hope you're having better luck on Cape Cod, Jimmy. Oh, I'm learning, Ralph, learning. I don't think I'll ever be a minister to the landed gentry, but come on, a few years and I think I'd be able to live off the place if I had to. Of course, I might get a little tired of eating kohlrabi and rutabaga three times a day, but then I'm learning. Mr. DeMellis, I got a great kick out of doing ceiling zero. I hope we can all get together again sometime. Many thanks. Good night. Good night. Good night and happy landing. In a moment, ladies and gentlemen, Mr. DeMellis brings news of next Monday's program. Be sure to listen to the new Lux Daytime Radio program, the life and love of Dr. Seussing. The story of a courageous woman in search of her destiny. You can hear it over most of these stations in the United States every afternoon, Monday through Friday, at 2.15 Eastern Time, 1.15 Central Time, 3.15 Mountain Time, and 2.15 Pacific Time. This new daytime program, the life and love of Dr. Seussing, comes to you in addition to the Lux Radio Theater. Assisting in ceiling zero were James Bush, as Buzz Gordon, Mary Lansing as Mary Lee, Martha Wentworth as Mama Jeannie, Edward Maher as Doc Wilson, Lou Merrill as Alan Jones, Joseph Duval as Joe Allen, Frank Nelson as Tay Lawson, Ross Forrester as Mike Owen, and John Gibson as Smiley Johnson. Ralph Bellamy appeared through courtesy of Harry Cohen. Lewis Silvers is from 20th Century Fox Studios, where he directed music for wife, husband, and friend. Now, your producer, the program planned for you next Monday night, like all programs in the Lux Radio Theater, is one in which you too play a major part. Just as we are occupied every day in the week preparing these productions, you are making them possible by bringing Lux Flakes and Lux Toilet Soap into your homes each day. This cooperation enables us to present plays and stars of the caliber and store for you a week from tonight, when you'll hear Norma Shearer, Norma Shearer, and William Powell. A great hit on the screen. Our play is the dramatic story of an infinite love, one-way passage. Our sponsors, the makers of Lux Flakes, join me in inviting you to be with us again next Monday night, when the Lux Radio Theater presents Norma Shearer and William Powell in one-way passage. This is Cecil B. DeMille, saying good night to you from Hollywood. The announcer has been Melville Rulick. This is the Columbia Broadcasting System.