Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

공부해보잠

운영체제의 실제 본문

자격증/정보처리

운영체제의 실제

heejk 2025. 1. 19. 01:55
UNIX의 개요 및 특징
  • 1960년대 AT&T 벨(Bell)연구소, MIT, General Electric이 공동 개발한 운영 체체 입니다
  • 초기에는 대평 컴퓨터용 운영체제로 설계, 이후 다양한 컴퓨터 환경에 적합하도록 발전

 

특징

 

시분할 시스템(Time Sharing System)을 위한 대화식 운영체제:

  • 여러 사용자가 동시에 시스템을 사용하고, CPU와 자원을 효율적으로 나누어 사용할 수 있도록 설계되었습니다.

 

개방형 시스템(Open System):

  • 소스 코드가 공개되어 있어 사용자와 개발자가 자유롭게 수정 및 배포할 수 있습니다.

 

높은 이식성(Portability):

  • 대부분 C언어로 작성되어 있어 다양한 하드웨어 플랫폼에서 쉽게 이식이 가능합니다.

 

작고 이해하기 쉬운 구조:

  • 운영체제의 크기가 작아 학습과 사용이 용이하며, 유지보수 및 확장이 쉬운 설계로 되어 있습니다.

 

다중 사용자(Multi-User) 지원:

  • 여러 사용자가 동시에 시스템 자원을 공유하고 사용할 수 있습니다.

 

다중 작업(Multi-Tasking) 지원:

  • 여러 작업을 동시에 실행할 수 있어 높은 효율성과 생산성을 제공합니다.

 

네트워킹 기능이 뛰어남:

  • 다양한 네트워크 관련 기능과 유틸리티를 제공하여 통신망(Network) 관리에 적합한 운영체제입니다.

 

트리 구조의 파일 시스템:

  • 계층적인 디렉터리 구조를 통해 파일을 관리하며, 각 파일은 루트 디렉터리에서 시작하는 경로로 식별됩니다.

 

전문적인 프로그램 개발에 용이:

  • 강력한 개발 도구와 편집기를 제공하여 프로그램 개발 환경으로 많이 활용됩니다.

 

다양한 유틸리티 프로그램 제공:

  • 파일 관리, 프로세스 관리, 네트워크 관리 등 다양한 작업을 지원하는 유틸리티 프로그램이 내장되어 있습니다.

 

UNIX의 활용분야

서버 운영:

  • 안정성과 확장성 덕분에 웹 서버, 데이터베이스 서버 등 다양한 서버 환경에서 사용.

 

프로그램 개발:

  • C언어 및 기타 프로그래밍 언어 개발 환경으로 적합.

 

네트워크 관리:

  • 강력한 네트워킹 기능으로 IT 인프라 관리에 자주 사용.

 

교육 및 연구:

  • 소스 코드의 가독성과 개방성으로 운영체제 및 시스템 연구에 널리 활용.

UNIX시스템의 구성

커널(Kernel) :

  • UNIX 시스템의 핵심적인 부분으로, 하드웨어와 소프트웨어 간의 중재자 역할을 수행

 

특징:

  • 컴퓨터가 부팅될 때 주기억장치(RAM)에 적재된 후 상주하며 실행
  • 하드웨어를 보호하고, 사용자 프로그램이 하드웨어에 직접 접근하지 못하도록 관리

 

기능:

프로세스 관리:

  • CPU 스케줄링 및 프로세스 간의 자원 할당.

 

기억장치 관리:

  • 메모리 할당 및 가상 메모리 관리.

 

파일 관리:

  • 파일의 생성, 삭제, 저장, 접근 등.

 

입출력 관리:

  • 입출력 장치와 데이터를 효율적으로 처리.

 

프로세스 간 통신(IPC):

  • 파이프, 메시지 큐, 공유 메모리 등을 통한 프로세스 간 데이터 교환.

 

데이터 전송 및 변환:

  • 네트워크 통신 및 데이터 포맷 변환.

 

쉘(Shell) :

  • UNIX 시스템의 명령어 해석기로, 사용자와 시스템 간의 인터페이스 역할을 수행

 

특징:

명령어 입력:

  • 사용자가 입력한 명령어를 읽고 해석하여 프로그램을 호출하거나 시스템 명령을 실행.

 

파일 형태로 존재:

  • 주기억장치에 상주하지 않고, 보조기억장치에서 호출하여 사용.

 

유연성:

  • 공용 쉘(Bourne Shell, C Shell, Korn Shell) 외에도 사용자가 직접 쉘을 작성하여 사용할 수 있음.

 

