What is my firmware, software, and operating system?
You do not have an operating system you are doing what is called baremetal (meaning no operating system to do things with the system for you you do things directly).  

Now saying that, folks seem to find it difficult to read a datasheet and program registers directly to do what they want, they want the operating system experience with printfs and fopens and memcpy and other calls that help them do things.  You generally dont want C library calls that end up tying to an operating system (printf, fopen, etc), but in this case you will want calls that help you set the cpu clock speed, that help you configure the uart and send/receive characters, without having to read the details about the registers involved with that peripheral.  For a long time chip vendors have provided a set of libraries which is just software that you link in and call just like on an operating system you link in printf and fopen (it often happens for you when using an IDE or toolchain setup for your target).  Fast forward a decade or two or three, particularly now (and with the 8051 this has been going on for some time) you have an IP vendor (ARM) which sells processor cores to many chip vendors, and then the chip vendors add their own peripherals within the chip that are often completely incompatible with other vendors, so you have this compatible part and an incompatible part of the chip.  Unfortunately from the x86 pc experience folks tend to thing an arm chip (is from arm which it isnt they dont make chips outside perhaps testing their ip) means they are all compatible and it is the arm part that matters.  the arm part is like the alphabet or the english language (or french or pick your favorite) you can use that language to write two different intro to biology text books or two different detective novels, that doesnt make those books in anyway identical or compatible simply because they used the same alphabet.  Exactly the same here.  But arm is trying to push this arm compatibility thing, perhaps also as a response to the arduino.  something nobody else is likely to repeat, but why not blow some cash to try.  so mbed is an arduino like software library set that tries to be compatible across platforms, they all have gpio what if we make calls that are generic-ish and the code ideally works across platforms, by having some waste/bloat in the code to cover the differences, rather than lean and mean like you would want for an mcu.  The key is the different chip vendors would need to make compatible library calls.  Fast forward again and you have CMSIS an ARM attempt to get arm based vendors to make compatible header files as well as library calls. And the MBED thing is now turning into an operating system as well as just library calls, an RTOS real time operating system, in no way as bloated as windows or linux, nor as general purpose, but is an operating system in that it has a scheduler for different tasks, manages some of the system aspects for you interrupts, interrupt priority, etc and you add your code on top of that just like you would on top of an operating system, conforming to the programming rules of that operating system and/or on top of libraries conforming to their rules.

So you have a microcontroller which has its features, it has a core processor which speaks a specific language but for the most part that is dealt with by the compiler, you hardly have to worry about it if ever, not even mention it, you have a ble nano, not an arm chip.  There are MBED compatible/like libraries that the chip vendor or someone has written, they will have examples that demonstrate the features of this chip using the MBED library for that chip.  The MBED library and other associated software is just software, call it software, or libraries, but not necessarily an operating system, and in this case likely not an operating system.

An SDK is a software developers kit.  which is just what that says.  it is a kit that contains things for software developers, libraries and perhaps makefiles or other environmental things (an ide, debugger, compiler, whatever).  Another name for software libraries but adds the difference of perhaps having things other than software, or not it could just be a set of libraries and some examples.  A library being a collection of software items that you use to get the task done.

hardware is hard, wires, transistors, resistors, software is soft, bits that exist in memory, firmware is somewhere in the middle it is software that is a bit more firm, software that you dont change out constantly as you do various things with the system (open and close your browser, open and close your word processor, open and close a spreadsheet program), firmware is like the software in your television remote control, ideally programmed once and it stays there, firm, for the rest of the products life, sometimes possible to be reprogrammed with new software but ideally, stays in place and that one software program/application handles all the use cases for that tv remote control.

Very often an mcu is used in an application like a tv remote control, or a computer keyboard or mouse, or calculator, or alarm clock.  So the software that runs on that mcu in those applications is firm, so at the end of the day the software product you are generating is firmware to be programmed in a non volatile memory (rom/flash) that that mcu uses.  The software libraries, your software, the rtos if there is one, all of this software comes together as one binary blob and that blob when used in an application like that where it is somewhat firm, doesnt change possibly ever but could, is firmware.

Your computer and even your smart phone has some firmware, your computer has the "BIOS" if you will, a bootloader in flash that runs every time and you might update sometimes but generally never touch, so it is firm.  But everything beyond that is soft, soft bits on the hard drive, software like a browser or word processor, things that are getting loaded in ram and then overwritten by the next thing with a daily/hourly churn.  Being updated on a regular basis in a lot of cases, sure some computers never get updates, but most do have something updated on a weekly or monthly or annual basis.  Your smart phone no different instead of a hard drive it is flash and the operating system and applications are run from ram, keep overwriting each other as one app is done and another one starts.  that is IMO software.  it is soft, not firm and certainly not hard.