HOME > Detail View

Detail View

(명품) 운영체제

(명품) 운영체제 (Loan 1 times)

Material type
단행본
Personal Author
황기태
Title Statement
(명품) 운영체제 = Great mystery of the operating system / 황기태 지음
Publication, Distribution, etc
파주 :   생능출판사,   2021  
Physical Medium
628 p. : 천연색삽화 ; 26 cm
ISBN
9788970505251
General Note
색인수록  
000 00000cam c2200205 c 4500
001 000046117954
005 20220615142156
007 ta
008 220614s2021 ggka 001c kor
020 ▼a 9788970505251 ▼g 93000
035 ▼a (KERIS)BIB000016011109
040 ▼a 211062 ▼c 211062 ▼d 211009
082 0 4 ▼a 005.43 ▼2 23
085 ▼a 005.43 ▼2 DDCK
090 ▼a 005.43 ▼b 2021z1
100 1 ▼a 황기태
245 2 0 ▼a (명품) 운영체제 = ▼x Great mystery of the operating system / ▼d 황기태 지음
260 ▼a 파주 : ▼b 생능출판사, ▼c 2021
300 ▼a 628 p. : ▼b 천연색삽화 ; ▼c 26 cm
500 ▼a 색인수록
945 ▼a ITMT

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.43 2021z1 Accession No. 121260166 Availability In loan Due Date 2022-08-24 Make a Reservation Available for Reserve R Service M

Contents information

Book Introduction

소프트웨어 개발자로서 프로그램이 컴퓨터에서 실행되는 과정과 이 과정 전체를 통제하는 운영체제의 역할을 이해하는데 있다. 프로그램이 코드, 데이터, 힙, 스택으로 나뉘어 메모리에 적재되어 관리되고, 시스템 호출의 과정을 통해 운영체제의 기능을 활용하는 등, 이 과정을 앎으로서 기반이 튼튼한 개발자로 성장하게 된다.

컴퓨터 시스템 전문가로서 운영체제를 개발하거나 수정하는 능력의 기초를 닦는 데 있다. 컴퓨터의 모든 자원들을 독점 관리하는 주체로서, 운영체제는 컴퓨터 시스템의 성능을 최적화하는 다양한 방법들을 구사함을 알게 한다. 많은 프로그램을 동시에 실행시키는 메모리 관리 기법, 여러 프로세스들의 효율적인 스케줄링, 공유 데이터에 대한 다중 프로그램의 충돌을 막는 기법, 수많은 파일을 저장하고 관리하는 효율적인 방법 등 다 양한 시스템 구조와 알고리즘들을 알게 하고, 컴퓨터 시스템의 성능에 눈을 뜨게 한다.

컴퓨터 시스템의 지배자이며 소프트웨어의 왕인 운영체제를 아는 것은, ‘소프트웨어 개발자’를 꿈꾸는 사람들이 컴퓨터 전문가로 들어서는 기반 지식임을 부인할 수 없다. 오늘날 개발자가 되려는 많은 사람들이 프로그래밍 언어를 배우고 코딩을 익혀가고 있다. 코딩에 눈을 뜨고 지식이 늘어가면서 다음과 같은 여러 의문들이 생겨나게 된다.
프로그램은 누가 실행시키는 것일까, CPU일까 운영체제일까? 내가 작성할 수 있는 프로그램의 최대 크기는 얼마일까? new나 malloc()으로 동적 할당 받을 수 있는 메모리의 최대량은 얼마일까? 여기서 메모리는 RAM인가? 여러 프로그램들이 하나의 컴퓨터에서 어떻게 동시에 실행될까? 많은 프로그램을 동시에 실행시켜도 문제는 없을까? 파일을 읽기 전에 파일을 열어야 하는데 연다는 것이 도대체 뭘까? 파일을 읽을 때 open()/ read()와 fopen()/fread() 중 어떤 것을 사용하는 것이 더 좋은 것일까? 파일은 디스크 어디에 저장되는 것일까? 두 프로그램이 동시에 같은 파일에 읽거나 쓰면 결과는 어떻게 될까? 운영체제는 시스템을 다스리는 규칙일까 하드웨어일까 실체가 있는 프로그램일까? 급기야 운영체제는 꼭 있어야 하는 것일까?
이런 의문들에 대한 답은 운영체제를 이해함으로써 얻을 수 있다. 저자는 운영체제의 학습 목적을 다음과 같이 정리한다.
소프트웨어 개발자로서 프로그램이 컴퓨터에서 실행되는 과정과 이 과정 전체를 통제하는 운영체제의 역할을 이해하는데 있다. 프로그램이 코드, 데이터, 힙, 스택으로 나뉘어 메모리에 적재되어 관리되고, 시스템 호출의 과정을 통해 운영체제의 기능을 활용하는 등, 이 과정을 앎으로서 기반이 튼튼한 개발자로 성장하게 된다.
컴퓨터 시스템 전문가로서 운영체제를 개발하거나 수정하는 능력의 기초를 닦는 데 있다. 컴퓨터의 모든 자원들을 독점 관리하는 주체로서, 운영체제는 컴퓨터 시스템의 성능을 최적화하는 다양한 방법들을 구사함을 알게 한다. 많은 프로그램을 동시에 실행시키는 메모리 관리 기법, 여러 프로세스들의 효율적인 스케줄링, 공유 데이터에 대한 다중 프로그램의 충돌을 막는 기법, 수많은 파일을 저장하고 관리하는 효율적인 방법 등 다 양한 시스템 구조와 알고리즘들을 알게 하고, 컴퓨터 시스템의 성능에 눈을 뜨게 한다.

