프로그램은 컴퓨팅시스템 위에서 돌아감.


ALU나 메모리를 사용하려면 시스템과 상호작용 해야되고 상호작용 방식은 시스템이 정의함.


시스템에 전원이 들어오면 처음으로 시스템이 수행할 동작같은건 전부 시스템이 정의하고 있고 자신을 움직일 프로그램이 어떤 형태를 가져야 하는지도 시스템이 정의하고 있음.


시스템은 사용자가 시스템 자신을 컨트롤 할 수 있을만큼의 기능만을 제공하는데 이러한 시스템을 더 효율적으로(여러개의 프로세스를 실행한다던가) 사용하기 위해 만들어진게 운영체제임.


그래서 모든 운영체제는 시스템과의 상호작용을 위한 최소한의 어셈블리어를 포함하고 있다.


시스템이 제공하는 최소한의 기능에 접근할 수 있는 프로그래밍 언어라면 전부 운영체제를 작성할 수 있음. 근데 이게 무슨 의미를 가짐? Go가 위대하다? 파이썬은 못났다? 그냥 본인의 무식함만을 광고하고 다니는 꼴인데