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

이진희·2022년 6월 6일
0

개념정리

목록 보기
9/10

📋운영체제(OS, Operating System)

컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고,
효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다.

운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다.

애플리케이션(Application)
Application software 혹은 Application program의 준말.
➡️ 응용 소프트웨어, 응용프로그램 (운영체제를 제외한 나머지 소프트웨어/프로그램)


📍운영체제의 종류

대표적인 컴퓨터 운영체제로는 윈도우(Windows), 맥 OS(Mac OS), 리눅스(Linux), 유닉스(Unix) 등이 있다.


📍운영체제의 기능

  • 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원을 관리
  • 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능 제공
  • 사용자와 시스템 간의 편리한 인터페이스를 제공
  • 시스템의 각종 하드웨어와 네트워크를 관리 및 제어
  • 데이터를 관리하고 데이터 및 자원의 공유 기능 제공
  • 시스템의 오류를 검사 및 복구
  • 자원 보호 기능 제공
  • 입출력 보조 기능 제공
책내용
1. CPU,기억장치, 주변장치, 프로그램, 정보, 자료같은 컴퓨터자원들을 관리하는 기능
2. 프로세스와 쓰레드 스케줄링, 프로세스 생성과 제거, 프로세스의 시작, 정지, 재수행, 프로세스 동기화 및 통신 관리, 주기억 장치 관리를 위해 주기억장치 관리자와 협력하는 등의 프로세스 관리 기능
3. 메모리 상태 추적 및 기억, 메모리 할당 및 회수, 가상기억장치 및 페이징 장치 관리, 장치 관리자 또는 파일 관리자와 협력하는 기억장치 관리 기능
4. 입출력 장치 관리 기능으로 입출력 장치의 스케줄관리, 각종 주변장치의 스케줄링 및 관리
5. 파일의 생성과 삭제, 변경 유지들의 관리, 정보의 위치, 사용여부와 상태 등을 추적 관리하는 파일 관리 기능

✔️메모리 Swapping

프로세스가 실행되려면 반드시 메모리에 올라가야 한다.
프로세스가 '스와핑(swapping) 한다' 라는 것은 현재 메모리에서 잠깐 다른 저장공간(HDD나 SSD)으로 옮겨졌다가, 돌아왔다가 이런 식으로 실행에 따라 교체될 수 있다는 걸 의미한다.

주기억장치에 적재한 하나의 프로세스를 보조기억장치에 잠시 적재했다가 필요할 때 다시 꺼내서 사용하는 메모리를 교체하는 기법


👉 잠깐 어디 빼놓는 공간을 보조기억장치(secondary storage,Backing storage)라고 한다!

TIP
만약 좀 더 빠른 속도를 원한다면 우리는 메모리를 늘려서 Swapping이 덜 필요하게 만들면 된다!🤓


📍운영체제의 목적

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

  • 처리능력(Throughput)
    일정 시간 내에 시스템이 처리하는 일의 양
  • 반환시간(Turn Around Time)
    시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
  • 사용가능도(Availability)
    시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
  • 신뢰도(Reliabilty)
    시스템이 주어진 문제를 정확하게 해결하는 정도

여기부터는 그냥 추가적으로 보면 좋은 내용!

✔️Context Swich

CPU가 이전의 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에서 읽어서 레지스터에 적재하는 과정


우리는 컴퓨터로 인터넷 하면서 음악도 듣고, 채팅도 할 수 있다.
동시에 처리되는 것처럼 보이지만, 우리가 느끼지 못할 뿐 time sharing이라고 해서 짧은 시간동안 왔다갔다 번갈아서 처리해주는 것이다.

이렇게 프로세스들이 교체되어 수행되고 나면 다시 다른 프로세스를 불러와야 하는데, 이를 위해서는 이전 작업에 대한 내용을 기억하고 있어야 한다.
여기서 프로세스 단위로 정보를 저장해주는 BLOCK을 PCB라고 한다.

그래서 프로세스가 스위칭 되어도 기억을 하고 이어서 실행할 수 있다.


❓ Context Switching이 필요한 이유

  • 컴퓨터가 매번 하나의 Task만 처리할 수 있다면 반응 속도가 매우 느리고 불편하다. 하지만 빠른 속도로 Task를 바꿔가며 실행하면 실시간으로 동시에 처리되는 것처럼 보이게 할 수 있어서 Context Switching이 필요하다.

0개의 댓글