운영체제

2023. 2. 21. 21:20정처기 필기/4과목 - 프로그래밍 언어 활용

운영체제

1. 운영체제 (OS : Operating System) 의 정의

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

 

2. 운영체제의 목적

- 처리능력

 

- 반환 시간

 

- 사용 가능도

 

- 신뢰도

 

3. 운영체제의 기능

- CPU, 메모리 공간, 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원 관리

- 다중 사용자와 다중 응용프로그램 환경 하에서 현재 상태를 파악하고 자원을 효율적으로 분배 및 관리하기 위해 스케줄링 기능 제공

- 사용자와 시스템 간의 편리한 인터페이스 제공, 입출력 장치와 사용자 프로그램 제어

- 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공

- 시스템의 오류 검사 및 복구, 자원 보호 기능 제공

- 입출력에 대한 보조 기능 제공

 

4. 운영체제의 주요 자원 관리

프로세스 관리, 기억장치 관리, 주변장치 관리, 파일 관리

 

5. 운영체제의 종류

Windows (GUI)

 

UNIX (CLI)

 

LINUX (CLI)

 

MacOS (GUI)

 

MS-DOS (CLI)

 

6. windows의 주요 특징

- GUI

- 선점형 멀티태스킹

  : 동시에 여러 프로그램을 실행하며 각 작업의 CPU 이용 시간을 제어하여 프로그램에 문제가 생기면 해당 프로그램을 강제 종료 시키고 모든 시스템 자원을 반환하는 형식으로 하나의 응용 프로그램이 CPU를 독점하는 것을 방지하여 시스템 다운 현상이 없어 안정적이다.

 

- PnP (Plug and Play : 자동 감지 기능)

  : 컴퓨터 시스템에 프린터나 사운드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시 스템 환경을 OS가 자동으로 구성해주는 기능

 

- OLE

  : 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능

 

- 긴 파일명 (255자)

  : VFAT 덕분

 

- 개인 사용자 시스템

  : 컴퓨터 한 대를 한 사람이 독점에서 사용

 

7. UNIX 의 개요 및 특징

- 소스가 공개된 개방형 시스템

- 시분할(Time Sharing System) 시스템을 위해 설계된 대화식 운영체제

- 다중 작업 지원 (멀티 태스킹)

- 다중 사용자 지원

- 대부분 C언어로 이식성이 높으며 장치, 프로세스 간 호환성이 높다.

- 계층구조(트리구조)의 파일 시스템

 

 

* 하드웨어 --> 커널(kernel) --> 쉘(shell) --> 유틸리티(utility) --> 사용자(user) 

 

* 커널

  - UNIX의 가장 핵심적인 부분

  - 컴퓨터가 부팅될 때 기억장치에 적재된 후 상주하면서 실행된다.

  - 하드웨어를 보호하고, 프로그램과 하드웨어 간 인터페이스 역할을 담당한다.

  - 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리 등 여러 가지 기능  수행

 

* 쉘

  - 사용자의 명령어를 인식하여 프로그램 호출하고, 명령을 수행하는 명령어 해석기

  - 기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조 기억장치에서 교체 처리가 가능

  - 시스템과 사용자간 인터페이스 역할

  - 여러 종류의 쉘

  

7. UNIX에서의 프로세스 간 통신

- 각 프로세스는 시스템 호출을 통해 커널의 기능을 사용하며, 프로세스 간 통신은 시그널, 파이프, 소켓 사용

 

*시그널

  : 간단한 메시지를 이용하여 통신하는 것

* 파이프

  : 한 프로세스의 출력이 다른 프로세스의 입력으로 사용되는 단방향 통신 방식

* 소켓

  : 쌍방향 통신 방식

 

8. LINUX의 개요 및 특징

- UNIX를 기반으로 개발

- UNIX와 완벽하게 호환됨

- 프로그램 소스 코드가 무료로 공개

 

9. MacOS 의 개요 및 특징

- Apple사가 UNIX를 기반으로 개발한 운영체제

- 애플 사에서 생산하는 제품에서만 사용 가능

- 드라이버 설치 및 install과 uninstall 과정이 단순하다.