응용SW기초기술활용
- 응용소프트웨어를 개발하기 위하여 다양한 운영체제의 특징 이해
- CLI 및 GUI 환경에서 운영체제의 기본 명령어를 활용
- 운영체제에서 제공하는 작업 우선순위 설정 방법을 이용하여 애플리케이션의 작업 우선순위 조정
용어사전
- 메모리 관리
- 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리하는 것
- 환경변수
- 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
운영체제의 개념
- 컴퓨터 시스템의 자원들(CPU, 주기억장치, 보조기억장치, 파일 등)을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 인터페이스를 제공하는 시스템 소프트웨어
운영체제의 역할
- 사용자와 시스템 간의 편리한 인터페이스 제공
- 시스템의 각종 하드웨어와 네트워크를 관리하고 제어
- 자원을 효율적으로 관리하기 위해 자원의 스케쥴링 기능 제공
- 데이터를 관리하고 데이터 및 자원의 공유 기능 제공
- 입출력에 대한 보조 기능을 제공
- 시스템의 오류를 검사하고 복구
- 원시프로그램을 목적프로그램으로 변환하는 것은 번역 프로그램임
운영체제의 목적
- 목적
- 컴퓨터 시스템의 처리 능력 향상
- 사용 가능도 향상
- 반환 시간 단축
- 운영체제 성능 평가 기준
- 처리 능력
- 반환 시간
- 사용 가능도
- 신뢰도
운영체제의 종류
1. Windows
- 마이크로소프트사가 개발한 운영체제
- 특징
- GUI
- 키보드로 명령어를 직접 수행하지 않고 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행
- 선점형 멀티태스킹
- 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 시행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식
- PnP; Plug and Play
- 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능
- OLE; Object Linking Embedding
- 다른 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능
- GUI
2. UNIX
-
AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
-
특징
- C언어로 작성되어 이식성 높음
- 장치와 프로세스 간의 호환성 높음
- 시분할 시스템으로 설계된 대화식 운영 체제
- 소스가 공개된 개방형 시스템
- 다중 사용자가 다중 작업을 지원
- 많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합
-
구성
-
Kernel 커널
- 프로세스 관리
- 기억장치 관리
- 입출력 관리
- 파일 관리
- 컴퓨터가 부팅될 때 주기억장치에 적재되어 상주하면서 실행
-
Shell 쉘
- 사용자의 명령을 인식하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스
- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조 기억장치에서도 교체처리가 가능
- 한 프로세스의 출력이 다른 프로세스의 입력으로 사용되는 단방향 통신인 파이프 라인 기능을 지원
-
3. LINUX
- 리누스 토발즈가 개발한 운영체제
- 특징
- 프로그램 소스 코드가 무료로 공개되어 프로그래머가 원하는 기능 추가
- 다양한 플랫폼에 설치하여 사용 가능
- 재배포가 가능
- UNIX와 완벽하게 호환
4. MacOS
- Apple에서 UNIX 기반으로 개발한 운영체제
- 특징
- 아이맥과 맥북 등 애플 사 제품에만 사용이 가능
- 드라이버 설치 및 install 과정이 단순함
5. MS-DOS
- Windows 이전 운영체제, CLI