본문 바로가기

운영체제/공룡책

(4)
클라이언트 서버 통신 소켓   두 개의 프로세스가 통신하기 위해서는 극점(endpoint)를 갖는 두 개의 소켓이 필요하다.각 소켓은  IP 주소와 포트 번호 두 가지를 구별한다. 일반적으로 소켓은 클라이언트-서버 구조를 지원한다.   서버 소켓은 클라이언트 소켓의 응답 요청을 대기하며, 클라이언트 프로세스가 연결을 요청하면 호스트 서버에서 포트 번호를 부여한다. 예로, IP 주소 146.80.5.20 호스트가 a 클라이언트에게 웹 서버에 접속하기 위한 포트를 지정할 떄, 포트 1630을 부여한다. 두 호스트 사이에서 데이터 패킷 교환이 생길 때, 해당 패킷들은 목적지 포트 번호가 지정하는 곳에 맞춰 적절한 프로세스 통신이 이루어진다.   소켓 네트워크 도구를 JAVA를 예시로 하여 정리하고자 한다.TCP 소켓은 Socket..
프로세스 프로세스 프로세스란 실행 중인 프로그램을 뜻한다. 현대의 컴퓨팅 시스템에서 작업의 단위이다.운영체제는 커널 안에서 병렬 처리로 여러 프로세스를 동시에 처리한다. 이로 인해 CPU들은 프로세스 중에서 다중화(multiplex)되어진다. 프로세스 개념프로세스의 현재 상태는 프로그램 카운터(PC)와 레지스터의 내용으로 나타낸다.프로세스 메모리 배치는 다음과 같다. - 텍스트 섹션 : 실행 코드- 데이터 섹션 : 전역 변수- 힙 섹션 : 프로그램 실행 중에 동적으로 할당되는 메모리- 스텍 섹션: 함수가 호출될 때 임시 저장 데이터 저장장소 (함수 매개변수, 복귀 주소 및 로컬 변수) 데이터 섹션의 크기는 고정적으로, 프로그램 실행 시간동안 크기가 변하지 않는다.스택 , 힙 섹션은 프로그램 동적 실행 중에 메모리..
운영체제 서비스 운영체제 서비스- 사용자 인터페이스 : 일반적으로 사용자에게 보여질 수 있는 그래픽 인터페이스(GUI) 제공한다. 태블릿, 휴대전화를 위한 스크린 인터페이스 또한 제공하며, 명령어 라인 인터페이스 (CLI) 등을 제공한다.- 프로그램 수행 : 메모리에 명령어를 적재하는 프로그램을 실행할 수 있도록 한다. - 입출력 연산 : 수행 중인 입출력을 프로그램에서 제어할 수 있게 한다.- 파일 시스템 조작: 프로그램은 파일을 읽고 쓸 수 있게 하며, 파일 소유권에 기반한 권한 관리를 부여하여 파일에 접근권한에 대한 설정을 할 수 있다.- 통신 : 프로세스 간 정보를 교환에 두 가지 방식을 제공한다. 같은 컴퓨터 내에서 정보를 교환하는 방식과 네트워크에 의해 같이 묶여져 있는 다른 컴퓨터 간의 공유 메모리를 통해서..
운영체제 구조 운영체제 운영체제(Operating System)이란, 컴퓨터 하드웨어를 관리하는 소프트웨어다.하드웨어와 응용 프로그램 사이의 중재작 역할을 수행한다.자원을 프로그램에 효율적으로 할당하기 위해 존재한다. 1-1운영체제의 역할 컴퓨터 시스템은 네 가지 구성요소인 하드웨어, 운영체제, 응용 프로그램, 사용자로 구분한다. 하드웨어 :  CPU, I/O 장치, 기본 계산용 자원을 제공  운영체제 : 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정응용 프로그램 : 워드 프로세서, 스프레드시트 ,컴파일러,웹 브라우저 등 사용자의 계산 문제를 해결하기 위해 자원이 어떻게 사용되는지 정의 시스템의 관점 운영체제 = 자원 할당자(resource allocator)CPU 시간, 메모리 공간, 저장장치 공간, 입출..