티스토리 뷰
운영체제?
운영체제(Operating System)는 컴퓨터의 리소스를 관리해주는 시스템 프로그램을 말합니다.
우리는 컴퓨터를 켜서 다양한 프로그램들을 사용합니다. 구글에 접속해 유튜브를 보고 워드작업을 하는 등 여러가지 프로그램을 한꺼번에 사용하는데, 각 프로그램들이 가지고 있는 데이터 및 기능을 수행하기 위해서는 CPU와 메모리, 즉 컴퓨터의 자원들을 사용합니다.
여러 프로그램이 하드웨어에 직접 접근해서 사용할경우 충돌이 나게되면 컴퓨터 전체에 큰 악영향을 끼칩니다. 여러 프로그램에 컴퓨터 리소스를 어떻게 분배하고, 관리할지 관리해줄 프로그램이 필요했습니다. 그것이 운영체제입니다.
프로그램을 실행하면 운영체제는 프로그램에 메모리를 할당해주고, 프로그램은 메모리 위에 데이터를 로드하게 됩니다.
즉, 프로그램을 실행하면 프로그램은 메모리에 올라가게됩니다. 따라서 운영체제 또한 메모리에 올라가 있습니다.
차이점은 커널 영역에 올라가 있습니다. 메모리는 커널, 유저 영역으로 나눠지는데, 커널 영역은 컴퓨터 리소스를 관리하는 프로그램들이 올라가게됩니다. 운영체제가 실행되는동안 항상 실행되고 있는 프로그램 및 모듈로, 다른 프로그램의 관리를 도와주는 핵심 역할을 하는 기능입니다.
운영체제 작동원리
운영체제는 사용자 프로그램을 실행하면 유저 영역에 할당시켜줍니다. 유저 영역에 실행중인 프로그램들은 컴퓨터 리소스에 직접 접근하지 못하고, 운영체제에 요청해야만 사용할 수 있습니다. 모든 리소스 관리는 운영체제가 관리를 해주고 있습니다. 따라서 운영체제는 사용자 프로그램이 리소스 요청을 할 수 있도록 API 를 제공해줍니다.
프로그램이 리소스를 사용하기 운영체제에 API 요청을 하는 것을 시스템콜(System Call) 이라고 합니다.
진행방식은 아래와 같습니다.
1. 프로그램은 커널에 API 를 요청해 하드웨어 자원 사용을 요청합니다. (시스템콜)
2. 해당 API 작업이 수행되며 CPU는 커널 모드로 전환됩니다.
3. API의 작업을 수행하고 반환값을 제공합니다.
3. 반환값을 받고 CPU는 유저모드로 돌아가고, 다시 프로그램 작업이 수행됩니다.
이렇게 CPU를 두가지 모드로 나눠 사용하는 것을 듀얼 모드라고 부릅니다.
---
- Total
- Today
- Yesterday
- arp응답
- 네트워크분류
- 이더넷프로토콜
- 프로그래머스
- 네트워크정의
- increasing-triplet-subsequence
- 알고리즘
- 네트워크허브
- leetcode 295
- 54. spiral matrix
- 122. best time to buy and sell stock ii
- letter case permutation
- leetcode334
- 네트워크처리율
- 이더넷이란
- leetcode 295. find median from data stream
- 클래스풀주소체계
- 네트워크패킷로스
- leetcode 17. letter combinations of a phone number
- 광역망
- 인터넷프로토콜이란
- leetcode
- 이더넷뜻
- 블루/그린
- leetcode 54. spiral matrix
- 클래스리스주소체계
- 테라폼구축
- Algorithm
- 네트워크성능평가
- 롤링업데이트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |