본문 바로가기

컴퓨터공학기초 개념/운영체제41

5. 운영체제의 구조 1. CPU Protection Rings CPU도 권한 체계를 갖고 있다. - 사용자 모드: 일반적인 명령 실행 = 응용프로그램이 사용하는 명령어 - 커널 모드: 특권 명령어 실행 및 원하는 작업 수행을 위한 자원접근이 가능 = OS가 사용하는 명령어 - 대부분의 운영체제는 Ring 0(커널모드)과 Ring 3(사용자모드)만 사용한다. a) 커널이란 무엇인가? OS 본연의 핵심 기능을 의미한다. 즉, OS가 CPU에 접근 및 조정할 때 사용하는 기능을 말한다. b) 쉘에 대하여 쉘은 OS와 사용자를 연결시키는 인터페이스의 역할을 한다. 위에 첨부된 CPU Protection Ring 전개도에서 볼 수 있듯이, Ring 3(사용자 모드)가 Ring 0(커널 모드)를 감싸고 있기 때문에 shell(껍질)이.. 2021. 3. 26.
4. 운영체제, 응용 프로그램, 컴퓨터 하드웨어의 관계 1. 운영체제, 응용 프로그램, 컴퓨터 하드웨어의 관계 운영체제, 응용프로그램, 컴퓨터 하드웨어를 도서관에 비유해보자. 운영체제 = 도서관 응용 프로그램 = 시민 하드웨어 = 책 그렇다면 운영체제의 역할은 다음과 같다. 시민은 도서관에서 원하는 책(자원)을 요청한다. 도서관은 요청된 책을 시민에게 빌려준다 대여기간이 다 되면, 도서관이 해당 책을 회수한다. 이 비유는 실제 운영체제, 응용프로그램, 컴퓨터 하드웨어의 관계를 잘 표현한다. OS는 Application이 요청하는 메모리를 허가 및 분배한다. OS는 Application이 요청하는 CPU 시간(하드웨어)을 제공한다. Application 실행이 완료 및 종료되면, OS는 대여된 메모리와 하드웨어를 회수한다. 2. 쉘(shell)이란? 운영체제의.. 2021. 3. 26.
3. 운영체제의 역사(1970년 ~ 2000년대) 1. 1970년대, UNIX OS의 등장 미국 AT&T 사의 벨 연구소 (켄 톰슨, 데니스 리치) - 데니스 리치가 C언어를 개발함 C언어로 개발된 OS C언어가 필요했던 이유 - C 언어 등장 이전 Assebly 언어로 SW를 개발했다. 어셈블리 언어의 경우 CPU 명령어와 Memory 주소를 직접 할당한다. 그러므로 컴퓨터마다 다시 개발해줘야 한다는 단점이 발생한다. 프로그래밍 복잡도가 높다는 단점이 발생한다. - C 언어 등장 이후 C 언어는 컴파일러를 통해 코드를 각 컴퓨터에 알맞는 CPU 명령어로 번역을 한다 그러므로 컴퓨터마다 코드를 다시 작성할 필요가 없다. 어셈블리 언어에 비해 프로그래밍 복잡도가 낮다. 이러한 이유로 C 언어로 작성된 OS(UNIX)가 개발되었다. UNIX의 특징 현대 운.. 2021. 3. 26.
2. 운영체제의 역사(1950년 ~ 1960년대) 1. 1950년대 - ENIAC, 첫번째 컴퓨터의 등장 - 당시에는 운영체제란 개념이 없었다. - 1개의 응용프로그램을 운영하기도 힘들었다. - 응용 프로그램이 시스템 자원을 제어하는 형식 2. 1960년대 초기 - 배치 처리 시스템(batch processing system)의 출현 - 1950년대에 비해 비교적 프로그램의 종류도 많아지고 사용자도 많아지면서 다양한 프로그램이 생겼다. - 당시, 프로그램 1개를 실행시키려면 몇시간씩 걸렸기에 여러 프로그램을 등록시켜 놓으면 순차적으로 실행하는 시스템이 필요했고 그 결과 배치 처리 시스템을 기반한 OS가 등장한다. 3. 1960년대 후반 - 새로운 개념의 등장 (OS로 구현되지는 않음) 1. 시분할 시스템 (Time-Sharing System) - 응용 .. 2021. 3. 19.
1. 운영체제와 응용프로그램 1. 운영체제(Operating System)란? 컴퓨터 시스템 자원의 관리자를 의미한다. a) 컴퓨터 시스템 자원이란? 하드웨어(HW)를 의미한다. CPU(중앙처리장치) Memory(RAM, DRAM) 저장매체(SSD, HDD) I/O 장치(모니터, 마우스, 키보드, etc) b) 운영체제가 필요한 이유 컴퓨터의 시스템 자원은 스스로 할 수 있는 것이 없다. CPU - OS 없이는 CPU 스스로 각 프로그램이 CPU를 얼마나 사용할지 결정할 수 없다. Memory - OS 없이는 Memory 스스로 어떤 주소에 저장할지, 얼만큼의 메모리 공간을 할당할지 결정할 수 없다. I/O 장치 - OS가 없이는 마우스 커서의 움직임을 화면에 출력할 수 없다. 키보드를 누른다고 글자가 알아서 출력되지 않는다. c).. 2021. 3. 19.