-
UNIX와 Windows 운영체제 UNIX and Windows operating system프로그래밍/컴퓨터 운영체제 2017. 11. 27. 19:44반응형
# UNIX의 개요
- 시분할 시스템(Time Sharing System)을 위해 설계도니 대화식 운영체제
- 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높음
- Multi-User, Multi-Tasking을 지원함
- Multi-Tasking : 하나 이상의 작업을 백그라운드에서 수행하므로 여러 작업을 동시에 처리할 수 있음
- 많은 네트워킹 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합함
- 트리 구조의 파일 시스템
- 프로그램 개발에 용이함
- 다양한 유틸리리 프로그램들이 존재함
# UNIX의 개요
- 사용자 (User)
- 유틸리티 (Utility)
- 쉘 (Shell)
- 커널 (Kernel)
- 하드웨어
# UNIX 시스템의 구성
- 커널 (Kernel) : UNIX의 가장 핵심적인 부분
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨
- 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당함
- 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입, 출력관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러가지 기능을 수행함
- 각 프로세스는 시스템 호출을 통하여 커널의 기능을 사용하며 프로세스간 통신(InterProcess Communication)은 시그널, 파이프, 소켓 등을 사용함
- 시스템 호출 : 프로세스가 커널에 접근하기 위한 인터페이스를 제공하는 명령어
# UNIX 시스템의 구성
- 시그널 (Signal) : 간단한 메시지를 이용하여 통신하는 것으로 초기 UNIX 시스템에서 사용됨
- 파이프 (Pipe) : 한 프로세스의 출력이 다른 프로세스의 입력으로 사용되는 단방향 통신 방식 ex) # cat codec.tar.gz* | tar xzvf -
- 소켓 (Socket) : 프로세스 사이의 대화를 가능하게 하는 쌍방향 통신 방식
# 쉘 (Shell)
- 사용자 명령을 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스를 담당함
- DOS의 COMMAND.COM과 같은 역할을 함
- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능함
- 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell을 사용할 수 있음
# 파일 시스템
- 디렉터리 구조는 트리 구조로 이루어져 있음
- 디렉터리나 주변 장치를 파일과 동일하게 취급함
- 파일의 소유자, 그룹 및 그 외 다른 사람들로부터 사용자를 구분하여 파일을 보호함
- 파일 생성 및 삭제 기능, 보호 기능을 가짐
- UNIX 시스템 구조 : 사용자 - 쉘 - 커널 - 하드웨어
# UNIX 파일 시스템의 구조
- 디스크를 블록으로 분류하여 배치한 구조
- 부트 블록 : 부팅 시 필요한 코드를 저장하고 있는 블록
- 슈퍼 블록 : 전체 파일 시스템에 대한 정보를 저장하고 있는 블록
- I-node 블록 : 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록
- I-node 블록의 정보 : 파일 소유자의 사용자 번호(UID) 및 그룹번호(GID), 파일크기, 파일타입(일반 디렉터리, 특수 파일 등), 생성 시기, 최종 변경 시기, 최근 사용 시기, 파일의 보호 권한, 파일 링크 수, 데이터가 저장된 블록의 시작 주소
- 디렉터리별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록
- 디렉터리 엔트리 (Directory Entry) : 파일 이름과 I-node 번호로 구성되어 이들을 서로 연결해 주는 기능을 수행함
# UNIX 명령어
- fork : 새로운 프로세스를 생성함, 하위 프로세스 호출, 프로세스 복제 명령
- exec : 새로운 프로세스를 수행함
- exit : 프로세스 수행을 종료함
- wait : fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림
- kill : 프로세스를 제거함
- getpid : 자신의 프로세스 아이디를 얻음
- getppid : 부모 프로세스 아이디를 얻음
- & : 백그라운드 처리를 위해 명령의 끝에 입력함
- signal : 신호를 받았을 때 프로세스가 취할 동작을 지정함
- pipe : 프로세스 간 통신을 위한 경로를 설정함
# UNIX 파일 및 디렉터리, 기타 관련 명령어
- creat : 파일을 생성시킴
- open : 파일을 사용할 수 있는 상태로 준비시킴
- close : 파일을 닫음
- cp : 파일을 복사
- mv : 파일을 이동하거나 이름을 변경
- rm : 파일을 삭제
- cat : 파일 내용을 화면에 표시
- chmod : 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함
- chown : 소유자를 변경
- find : 파일을 찾음
- mknod : 특수 파일을 생성함
- mount/unmount : 파일 시스템을 마운팅함/마운팅 해제함
- 마운팅 (Mounting) : 새로운 파일 시스템을 기존 파일 시스템의 서브 디렉터리에 연결
- mkfs : 파일 시스템을 생성
- fsck : 파일 시스템을 검사하고 보수
- mkdir : 디렉터리 생성
- chdir : 현재 사용할 디렉터리 위치를 변경함
- rmdir : 디렉터리를 삭제함
- ls : 현재 디렉터리 내의 파일 목록을 확인
- finger : 사용자 정보 표시
# HP-UX 옵션
- l : 파일 및 디렉터리를 목록으로 출력
- a : 모든 파일/디렉터리 출력(hidden 포함)
- A : a옵션과 같으나 . / .. 제외
- F : 파일 뒤에 다음의 기호를 표시 (디렉터리는 / , 실행파일은 * 등)
- Hidden File만 출력되게 Shell을 짜고 싶다?
1. 우선 A옵션을 사용하여 . / ..을 제외함
2. grep을 이용해서 디렉터리를 제외함(-v 옵션), grep -v(불포함 : inverse)
# Windows 운영체제
- GUI(Graphic User Interface)
- 선점형 멀티태스킹 (Preemptive Multi-Tasking) : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식
# Windows의 특징
- FAT(File Allocation Table) 32 파일 시스템 사용
- FAT32 : 파일은 디스크에 클러스터 단위로 저장됨, FAT32는 기존에 사용하던 FAT16에 비해 클러스터 크기가 작아 하드디스크의 공간 낭비를 줄일 수 있음
- 클러스터 : 여러 개의 섹터를 모은 것
- FAT : 파일이나 하위 디렉터리가 디스크의 어느 위치에 저장되어 있는지 위치 정보를 저장하는 테이블
- PnP (Plug and Play) 자동감지기능 : 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치 했을 때, 해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동적으로 구성해 주는 기능
- 운영체제가 하드웨어의 규격을 자동으로 인식하여 동작하게 해주므로 PC 주변 장치를 연결할 때 사용자가 직접 환경을 설정하지 않아도 됨
- 플러그 앤 플레이 기능을 활용하기 위해서는 하드웨어와 소프트웨어 모두 플러그 앤 플레이를 지원해야 함
- OLE(Object Linking and Embedding) 사용 : 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체(Object)를 현재 작성 중인 문서에 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있게 하는 기능
- OLE로 연결된 이미지를 원본 프로그램에서 수정하거나 편집하면 그 내용이 그대로 해당 문서에 반영됨
- 255자의 긴 파일명 사용
- 파일 이름을 지정할 때 VFAT(Virtual File Allocation Table)을 이용하여 최대 255자까지 지정할 수 있음
- 파일 이름에 공백을 넣을수 있으며 127(한글)자까지 지정할 수 있음
- Single-User 시스템
# Windows 10
- Microsoft에서는 협업 디바스인 서피스 허브와 홀로그램 플랫폼인 홀로렌즈를 발표
- Microsoft Surface Hub : 대형 멀티터치 스크린을 활용한 협업 도구, 고성능 터치펜, 화상회의, 폰, 태블릿 등으로 콘텐츠를 고융함
- Microsoft Hololens : Head Mount 방식의 무선 & 일체형 방식 홀로그래픽 플랫폼, 투영렌즈를 통한 증강현실과 고성능 센서를 통한 동작 인식
# Windows Explorer 로드맵
- Windows 8.1에서 선보인 IE11은 Windows 10에서도 지속됨
- 이후 새로운 IE의 버전은 출시되지 않을 예정이며, 신규 브라우저인 Microsoft Edge가 차세대 브라우저로 Windows 10에 동시 탑재됨
- Internet Explorer 11 : 하위 버전 호환성, 지속적인 기술지원, 마지막 IE
- Microsoft Edge : 신규 웹브라우저, 최신 웹 기술 적용, 상호운영성(Interoperability) 강화, 모든 Windows 디바이스에서 실행, 항상 최신 상태 유지
- 2016년 1월 기존의 클라이언트 윈도우에서 사용되던 IE11을 제외한 모든 인터넷 익스플로러에 대한 기술지원(보안패치와 기능 업데이트)이 중단됨
- 기업 고객은 이에 따라 기업 내 모든 웹 기반 응용 프로그램을 IE11에 최적화해야함
반응형'프로그래밍 > 컴퓨터 운영체제' 카테고리의 다른 글
[운영체제] 컴퓨터 시스템 소개 (0) 2014.12.05