1일 1로그 100일 완성 IT 지식 #33

minkyung·2022년 6월 6일
1
post-thumbnail

033. 컴퓨터를 작동하게 만드는 운영체제

소프트웨어의 주요한 유형 두개: 운영체제와 애플리케이션

운영체제: 컴퓨터 하드웨어를 관리하고 다른 프로그램을 실행할 수 있게 하는 소프트웨어의 기초 구조물
(애플리케이션을 사용할 수 있도록 배후에서 작동하는 프로그램, 거의 모든 컴퓨터가 가지고있음)

애플리케이션: 그 위에서 실행되는 프로그램
(어느 정도는 자립적이고 단일한 작업을 처리하는 데 초점이 맞춰진 프로그램)

운영체제의 역사 : 하드웨어가 발전됨에 따라 꾸준히 더 정교해짐. 하드웨어 성능이 더 좋아지고 복잡해지면서, 운영체제가 하드웨어를 제어하는 데 더 많은 자원을 투입할 수 있게 되었다.

1950년대 초 → 컴퓨터는 한 번에 하나의 프로그램만 실행할 수 있었다.

비전문가가 프로그램 실행하는 일이 너무 비효율적임 → 전문 운영자에게 맡겨졌고, 전문 운영자는 프로그램을 컴퓨터에 입력하고 결과를 배부함. 이런 작업을 자동화할 수 있도록 돕는 프로그램에서 시작됨.

처음으로 널리 사용된 운영체제는 1950년대 후반과 1960년대 초반에 등장했는데, 보통은 하드웨어를 만드는 회사가 이를 같이 제공했고 어셈블리 언어로 작성되어 하드웨어와 강하게 결부되었다.

📎 운영체제의 역사 (위키피디아)

마이크로소프트 제품을 제외하고 오늘날 대부분의 운영체제는 벨 연구소 유닉스에서 파생되었거나, 유닉스와 호환되지만 독자적으로 개발된 리눅스에서 파생된 것이다.

📎 왜 우리는 리눅스(Linux)를 배워야 하는가

운영체제가 하는 일 : 컴퓨터의 자원을 제어하고 할당한다, 그리고 관리.

  1. 프로세서를 관리하면서 현재 사용 중인 프로그램을 스케줄링하고 프로그램 간의 관계를 조정함

  2. 주기억 장치를 관리한다.
    필요할 때 프로그램의 일부만 메모리에 가져오고 비활성화 상태일 때는 꺼내서 디스크로 복사해 두는 처리 (스와핑) 프로그램은 마치 전체 컴퓨터를 독점하고 메모리가 무제한인 것처럼 작성된다. 소프트웨어와 하드웨어가 결합하여 이러한 추상화를 제공하며, 프로그래밍을 훨씬 쉽게 만듦.
    그러고 나면 운영체제는 프로그램의 덩어리를 메모리와 디스크 간에 적절히 옮김으로써 이러한 착시가 계속 일어나도록 하며, 이 과정에서 하드웨어가 프로그램의 메모리 주소를 실제 메모리상의 진짜 주소로 변환하는 데 도움을 주고, 이 메커니즘을 가상 메모리라고 함.

  3. 보조 기억 장치에 저장된 정보 관리

  4. 컴퓨터에 연결된 장치들의 활동을 관리하고 조정함

profile
프론트엔드 개발자

0개의 댓글