본문 바로가기

Computer Science/Operating System

운영체제 (Operating System)

운영체제의 정의

운영체제 (Operating System)
사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어이다.

Windows, macOS, Ubuntu 등이 많이 사용되며, 주로 Windows는 개인용, Unix, Linux는 서버용 운영체제로 사용된다.

 

운영체제의 목적

운영체제의 목적에는 처리능력 향상, 반환시간 단축, 사용가능도 향상, 신뢰도 향상 등이 있다.

  1. 처리능력 : 일정 시간 내에 시스템이 처리하는 일의 양
  2. 반환시간 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
  3. 사용가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
  4. 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도

 

운영체제의 역할

  1. 프로세스 관리
    - 운영체제에서 작동하는 응용 프로그램을 관리하는 기능
  2. 저장장치 관리
    - 1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능
  3. 네트워킹
    - TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 한다.
  4. 사용자 관리
    - 사용자 별로 프라이버시와 보안을 위해 개인 파일에 대해서 다른 사용자가 접근할 수 없도록 해야한다. 이 밖에도 파일이나 시스템 자원에 접근 권한을 지정할 수 있도록 지원하는 것이 사용자 관리 기능이다.
  5. 디바이스 드라이버
    - 시스템에는 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고 관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다. 따라서, 운영체제 안에 하드웨어를 추상화해주는 계층이 필요한데, 이 계층을 디바이스 드라이버라고 부른다.

 

운영체제 주요 용어

  1. 매크로와 서브프로그램
    - 반복되는 부분을 분리시켜 놓고 이름을 부여하고 이름을 호출하여 실행할 수 있도록 하는 것
  2. 로더
    - 외부기억장치로부터 정보들을 주기억 장치로 옮기기 위하여 메모리 할당 및 연결, 재배치, 적재를 담당하는 서비스 프로그램
  3. 링커
    - 여러 오브젝트를 한 개의 실행 가능한 형태의 파일로 결합한다.
  4. 오버레이
    - 큰 프로그램을 작은 단위의 모듈로 잘라서 필요한 부분만 RAM에 적재하여 실행할 수 있도록 하는 기법
    - 프로그래머가 모듈의 자르는 단위 및 연결 순서를 명시해야하므로 사용이 불편 → 가상메모리 기법으로 극복
  5. 스와핑
    - 여러 개의 프로그램을 하나의 메모리에서 실행될 수 있도록 하기 위해 실행되는 기법
    - 실행 도중 스왑 아웃(swap out)되어 보조기억장치로 옮겨졌다가 실행 시 스왑 잇(swap in)되는 것을 반복하며 실행
  6. 버퍼링
    - 주기억 장치의 일부를 Queue 방식으로 동작하는 버퍼로 하나의 프로그램에서 CPU 연산과 I/O 연산을 중첩시켜 처리할 수 있게 하는 방식으로 CPU의 효율을 높인다.
  7. 스풀링
    - 주기억 장치를 이용하는 버퍼링은 공간이 작으므로 보조기억장치를 이용하여 여러 개의 프로그램에 대하여 입력과 CPU 작업을 중첩시켜 처리할 수 있게 하는 방식이다.

 

 

[참고자료]

'Computer Science > Operating System' 카테고리의 다른 글

PCB와 Context Switching  (0) 2023.08.18
페이징과 세그먼테이션  (0) 2023.08.12
페이지 교체 알고리즘  (0) 2023.08.06
인터럽트 (Interrupt)  (0) 2023.07.23
프로세스 & 스레드  (0) 2023.07.23