운영체제(OS : Operating System)
운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다.
컴퓨터 사용자와 커퓨터 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종이다.
다른 응용 프로그램이 유용한 작업을 할 수 있도록 제공해준다.
프로세스, 기억장치, 주변장치, 파일 등을 관리하는 기능을 수행한다.
운영체제의 목적(암기법 : 사신(십) 처(초)반)
처리능력 : 일정 시간 내에 시스템이 처리하는 일의 양
반환시간 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도
운영체제의 기능
프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리한다.
자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공한다.
사용자와 시스템 간의 편리한 인터페이스를 제공한다.
시스템의 각종 하드웨어와 네트워크를 관리, 제어한다.
데이터를 관리하고, 데이터 및자원의 공유 기능을 제공한다.
운영체제의 종류
1. Windows
1990년대 Microsoft사가 개발한 운영체제
특징
- 그래픽 사용자 인터페이스(GUI) : 키보드로 명령어를 직접 입력하지 않고 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식
- 선점형 멀티태스킹 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용프로그램 실행 중 문제가 생기면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식
- PnP : 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치하면 이에 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능
- OLE : 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능
255자의 긴 파일명 : 일부 특수문자를 제외한 모든 문자 및 공백을 사용하여 파일 이름 지정가능
Single-User 시스템 : 컴퓨터 한 대를 한 사람만이 독점해서 사용한다.
2. Unix
1960년대 AT&T 벨 연구소, MIT, General Eletic이 공동 개발한 운영체제
- 시분할 시스템을 위해 설계된 대화식 운영체제
- 소스가 공개된 개방령 시스템
- 대부분 C언어로 작성되어 있어 이식성이 높고, 장치와 프로세스 간의 호환성이 높다.
- 다중 사용자, 다중 작업을 지원한다.
- 트리 구조의 파일 시스템을 갖는다.
- 커널 : 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 한다. 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 기능 수행
- 쉘 : 사용자의 명령어를 인식해 프로그램을 호출하고 명령어 해석기, 사용자와 시스템간 인터페이스를담당
-> 종류 : Bourne Shell, C Shell, Korn Shell
- 유틸리티 프로그램 : 일반 사용자가 작성한 응용프로그램 처리에 사용, DOS에서의 외부 명령어에 해당
-> 종류 : 에디터, 컴파일러, 인터프리터, 디버거 등
3. LINUX
1991년 리누스 토발즈가 UNIX를 기반으로 개발
- 프로그램 소스코드가 무료로 공개되 프로그래머가 원하는 기능 추가 구현 가능
- 다양한 플렛폼에 설치하여 사용이 가능하며, 재배포가 가능
- UNIX와 완벽하게 호환
4. MacOS
1980년대 애플 사가 UNIX를 기반으로 개발
- iMac과 MacBook등 애플 사에서 생산하는 제품에서만 사용 가능
- 드라이버 설치 및 install과 uninstall의 과정이 단순
5. Android
구글사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
- 공개된 개방형 소프트웨어
- 자바와 코틀린으로 애플리케이션을 작성
- 스마트폰 등의 휴대용 장치에서 주로 사용
6. iOS
애플사에서 개발한 유닉스 기반 모바일 운영체제
- 아이폰, 아이팟, 아이패드 등에 내장
운영체제 기본 명령어
1. windows
DIR : 현재 디텍터리의 파일 목록을 표시한다.
COPY : 파일을 복사함
DEL : 파일을 삭제함
TYPE : 파일의 내용을 펴시함
REN : 파일의 이름을 변경함(ren avc.txt 123.txt : avc.txt -> 123.txt)
MD : 디렉터리를 생성한다.
CD : 동일한 드라이브에서 디렉터리의 위치를 변경함
CLS : 화면의 내용을 지운다.
ATTRIB : 파일의 속성을 변경한다.(attrib +r abc.txt : abc.txt를 읽기 전용으로 변경)
FIND : 파일에서 문자열을 찾음
CHKDSK : 디스크 상태를 점검함
FORMAT : 디스크 표면을 트랙과 섹터로 나누어 초기화함
MOVE : 파일을 이동한다.
2. UNIX, LINUX
cat : 파일 내용을 화면에 표시함
cd : 디렉터리의 위치를 변경함
chmod : 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함
chown : 파일 소유자와 그룹을 변경함
cp : 파일을 복사함
rm : 파일을 삭제함
find : 파일을 찾음
fsck : 파일 시스템을 검사하고 보수함
kill : PID를 이용하여 프로세스를 종료함
fork : 새로운 프로세스를 생성함
killall : 프로세스의 이름을 이용하여 프로세스를 종료함
ls : 현재 리렉터리의 파일 목록을 표시함
mkdir : 디렉터리를 생성함
rmdir : 데렉터리를 삭제함
mv : 파일을 이동함
ps : 현재 실행중 프로세스를 표시함
pwd : 현재 작업중인 디렉터리 경로를 화면에 표시
top : 시스템의 프로세스와 메모리 사용 현환을 표시
who : 현재 시스템에 접속해 있는 사용자를 표시
cf : 권한 부여시 처리 조건에 준수해서 주어야한다.
- rwx rwx r-x
_ ___ ___ ___
파일구분, 소유자, 그룹, 기타 사용자 순
'CS > 운영체제' 카테고리의 다른 글
[3강] 프로세스 관리 (1) | 2024.03.03 |
---|---|
멀티 프로세스와 멀티 스레드 (0) | 2024.01.09 |
운영체제 스케줄링(정처기) (0) | 2023.07.05 |
객체지향이란? (0) | 2023.06.25 |