이 책의 특징

- 디테일한 그림과 자세하고 명료한 설명을 통해 추상적일 수 있는 운영체제 개념과 이론이 눈에 그려지고 손에 잡히도록 하였다.
- 이론과 함께 리눅스와 Windows의 실제 사례를 보여주어 이해도를 높였다.
- 프로세스나 스레드, 메모리 관리 등 이론을 실제 상황에서 이해하고 확인하도록 C 프로그램 코드 사례를 이용하여 이론이 작동하는 구체적인 과정을 보였다.
- 운영체제는 컴퓨터 구조와 밀접한 관계가 있다. 이 책은 운영체제의 이해에 꼭 필요한 컴퓨터 구조와 하드웨어에 대한 설명을 적절히 배치하여 컴퓨터 시스템을 균형 있게 이해할 수 있도록 하였다.
- 각 장의 시작 부분에서 문제 제기를 통해 궁금증을 유발하고 이를 해소해 나가는 과정을 스토리텔링 방식으로 전개하여 읽기 쉽도록 하였다.
- 강의하듯이 서술하고 점진적으로 살을 붙여가는 설명 방식으로 독자와 눈높이를 맞추어 어려운 개념을 단계적으로 이해하도록 하였다.

이 책의 구성

이 책은 12장으로 구성하고 C 언어와 컴퓨터 구조를 아는 독자의 수준에 맞추었다.

- 책의 범위
이 책은 운영체제 이론을 다룬다. 1장은 운영체제 암흑기에 운영체제가 어떻게 태동하게 되었는지, 어떤 기능들로 운영체제가 구성되게 되었는지, 그리고 어떻게 발전해왔는지 세밀하게 소개한다. 2장은 컴퓨터 시스템 전체 구조와 운영체제의 역할을 거시적으로 설명한다. 절대 지나칠 수 없는 중요한 장으로 응용프로그램, 라이브러리, 운영체제 커널, 인터럽트 등의 관계를 명확히 이해하게 된다. 3장부터 12장까지는 프로세스와 스레드 관리, 메모리 관리, 파일 시스템 관리, 대용량 저장 장치 관리 등 운영체제의 4가지 핵심 기능을 구체적으로 설명한다.

- 실습
이 책은 운영체제 이론이 현대 운영체제에서 어떻게 실현되고 있는지를 보여 주기 위해, 리눅스나 Windows에서 간단한 명령과 실행 결과를 보여준다. 또한 몇몇 장에서는 운영체제 이론을 확인하는 리눅스 C 프로그램 실습을 포함하고 있다. 간단한 실습이므로 프로그래밍 경험이 부족하더라도 실습에는 큰 어려움이 없다. 리눅스 실습 환경은 CoCalc 온라인 터미널을 이용하면 리눅스를 설치하지 않고도 실습이 가능하다. 만일 리눅스 실습이 어려운 상황이라면, 책에 나타난 명령이나 프로그램 코드를 읽는 것만으로도 학습에는 문제가 없다.

- 소스 코드 다운로드
책에 사용된 어셈블리 코드와 C 프로그램의 소스 코드는 생능출판사 홈페이지에서 다운받을 수 있다.

- 연습문제
연습문제는 각 장에서 배운 이론을 확인하는 개념 체크 문제들과 코딩이나 실습 등 복잡한 사고가 필요한 복합 문제로 구분하였다. 연습문제를 통해 학습한 지식을 더욱 명확히 할 수 있다.

