더북(TheBook)

하드웨어 계층에서는 주변 기기에 접근하기 위해 신호를 사용해 처리 자원이 실행하는 기계 명령어를 직접 실행한다. 현대적인 소프트웨어 설계는 점점 복잡해지고 있는데, 이러한 설계에서 애플리케이션 성능을 최적화하려면 하드웨어 구성 요소와 애플리케이션의 상호작용을 깊이 이해해야 한다.

런타임 시스템 계층에서는 프로그래밍 추상화와 관련된 여러 결점이 알 수 없는 시스템 콜이나 장치 드라이버, 스케줄링 알고리즘 뒤로 가려진다. 이들도 동시성을 갖춘 시스템에 제법 큰 영향을 미치기 때문에 철저히 이해하고 있어야 한다. 이 계층은 주로 운영체제에 해당한다. 더 자세한 내용은 3장에서 다룰 것이다.

애플리케이션 계층의 추상화 수준은 현실 세계와 비슷한 정도까지 높아진다. 이 계층에서 소프트웨어 엔지니어는 비즈니스 로직을 반영하는 복잡한 알고리즘을 구현하는 소스 코드를 작성한다. 이 코드는 프로그래밍 언어의 기능을 사용해 실행 흐름을 변경하거나 소프트웨어 엔지니어만이 고려할 만한 추상적 개념을 나타내는 역할을 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.