기능:

  • 명령어 실행, 파이프라인 처리, 스크립트 작성 및 실행.

 

DOS와의 비교:

  • DOS의 COMMAND.COM과 유사하지만, UNIX 쉘은 더 강력하고 다양한 기능을 제공.

 

유틸리티 프로그램(Utility Program)

  • UNIX 시스템에서 제공하는 응용 프로그램으로, 사용자가 특정 작업을 수행할 때 도움을 줍니다.

 

특징:

  • DOS의 외부 명령어에 해당하는 기능을 수행.
  • 사용자의 편의를 위해 다양한 도구와 명령어를 제공.

 

유형:

에디터(Editor):

  • 텍스트 편집 도구.
  • 예: vi, nano, emacs.

컴파일러(Compiler):

  • 고급 언어로 작성된 코드를 기계어로 번역.
  • 예: gcc, clang.

 

인터프리터(Interpreter):

  • 명령어를 한 줄씩 해석하여 실행.
  • 예: Python, Perl 인터프리터.

 

디버거(Debugger):

  • 프로그램의 오류를 찾고 수정하는 도구.
  • 예: gdb.

 

구성요소 간 관계

커널: 시스템의 핵심 관리자로 하드웨어와 소프트웨어 간의 모든 상호작용을 관리.

: 사용자가 커널과 상호작용할 수 있도록 돕는 명령어 해석기.

유틸리티 프로그램: 쉘과 함께 사용되며, 사용자의 작업을 지원하는 다양한 도구 제공.


UNIX 파일 시스템의 구조
  • UNIX 파일 시스템은 디스크 블록(Disk Block)을 기반으로 설계된 계층적 구조로, 파일과 디렉터리를 효율적으로 관리하기 위해 설계되었습니다
  • 각 구성 요소는 특정 역할을 담당하며, 파일과 데이터의 저장 및 관리를 지원합니다.

 

구조 구성

부트 블록 (Boot Block):

위치: 디스크의 첫 번째 블록.

 

역할:

  • 시스템 부팅에 필요한 부트 로더(Boot Loader)가 저장됩니다.
  • 운영체제가 로드될 때 가장 먼저 읽혀 실행됩니다.

 

특징:

  • 파일 시스템의 구성 요소와는 독립적으로 동작.
  • 시스템 부팅 과정에서만 사용됩니다.

 

슈퍼 블록 (Super Block):

위치: 부트 블록 다음에 위치.

 

역할:

  • 파일 시스템의 전체적인 정보를 저장.
  • 예: 파일 시스템의 크기, 사용 가능한 블록 수, I-node 수 등.

 

특징:

  • 파일 시스템의 메타데이터를 관리.
  • 파일 시스템의 무결성을 유지하고, 오류 복구에 중요한 역할을 합니다.

 

I-node (Index-node) 블록:

위치: 슈퍼 블록 다음에 위치.

 

역할:

  • 파일에 대한 메타데이터(속성)와 데이터를 가리키는 포인터를 저장.

 

저장 정보:

  • 파일 크기, 소유자, 권한, 생성 및 수정 시간, 데이터 블록 주소 등.

 

특징:

  • 파일 시스템에서 각 파일과 디렉터리에 대해 고유한 I-node를 할당.
  • 파일의 실제 데이터는 데이터 블록에 저장되며, I-node는 이를 참조.

 

데이터 블록 (Data Block):

위치: I-node 블록 뒤에 위치.

 

역할:

  • 파일의 실제 데이터가 저장되는 영역.

 

특징:

  • 데이터를 저장하기 위해 사용되는 디스크의 주요 공간.
  • 파일의 크기에 따라 하나 이상의 데이터 블록을 할당받을 수 있음.

 

UNIX 파일 시스템의 흐름

 

파일 시스템이 데이터를 읽거나 쓸 때:

  • 슈퍼 블록에서 파일 시스템 상태를 확인.
  • I-node를 통해 파일의 속성과 데이터 블록 위치를 파악.
  • 데이터 블록에 접근하여 실제 데이터를 읽거나 씀.

 

파일 생성 과정:

  • 새로운 I-node를 할당받고, 파일의 속성을 설정.
  • 데이터 블록을 할당받아 파일의 내용을 저장.

 