- 부록
부록은 본문에 대한 깊이와 너비를 더하는 3개의 주제를 담고 있다. 부록 A는 3장의 연장으로 프로세스 사이의 3가지 통신 방법, 공유 메모리, 신호, 파이프를 구체적으로 소개한다. 부록 B는 6장의 연장으로 리눅스에서 현재 사용 중인 CFS 스케줄링 기법을 구체적으로 소개한다. 부록 C는 11장의 연장으로 동일한 파일을 동시에 읽고 쓰는 3가지 경우에 대해 파일 입출력이 이루어지는 과정을 자세히 소개한다.


Information Provided By: : Aladin

Author Introduction

황기태(지은이)

1986년 서울대학교 컴퓨터공학과를 졸업하고, 서울대 대학원 컴퓨터공학과에 입학하여 1988년에 석사, 1994년에 박사 학위를 취득하였다. 1993년 뉴욕에 있는 IBM Watson Research Center에서 방문 연구원을 지내고 1994년부터 현재까지 한성대학교 컴퓨터공학과 교수로 재직 중이다. 1990년 비트교육센터의 초기 센터장으로 1994년까지 조현정 회장과 함께 대한민국 최고의 비트교육센터 신화의 토대를 만들었다. 2000년에는 미국 얼바인에 있는 캘리포니아 대학에서, 2011, 2015년에는 플로리다 대학에서 방문 교수를 지냈다. [저서(역서)] 비트프로젝트1, 2(1994, 비아이티출판) 어드밴스 윈도우 NT(1996, 대림출판사, 번역) 자바스크립트 웹프로그래밍(2000, 대림출판사) DHTML+자바스크립트(2003, 대림출판사) 명품 JAVA Programming(개정4판, 2018, ㈜생능출판사) 명품 C++ Programming(개정판, 2018, ㈜생능출판사) 명품 자바 에센셜(개정판, 2018, ㈜생능출판사) 명품 운영체제(2021, ㈜생능출판사)

Information Provided By: : Aladin

Table of Contents

Chapter 01 운영체제의 시작과 발전
1. 운영체제 개념
2. 운영체제의 태동
3. 운영체제의 발전
요약
연습문제

Chapter 02 컴퓨터 시스템과 운영체제
1. 컴퓨터 시스템과 하드웨어
2. 컴퓨터 시스템과 운영체제
3. 커널과 시스템 호출
4. 운영체제와 인터럽트
요약
연습문제

Chapter 03 프로세스와 프로세스 관리
1. 프로세스 개요
2. 커널의 프로세스 관리
3. 프로세스의 계층 구조
4. 프로세스 제어(fork, exec, wait, exit)
요약
연습문제

Chapter 04 스레드와 멀티스레딩
1. 프로세스의 문제점
2. 스레드 개념
3. 스레드 주소 공간과 컨텍스트
4. 커널 레벨 스레드와 사용자 레벨 스레드
5. 멀티스레드 구현
6. 멀티스레딩에 관한 이슈
요약
연습문제

Chapter 05 CPU 스케줄링
1. CPU 스케줄링 개요
2. CPU 스케줄링 기본
3. 다양한 CPU 스케줄링 알고리즘
4. 멀티 코어 CPU에서의 스케줄링
요약
연습문제

Chapter 06 스레드 동기화
1. 스레드 동기화의 필요성
2. 상호배제
3. 멀티스레드 동기화 기법
4. 생산자 소비자 문제
요약
연습문제

Chapter 07 교착상태
1. 교착상태 문제 제기
2. 교착상태
3. 교착상태 해결
요약
연습문제

Chapter 08 메모리 관리
1. 메모리 계층 구조와 메모리 관리 핵심
2. 메모리 주소
3. 물리 메모리 관리
4. 연속 메모리 할당
5. 세그먼테이션 메모리 관리
요약
연습문제

Chapter 09페이징 메모리 관리
1. 페이징 메모리 관리 개요
2. 페이징의 주소 체계
3. 페이지 테이블의 문제점과 TLB
4. 심화 학습: 페이지 테이블의 낭비 문제 해결
요약
연습문제

Chapter 10 가상 메모리
1. 물리 메모리의 한계
2. 가상 메모리 개념
3. 요구 페이징(demand paging)
4. 참조의 지역성과 작업 집합
5. 프레임 할당
6. 페이지 교체
요약
연습문제

Chapter 11 파일 시스템 관리
1. 파일 시스템과 저장 장치
2. 파일 시스템의 논리 구조
3. 파일 시스템 구축
4. 파일 입출력 연산
요약
연습문제

Chapter 12 대용량 저장 장치 관리
1. 저장 장치 개요
2. 하드 디스크 장치
3. 디스크 스케줄링 알고리즘
4. 디스크 포맷
5. SSD 저장 장치
요약
연습문제

New Arrivals Books in Related Fields

Coene, John (2021)
クジラ飛行机 (2022)