JAVAIARY

운영체제(Operating System) 본문

정보처리기사

운영체제(Operating System)

shiherlis 2023. 7. 16. 17:37

1. 운영체제의 개념

1) 운영체제의 개념

  • 컴퓨터 시스템의 자원들을 효율적으로 관리하며,
    사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
  • 컴퓨터 사용자와 하드웨어간의 인터페이스로 동작하는 시스템 소프트웨어의 일종
  • 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경 제공
  • 프로세스, 기억장치, 주변장치, 파일 등의 관리 기능
  • 종류 : Windows, UNIX, LINUX, MacOS, MS-DOS

2) 운영체제의 목적

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

 3) 운영체제의 기능

  • 프로세서(Processor), 기억장치(주기억장치, 보조기억장치), 입출력장치, 파일 및 정보등의 자원 관리
  • 자원 스케줄링 기능 : 자원을 효율적으로 관리하기 위해
  • 인터페이스 제공
  • 시스템의 하드웨어/ 네트워크를 관리.제어함
  • 데이터 관리, 데이터 및 자원의 공유 기능 제공

2. 운영체제의 종류

  • Windows
    • 1990년대 MS 사가 개발한 운영체제
    • GUI (Graphic User Interface)
      키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식
    • 선점형 멀티태스킹(Preemptive Multi-Tasking)
      동시에 여러 개의 프로그램을 실행하는 멀티 태스킹을 하면서 운영체제가 각 작업의 

      CPU이용시간을 제어하여 응용 프로그램  실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고
      모든 시스템 자원을 반환하는 방식
    • PnP(Plug and Play, 자동 감지 기능)
      컴퓨터에 시스템 프린터나 사운드 카드 등의 하드웨어 설치 시
      해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능
    • OLE(Object Linking and Embedding)
      다른 여러 응용프로그램에서 작성된 문자나 그림 등의 개체(Object)를
      현재 작성중인 문서에 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있게 하는 기능
    • 파일명 최대 255자
    • Single-User 시스템
      컴퓨터 한 대를 한 사람이 독점하여 사용
  • UNIX
    • AT&T 벨 연구소, MIT, General Electric이 공동 개바한 운영체제
    • 시분할 시스템(Time Sharing Syste)을 위해 설계된 대화식 운영체제
    • 대부분 C언어로 작성되어있어 이식성 ↑, 장치/프로세스 간의 호환성 ↑
    • 다중사용자(Multi-User) , 다중 작업(Multi-Tasking) 지원
    • 트리(Tree)구조의 파일 시스템
    • 커널(Kernel)
      유닉스의 핵심부분
      하드웨어를 보호하고, 프로그램과 하드웨어간의 인터페이스 역할을 담당
      프로세스(CPU 스케줄링)관리, 기억장치 관리, 파일 관리, 입.출력 관리 등 여러가지 기능 수행
    • 쉘(Shell)
      사용자의 명령어를 인식하여 프로그램을 호출하고 명령하을 수행하는 명령어 해석기
      시스템과 사용자간의 인터페이스 담당
      종류 : Bourne Shell, C Shell, Korn Shell
    • 유틸리티 프로그램(Utility Program)
      일반사용자가 작성한 응용 프로그램 처리 시 사용
      DOS에서의 외부 명령어에 해당
      종류: 에디터, 컴파일러, 인터프리터, 디버거
  • LINUX
    • 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
    • 소스코드가 무료로 공개되어 있기 때문에 프로그래머가 원하는 기능 추가 가능
    • UNIX와 완벽하게 호환
  • MacOS
    • 애플(Apple)사가 UNIX를 기반으로 개발한 운영체제
    • iMac과 MacBook 등 애플 사에서 생산하는 제품에서만 사용 가능
    • 드라이버 설치 및 install/Uninstall 과정이 단순
  • Android
    • Google사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
    • 모든 코드가 공개된 개방형 소프트웨어
    • Java,Kotlin으로 애플리케이션을 작성함
    • 스마트폰 등의 휴대용 장치에서 주로 사용
  • iOS
    • 애플사에서 개발한 유닉스 기반의 모바일 운영체제
    • 애플사 고유의 모바일 운영체제로 타사 제품은 iOS를 탑재할 수 없음