개발의변화
1.운영체제 기초 활용 본문
1) 운영체제의 개념
운영체제란?
- 운영체제는 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 하는 인터페이스를 제공해주는 소프트웨어
- 하드웨어는 1) 중앙처리 장치: 컴퓨터의 장치를 제어하고 데이터를 처리
2) 기억 장치: 데이터를 저장
3) 통신 장치: 외부와의 통신을 담당
4) 입출력 장치: 데이터 입력과 출력을 담당
운영체제 특징
1) 사용자 편리성: 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영
2) 인터페이스 기능: 컴퓨터 시스템과 사용자를 연결
3) 스케줄링: 다중 사용자와 다중 응용 프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당
4) 자원 관리: CPU, 메모리 공간, 기억장치, 입출력 장치 등의 자원을 관리
5) 제어 관리: 입출력 장치와 사용자 프로그램을 제어
운영체제의 기능
1. 제어 프로그램
- 감시 프로그램: 각종 프로그램의 실행과 시스템 전체의 작동 상태 감시 및 감독
- 작업 제어 프로그램: 작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 담당
- 데이터 관리 프로그램: 주기억장치와 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지보수 기능을 수행
2. 처리 프로그램
- 언어 번역 프로그램: 원시 프로그램을 기계어 형태의 목적 프로그램으로 번역 (어셈블러,컴파일러, 인터프리터)
- 서비스 프로그램: 효율성을 위해 사용 빈도가 높은 프로그램으로 링커, 정렬/합병 프로그램, 라이브러리, 유틸리티 프로그램이 있음
- 문제 프로그램: 특정 업무 해결을 위해 사용자가 작성한 프로그램
커널(Kernel)
운영체제의 핵심적인 기능은 커널에 있고, 쉘(인터페이스)는 이러한 커널을 사용자가 사용하기 편리하게 만든다.
1. 쉘(shell)
- 사용자가 입력시킨 명령어 라인을 읽어 필요한 기능을 실행시키는 명령어 해석기
- 시스템과 사용자간의 인터페이스 제공, 여러가지의 내장 명령어 가지고 있음
2. 커널(Kernel)
- 운영체제의 주요한 기능이 모여있음
- 시스템과 하드웨어 간의 인터페이스 역할
- 프로세스 관리, 기억장치 관리, 주변장치 관리, 파일 관리
운영체제의 종류
1. 윈도즈 계열 운영체제
- 그래픽 사용자 인터페이스(GUI) 제공: 키보드 없이 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행하는 그래픽 기반의 인터페이스
- 선점형 멀티태스킹 방식: 동시에 여러 개의 프로그램을 실행하면서 운영 체제가 각 작업의 CPU 이용시간을 제어
- 자동감지 기능: 하드웨어를 설치했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 자동감지 기능
- OLE(Object Linking and Embedding) 사용: 개체를 현재 작성 중인 문서에 자유롭게 연결 또는 삽입하여 편집할 수 있는 기능
2. 리눅스/유닉스 계열 운영체제 (AT&T Bell, MIT)
- 대화식 운영체제 : 사용자가 명령을 입력하면 시스템이 명령을 수행하는 기능
- 다중 작업: 한 번에 하나 이상의 작업을 수행하는 기능
- 다중 사용자: 여러 사람이 동시에 시스템을 사용하여 각각의 작업을 수행할 수 있는 기능
- 이식성: 90% C언어, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능
- 계층적 파일 시스템 제공: 유닉스는 계층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이
리눅스는 유닉스의 호환커널 -> 프리 소프트웨 정책을 통해 리눅스 만듦
3. 맥 운영체제
GUI 매킨토시용,
4. 안드로이드: 휴대 전화를 비롯한 휴대용 장치를 위한 운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램
리눅스 커널 위에 동작, 자바와 코틀린 언어로 응용 프로그램 작성 가능, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리 제공