컴퓨터 과학을 깊게 이해하고 도전을 즐기는 엔지니어와 툴에 의존하는 얕은 이해의 엔지니어로 나눌 수 있습니다. 전자는 성취와 리더십을 추구하며 고퀄리티의 결과물을 만들지만, 후자는 툴에만 의존하며 깊은 이해가 부족할 수 있습니다. 컴퓨터 과학을 깊이 공부하면 안정된 고용 기회와 전문성 향상이 기대됩니다.
데이터의 최소 단위를
1 비트라고 합니다.
8개의 비트로 구성된 더 큰 단위는1 바이트라고 하고, 이는 메모리에 저장되는 최소 단위입니다.
1 바이트는 28=256가지의 수를 표현할 수 있습니다. 10진수로 0~255, 2진수로 00000000~11111111, 16진수로 00~FF까지 나타냅니다.

가장 왼쪽에 있는 비트를
MSB라고 하고,
가장 오른쪽에 있는 비트를LSB라고 부릅니다

부호가 있는 데이터의 경우, MSB는 부호의 의미를 가지게 됩니다.
0이면 양수
1이면 음수
0b10010100가 부호가 있는 데이터라면, MSB가 1이기 때문에 10진수로 표현하면 음수인 -108이고,
부호가 없는 데이터라면, MSB인 1은 부호를 의미하지 않고, 값을 의미하므로 양수인 148이 됩니다.
2 바이트 이상의 데이터는 메모리에 연속적으로 될 때 각 바이트가 메모리에 정렬되는 방식을
바이트 오더링이라고 부릅니다.
바이트 오더링의 두 가지 방식으로빅 엔디안(Big Endian)과리틀 엔디안(Little Endian)이 있습니다
바이트 오더링은 비트의 순서가 아니라 바이트의 순서를 고려하는 것으로, 바이트 내 비트의 순서는 동일하고 바이트의 순서만 달라집니다. 

응용 프로그램의 동작을 수행하고, 응용 프로그램에게 시스템 자원을 할당하는 등의 복잡한 관리 작업을 수행한다
하드웨어와 사용자/응용 프로그램 사이에서 중재자 역할을 합니다.
운영체제의 핵심 기능으로 소프트웨어와 하드웨어 간의 커뮤니케이션을 관리합니다.
사용자가 운영체제에 명령을 내릴 수 있게 해주는 중간 역할을 합니다.
사용자가 명령어를 입력하면 셸이 이를 해석하여 커널에 전달합니다. 커널은 명령을 수행하고 결과를 셸에 반환하며, 셸은 이를 해석하여 사용자에게 출력합니다.