운영체제의 개념
운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터의 하드웨어를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다.
운영체제의 목적
✅ 처리능력 향상
✅ 사용 가능도 향상
✅ 신뢰도 향상
✅ 반환 시간 단축
항 목 | 설 명 |
반환 시간 (Turn Around Time) | 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 |
처리 능력 (Throughput) | 시스템의 생산성을 나태내는 단위. 일정 시간 내에 시스템이 처리하는 일의 양 |
사용 가능도 (Availability) | 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 |
신뢰도 (Reliability) | 시스템이 주어진 문제를 정확하게 해결하는 정도 |
운영체제의 기능
✅ 자원관리
컴퓨터 시스템 자원 효율적 관리(시스템 자원 - CPU, Memory, I/O장치와 같은 하드웨어 자원과 프로세스, 파일 메시지 등의 소프트웨어 자원)
✅ 자원 보호
프로그램이나 다른 사용자가 데이터를 삭제하거나 중요 파일에 접근하지 못하게 컴퓨터 자원들 보호
✅ 인터페이스 제공
하드웨어 인터페이스와 사용자 인터페이스 제공하여 편리하게 사용하도록 지원
- 프로세스 관리 : OS에서 동시에 실행되는 많은 프로세스를 효율적으로 관리
- 파일 관리 : 파일 생성, 수정, 삭제, 조작, 백업 등등
- 네트워크 관리 : 네트워크 서비스 성능, 오류분석, 프로비저닝, 품질관리 등등
- 메인 메모리 관리 : 메모리 추적, 프로세스에 따른 메모리 할당
- 보조 스토리지 관리 : 스토리지 할당, 여유 광간 관리, 디스크 스케줄링
- 입출력 장치 관리 : 버퍼 캐싱 시스템 제공, 장치 드라이버 제공
- 보안 관리 : 시스템 보호 및 오류로 인한 시스템 손상 방지
- 명령어 해석 시스템 : 사용자와 시스템 간의 인터페이스. 인터프리터, 쉘 등등
운영체제의 유형
✅ 일괄처리 시스템(Batch processing system)
- 초기의 컴퓨터 시스템에서 사용된 형태로, 일정량 또는 일정 기간 동안 데이터를 모아서 한꺼번에 처리하는 방식.
- 급여 계산, 지불 계산, 연말 결산 등의 업무에 사용한다.
✅ 다중 프로그래밍 시스템(Multi programming system)
- 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식.
- 하나의 주기억장치에 2개 이상의 프로그램을 기억시켜 놓고, 하나의 CPU와 대화하면서 동시에 처리가 가능하다.
✅ 시분할 시스템(Time sharing system)
- 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가며 처리해 줌으로써 각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 방식.
- 라운드 로빈(Round Robin)방식 이라고도 한다.
- 다중 프로그래밍 방식과 결합하여 모든 작업이 동시에 진행되는 것처럼 대화식 처리가 가능하다.
✅ 다중 처리 시스템(Multi processing system)
- 여러 개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식.
- 단일 운영체제에 의해 관리되며, 하나의 CPU가 고장 나더라도 다른 CPU를 이용하여 업무를 처리할 수 있으므로 시스템의 신뢰성과 안정성이 높다.
✅ 실시간 처리 시스템(Real-Time processing system)
- 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식.
- 우주선 운행이나 레이더 추적기, 핵물리학 실험 및 데이터 수집, 전화교환장치의 제어, 은행의 온라인 업무, 좌석 예약 업무, 인공위성, 군함 등의 제어 업무 등 시간에 제한을 두고 수행되어야 하는 작업에 사용된다.
✅ 다중 모드 처리 시스템(Multi-Mode processing system)
- 일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식.
✅ 분산 처리 시스템(Distributed processing system)
- 여러 개의 컴퓨터(프로세서)를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식.
- 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고 있다.
운영체제의 종류
대표적인 컴퓨터 운영체제로는 윈도우(Windows), 맥 OS(Mac OS), 리눅스(Linux), 유닉스(Unix) 등이 있다.
윈도우(Windows)
- MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 응용 프로그램으로서, 마이크로소프트사가 개발한 운영체제
- 윈도즈 95를 발표한 이후에 98, ME, XP, 7, 8, 10 등의 버전으로 지속적으로 출시
특 징 | 설 명 |
GUI 제공 | 그래픽 사용자 인터페이스 제공 |
선점형 멀티태스킹 방식 제공 | 동시에 여러 개의 프로그램을 실행하면서, 운영체제가 각 작업의 CPU 이용시간 제어 |
자동감지 기능 제공 | 하드웨어 설치 시, 필요한 시스템 환경을 운영체제가 자동으로 구성해줌 |
OLE(Object Linking and Embedding)사용 | 개체를 현재 작성 중인 문서에 자유롭게 연결 or 삽입하여 편집할 수 있게 하는 기능 제공 |
유닉스(Unix)
- 교육 및 연구기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제
- 처음부터 다양한 시스템에 서로 이식할 수 있고, 멀티태스킹과 다중사용자를 지원하도록 설계되었다.
특 징 | 설 명 |
대화식 운영체제 기능 | - 프롬프트가 나타난 상태에서, 사용자가 명령을 입력하면 시스템은 그 명령을 수행 - 사용자 명령 기반의 대화식 운영체제 기능 제공 |
다중 작업 기능 | - 다수의 작업(프로세스)이 중앙처리장치(CPU)와 같은 공용자원을 나누어 사용 - 한번에 하나 이상의 작업을 수행하는 기능 제공 |
다중 사용자 기능 | - 여러 대의 단말(키보드, 모니터)이 하나의 컴퓨터에 연결되어, 여러 사람이 동시에 시스템을 사용 ⇒ 각각의 작업을 수행할 수 있는 기능 제공 |
이식성 | - 90% 이상 C언어로 구현 - 시스템 프로그램이 모듈화 되어있음 ⇒ 다른 하드웨어 기종으로 쉽게 이식 가능! |
계층적 트리구조 파일 시스템 | - 계층적 트리구조 ⇒ 통합적인 파일 관리 용이! |
리눅스(Linux)
- 유닉스 기반으로 개발
- 소스코드가 공개된 오픈소스 기반의 운영체제
- 데비안, 레드햇, Fedora, Ubuntu, CentOS와 같이 다양하게 출시되고 있음
- 유닉스 계열의 운영체제
- ⇒ 대화식 운영체제, 다중 작업 기능, 다중 사용자 기능, 이식성, 계층적 트리 구조 파일 시스템
맥(Mac)
- 애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제
- 애플사는 1999년 OS X로 업데이트 하였음
- 이후 클라이언트 버전, 서버 제품 등으로 제품군 확대함
- 2017년 OS X 시에라, 2018년 모하비 등을 지속적으로 발표하고 있음
Windows, Unix/Linux 기본 명령어
Windows 기본명령어
- DIR : 현재 디렉터리의 파일 목록을 표시함
- COPY : 파일을 복사함
- DEL : 파일을 삭제함
- TYPE : 파일의 내용을 표시함
- REN : 파일의 이름을 변경함
- MD : 디렉터리를 생성함
- CD : 동일한 드라이브에서 디렉터리의 위치를 변경함
- CLS : 화면의 내용을 지움
- ATTRIB : 파일의 속성을 변경함
- FIND : 파일에서 문자열을 찾음
- CHKDSK : 디스크 상태를 점검함
- FORMAT : 디스크 포면을 트랙과 섹터로 나누어 초기화함
- MOVE : 파일을 이동함
UNIX/LINUX 기본 명령어
- cat : 파일 내용을 화면에 표시함
- cd : 디렉터리의 위치를 변경함
- chmod : 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함
- chown : 파일 소유자와 그룹을 변경함
- cp : 파일을 복사함
- rm : 파일을 삭제함
- find : 파일을 찾음
- fsck : 파일 시스템을 검사하고 보수함
- kill : PID(프로세스 고유 번호)를 이용하여 프로세스를 종료함
- fork : 새로운 프로세스를 생성함
- killall : 프로세스의 이름을 이용하여 프로세스를 종료함
- ls : 현재 디렉터리의 파일 목록을 표시함
- mkdir : 디렉터리를 생성함
- rmdir : 디렉터리를 삭제함
- mv : 파일을 이동함
- ps : 현재 실행중인 프로세스를 표시함
- pwd : 현재 작업중인 디렉터리 경로를 화면에 표시함
- top : 시스템의 프로세스와 메모리 사용 현황을 표시함
- who : 현재 시스템에 접속해 있는 사용자를 표시함
'[IT 지식] > 컴퓨터과학' 카테고리의 다른 글
[데이터베이스] 속성(Attribute) 정리 (0) | 2023.01.14 |
---|---|
[데이터베이스] 엔터티(Entity) 정리 (0) | 2023.01.14 |
[데이터베이스] 데이터 모델링의 이해 (0) | 2023.01.13 |
[Network] 프로토콜(Protocol) 정리 - 개념, 종류, 기능 (0) | 2023.01.12 |
[원티드 프리온보딩 챌린지] 사전과제 (0) | 2022.09.20 |