일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTML
- 운영체제
- PYTHON
- 완전탐색
- 플로이드-워셜 알고리즘
- nosql
- 트랜잭션
- redis
- It
- CSS
- javascript
- websocket
- BFS
- Docker
- Algorithm
- 백준
- mysql
- 데이터베이스
- Data structure
- 영속성 컨텍스트
- DFS
- 알고리즘
- CS
- java
- 프로그래머스
- OS
- 자료구조
- jpa
- spring
- db
- Today
- Total
목록운영체제 (4)
If at first you don't succeed, try again
* 커널과 인터페이스 커널(Kernel)은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로, 자동차에 비유하자면 엔진에 해당한다. 세단, 스포츠카, SUV 등 자동차의 종류는 다양하지만 성능은 엔진이 좌우하는데, 이와 마찬가지로 운영체제의 성능은 커널이 좌우한다. 자동차가 움직이는 데에는 엔진은 물론이고 사람이 조작할 수 있는 핸들과 브레이크가 필요하다. 또한 현재 시속, 기어의 상태, 엔진의 온도 등을 알려주는 계기판이 있어야 하는데, 이를 인터페이스라고 한다. 운영체제에도 인터페이스가 있는데, 이는 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할을 한다. 운영체제는 크게 두 부분으로 나뉜다. 사용자와 응용 프로그램에 인접하여 커널에 ..
* 시분할 시스템의 개념 1960년 후반에 컴퓨터의 크기가 작아지고 계산 능력이 향상되었다. 하지만 허가받은 몇몇 사용자만 사용할 수 있는 데다 고가였다. 값비싼 기계로 한 번에 하나의 작업만 수행하는 것은 낭비라 효율적으로 사용하기 위한 연구가 진행된 결과 다중 프로그래밍(Muitiprogramming) 기술이 개발되었다. 다중 프로그래밍은 하나의 CPU로 여러 작업을 동시에 실행하는 기술로, 한 번에 하나의 작업만 가능한 일괄 작업 시스템에 비해 효율성이 뛰어났다. 그런데 다중 프로그래밍은 컴퓨터 내부에서 어떻게 구현되는 것일까? 여러 작업이 하나의 CPU를 공동으로 사용하면 작업이 끊겨 보일텐데 다중 프로그래밍 시스템에서는 여러 작업이 동시에 실행되는 것처럼 보인다. 이는 시간을 분할하는 방법 때문..
* 운영체제의 역할 1. 자원 관리 우리는 컴퓨터로 문서를 작성하고, 음악을 듣고, 인터넷 서핑을 한다. 이 때 키보드, 네트워크 카드, 사운드 카드 등의 컴퓨터 자원을 사용하는데, 운영체제는 이러한 자원을 응용 프로그램에 나누어주어 사용자가 원활하게 작업할 수 있도록 돕는다. 만약 자원을 요청한 프로그램이 여러 개라면 적당한 순서로 자원을 배분하고 적절한 시점에 자원을 회수하여 다른 응용 프로그램에 나누어준다. 2. 자원 보호 컴퓨터 내의 많은 자원을 관리하는 것뿐만 아니라 악의적인 사용자나 미숙한 사용자로부터 자원을 보호하는 것도 매우 중요하다. 고의가 아니더라도 어떤 응용 프로그램이 남의 영역을 침범한다면 다른 사람의 작업을 망치거나 데이터를 지울 수도 있기 때문이다. 이러한 비정상적인 작업으로부터..
* 운영체제의 개념 OS(Operating System)이라고 일컫는 운영체제는 일반 컴퓨터나 노트북의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어로, 대표적인 예는 개인용 컴퓨터에서 사용하는 윈도우와 Mac OS, 대형 컴퓨터에서 사용하는 유닉스(Unix)와 리눅스(Linux) 등이다. 운영체제는 스마트폰에도 쓰인다. 이러한 운영체제를 모바일 운영체제라고 하며, 애플의 iOS와 구글의 안드로이드가 대표적이다. 이 중 iOS는 애플의 폐쇄적인 정책으로 애플 제품에만 사용되며, 안드로이드는 구글의 개방 정책으로 여러 스마트폰 제조사에서 사용하고 있다. CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제를 임베디드 운영체제(Embedded Operating System) 또는 임베디..