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 과정이 단순하다.
'정처기 필기 > 4과목 - 프로그래밍 언어 활용' 카테고리의 다른 글
프로세스 및 스케줄링 (0) | 2023.02.22 |
---|---|
기억 장치 (0) | 2023.02.22 |
포인터 / 스크립트 언어 / 선언형 언어 (0) | 2023.02.21 |
배치 프로그램 / 패키지 소프트웨어 (0) | 2023.02.21 |
서버 개발 / 보안 및 API (0) | 2023.02.21 |