I want to give my 2 cents:
There is no point in banning knives (at least small knives). 3-5 terrorists holding knives are NOT able to take over a plane if passengers and crews resists. It is just historically it is safer not to fight the hijackers. I remember from past that airline could could get into legal troubles if they fight hijackers, which often cause more problems.
Imagine your self on a plane, when hijackers announced that they have a bomb onboard. A knife does not make any difference, as crew and passengers can easily overpower hijackers with knives. Before 9/11/01, I would not fight hijackers, as most hijacks resolves peacefully. What makes you decide to fight or not depends on your belief whether hijackers will go on a suicide mission. NOT a knife.
blocking access to cockpit will not work for the same reason. If a hijacker says he will blow up the plane if you don't give him access. Do you take a chance? it depends on if you belive the hijacker or not. Blocked cockpit don't make any difference.
I am sorry if I am not able to explain this well. thanks for hearing me out.