운영체제(이하 OS)란?
OS는 소프트웨어 제어 센터이며, 주 기억장치(RAM)에 상주한다.
사용자, 응용, 하드웨어, CPU 사이의 인터페이스를 제공한다.
- 프로그램 실행을 지원하며 감독한다.
- 디바이스 드라이버를 통해 컴퓨터와 주변 장치를 연결하여 준다.
널리 사용되는 운영체제에는 Mac OS, Windows, Linux 등이 있다.
운영 체제는 사용자, 응용, 하드웨어 사이의 인터페이스를 제공한다.
OS는 2개의 주요 프로그램 영역을 갖고 있다.
- 커널: BIOS에 의하여 부팅 시에 적재되는 운영 체제의 핵심 부분이다.
- 모듈: 사용자 / 디바이스 인터페이스를 제공하는 구성 요소이다.
플랫폼이란 특정 CPU에서 실행되는 운영 체제이다.
교차 플랫폼 응용은 여러 플랫폼에서 동일하게 실행되는 어플리케이션을 의미한다.
운영 체제의 유형
기능과 사용 목적에 따른 OS의 분류 방법으로 나눈다면 아래 방식대로 나눌 수 있다.
- 단일 작업: ex) DOS, Windows 3.x
- 다중 작업: ex) Windows, Mac OS, UNIX
- 네트워크 운영 체제: ex) UNIX, Windows Server
고객 계층에 따른 OS의 설계로 나눈 다면 아래 방식 대로 나눌 수 있다.
- Microsoft Windows와 Mac OS는 가정용과 소규모 사업자용에 편리하도록 설계되었다.
- UNIX는 안정성, 다중 작업, 보안, 다중 프로세싱에 용이하기 때문에 서버 환경에 적합하다.
- CPU를 가진 모든 다목적 장치들은 반드시 OS가 있다. ex) 데스크탑, 서버, PDA, 휴대 전화, 가전기기
운영 체제의 기능
운영 체제의 기능은 크게 4 가지 기본 기능이 있다.
1. 사용자 인터페이스 제공
사용자 인터페이스란 시스템 접근 방법을 제공하는 프로그램이며, 두 가지 인터페이스 유형이 있다.
- 명령어 라인 인터페이스(콘솔 운영 체제): 명령어 프롬프트에 텍스트를 입력하고, 출력은 문자와 숫자로 표시한다. ex) DOS
- 그래픽 사용자 인터페이스 (GUI): 키보드, 마우스, 터치 스크린, 음성등을 통해서 입력하고 열린 윈도우의 메뉴 선택을 통해 OS에 명령한다. ex) MS Windows series, Mac OS
2. 프로세스 관리
프로세스를 적재하고, 시작하며, 감독하고 정지시킨다. 프로세스는 실행중인 프로그램이며, 자신을 지원하기 위해 다른 프로세스를 시작 시킬 수 있다.
Windows에서 작업 관리자는 실행중인 프로세스를 보여주며, Linux에서는 ps 명령을 사용해서 프로세스들을 볼 수 있다.
CPU는 한번에 하나의 프로세스만 실행한다. (폰 노이만 구조의 모든 컴퓨터는 순차적 실행만을 지원한다.)
시분할
- OS의 CPU 시간 관리 방법이다.
- 하나의 CPU에 여러 개의 프로세스를 할당한다
- 여러 프로세스가 동시에 실행하는 것 처럼 보이게 한다. (실제로는 그림처럼 동작한다.)
- 컴퓨터 시스템 내의 각 장치의 속도 차이에 기인한다.
효율을 증대하기 위해서 시스템은 복잡해진다.
- OS는 준비된 프로세스와 기다리는 프로세스를 구분해야한다.
- OS는 I/O 장치의 비동기적 요청을 서비스 해야한다.
- 인터럽트 처리 루틴은 프로세스들을 CPU에 재할당한다.
3. 자원 관리
OS는 자원의 관리자이다.
I/O 장치들을 환경에 맞게 설정함으로써 응용 프로그램이 직접 I/O장치와 인터페이스하는 부담을 덜어준다.
메모리의 빈 공간을 감독하며 프로그램과 데이터를 메모리에 적재한다.
명령어 실행 순서를 관리한다.
프로세스가 시스템에 들어오고 나감에 따라 메모리를 재할당한다.
4. 보안 제공
OS는 메모리와 다른 자원을 보호한다. 위반에는 2가지 종류가 있다.
- 비의도적 위반: 응용 프로그램이 다른 프로그램의 주소 공간에 쓰는 경우가 있다. 이런 경우 OS의 방지 대책은 프로세스 간의 경계를 설정하는 것이다.
- 의도적 위반 (보안 이슈): 프로그램이나 자원에 권한 없는 접근은 바람직하지 않다. 이런한 의도적 위반을 막기 위해 시스템 관리자가 계정을 보호하기 위해 암호를 설정하거나 그룹 정책을 통해 권한과 허가를 자동적으로 설정한다.
디스크 파일의 관리
기본적인 OS의 파일 관리 기능이다. 파일의 이름을 바꾸거나 폴더나 디렉토리의 생성과 변경은 모두 해당된다.
폴더의 구조는 트리 구조로 이루어져있다.
UNIX/DOS의 경우 콘솔 창을 통해 디렉토리를 접근한다.
파일과 폴더에 관한 기본 동작
1. 디스크 분할(partition)
디스크 표면을 파티션이라 불리는 영역으로 나누는 과정이다.
2. 디스크 포매팅(formatting)
디스크 표면에 주소를 할당한다.
기본적인 디렉토리 트리 구조를 설정한다.
3. 폴더의 생성
분할과 포매팅 후에 형성되는 트리 모양의 파일 구조이다.
주요 레벨은 루트라고 불린다
다른 폴더 내의 폴더들을 자식 폴더 또는 서브디렉토리, 반대는 부모라고 부른다.
4. 폴더나 파일 리스팅
Windows는 GUI를 통해서 드라이브와 폴더의 내용을 리스트하고, DOX / UNIX / Linux 등은 텍스트 기반의 명령을 통해 폴더의 내용을 리스트한다 (ls -al)
5. 폴더나 파일 이름바꾸기
6. 폴더나 파일 삭제
7. 폴더나 파일 복사
8. 폴더나 파일 이동
'Computer Science > Computer Basic' 카테고리의 다른 글
[CS] 컴퓨터 기초 - 인터넷 (0) | 2022.08.25 |
---|---|
[CS] 컴퓨터 기초 - 네트워크 (0) | 2022.08.25 |
[CS] 컴퓨터 기초 - 컴퓨터의 수 체계와 데이터 표현 (0) | 2022.08.21 |
[CS] 컴퓨터 기초 - 컴퓨터 구조 (0) | 2022.08.21 |
[CS] 컴퓨터 기초 - 컴퓨터의 간단한 역사 (0) | 2022.08.18 |