구성 요소 간의 관계

  • 부트 블록은 시스템 시작 시 사용되며, 파일 시스템 운영에는 관여하지 않습니다.
  • 슈퍼 블록은 파일 시스템의 상태와 정보를 관리하며, 파일의 저장과 접근에 필요한 정보 제공.
  • I-node는 파일과 디렉터리의 속성을 관리하며, 데이터 블록과 연결.
  • 데이터 블록은 파일의 실제 내용을 저장.

 

 


UNIX/LINUX 기본 명령어

CLI 기본 명령어 : 쉘(Shell)에 명령어를 입력하여 작업을 수행하는 것으로 UNIX/LINUX의 주요 기본명령어는 다음과 같습니다

명령어 기능
fork 새로운 프로세스를 생성한다(하위 프로세스 호출, 프로세스 복제 명령)
exec 새로운 프로세를 수행한다
kill 프로세스를 제거한다
& 백그라운드 처리를 위해 명령의 끝에 입력한다
ps 현재 작업중인 프로세스의 상태 정보를 확인한다.
cp 파일을 복사한다
mv 파일을 이동시키거나 이름을 변경한다
rm 파일을 삭제한다
cat 파일 내용을 화면에 표시한다
chmod 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정한다
mkfs 파일 시스템을 생성한다
ls 현재 디렉터리 내의 파일 목록을 확인한다
finger 사용자 정보를 표시한다
chown 소유자를 변경한다.

GUI 기본 명령어 : UNIX와 LINUX는 기본적으로 CLI를 기반으로 운영되는 시스템이지만 X Window라는 별도의 프로그램을 설치하여 GUI방식으로 운영할 수 있다.


Windows의 개요

 

Windows는 1990년대 Microsoft사가 개발한 그래픽 사용자 인터페이스(GUI) 기반의 운영체제입니다.

 

Window의 주요 특징

GUI (Graphical User Interface, 그래픽 사용자 인터페이스):

  • 시각적 요소를 기반으로 시스템과 상호작용 가능.
  • 아이콘, 버튼, 드래그 앤 드롭, 메뉴를 사용하여 명령어 없이 작업 수행.
  • 사용자 친화적이며 초보자도 쉽게 사용할 수 있음.

 

선점형 멀티태스킹 (Preemptive Multi-Tasking):

  • 여러 작업(프로세스)을 동시에 실행 가능.
  • 운영체제가 CPU 시간을 프로세스 간에 자동으로 분배.
  • 특정 작업이 시스템을 독점하지 못하도록 제어하여 안정성 제공.

 

PNP (Plug and Play):

  • 하드웨어 자동 인식 및 설정 기능.
  • 새로운 장치를 연결하면, 사용자가 별도로 설정하지 않아도 자동으로 인식 및 설치 가능.
  • 예: USB 메모리, 프린터, 외장 하드디스크.

 

OLE (Object Linking and Embedding, 개체 연결 및 포함):

  • 애플리케이션 간 데이터 공유 및 상호작용 기능.
  • 한 프로그램에서 작성된 데이터를 다른 프로그램으로 삽입하거나 연결하여 사용할 수 있음.
  • 예: Microsoft Word 문서에 Excel 표를 삽입하거나 업데이트.

Windows 기본 명령어

CLI기본 명령어 : 명령 프롬프트(Command)창에 명령어를 입력하여 작업을 수행하는 것으로 주요 기본명령어는 다음과 같습니다.

명령어 기능
DIR 파일 목록을 표시한다
COPY 파일을 복사한다
TYPE 파일의 내용을 표시한다
REN 파일의 이름을 변경한다
DEL 파일을 삭제한다
MD 디렉터리를 생성한다
CD 디렉터리의 위치를 변경한다
CLS 화면의 내용을 지운다
ATTRIB 파일의 속성을 변경한다
FIND 파일을 찾는다
CHKDSK 디스크 상태를 점검한다
FORMAT 디스크 표면을 트랙과 섹터로 나누어 초기화한다
MOVE 파일을 이동한다

GUI 기본명령어 : 바탕화면이나 Windows 탐색기에서 마우스로 아이콘을 더블클릭하여 프로그램 실행, 파일의 복사 및 이동, 제어판의 기능 실행 등 모든 작업이 GUI명령어에 해당한다.


출저 및 참고 

정보처리 산업기사 기본서(시나공)

 

 

728x90

'자격증 > 정보처리' 카테고리의 다른 글

정보 전송 기술  (0) 2025.01.19
정보 통신의 기본  (0) 2025.01.19
분산 운영체제  (0) 2025.01.18
정보 관리  (0) 2025.01.17
디스크 스케줄링  (0) 2025.01.16