목록전체 글 (99)
♠Developer blog♠
스레드의 정의 운영체제는 코드와 데이터를 메모리에 가져오고, 프로세스 제어 블록을 생성하고, 작업에 필요한 메모리 영역을 확보한 후, 준비된 프로세스를 준비 큐에 삽입한다. 프로세스가 생성되면 CPU 스케줄러는 프로세스가 해야 할 일을 CPU에 전달하고 실제 작업은 CPU가 수행한다. 이 때 CPU 스케줄러가 CPU에 전달하는 일 하나가 스레드이다. 그러므로 CPU가 처리하는 작업의 단위는 프로세스로부터 전달받은 스레드이다. 운영체제 입장에서의 작업 단위는 프로세스이고 CPU 입장에서의 작업 단위는 스레드인 것이다. 프로세스와 스레드의 차이 프로세스끼리는 약하게 연결되어 있는 반면 스레드끼리는 강하게 연결되어 있다. 프로세스는 하나의 작업이고 스레드는 작업을 처리하기 위한 작업 안의 과정 하나 하나이다...
1. 프로세스의 구조 코드 영역 프로그래머가 작성한 프로그램은 코드 영역에 탑재되며 탑재된 코드는 읽기 전용으로 처리된다. 자기 자신을 수정하는 프로그램은 존재하지 않기 때문이다.데이터 영역 변수나 파일 등의 각종 데이터를 모아놓은 곳이다. 본문에 사용되는 데이터가 저장되어 있다. 상수로 선언된 변수는 읽기 전용이지만, 대부분의 변수는 읽기와 쓰기가 가능하다.스택 영역 운영체제가 프로그램을 실행하기 위해 부수적으로 필요한 데이터를 모아놓은 곳이다. 프로세스 내에서 함수를 호추랗면 함수를 수행하고 원래 프로그램으로 되돌아올 위치를 이영역에 저장한다. 스택 영역은 운영체제가 사용자의 프로세스를 작동하기 위해 유지하는 영역이므로 사용자에게 보이지 않는다. 2. 프로세스의 생성과 복사 fork() fork()를..
포인터 프로세스 상태 프로세스 구분자 프로그램 카운터 프로세스 우선순위 각종 레지스터 정보 메모리 관리 정보 할당된 자원 정보 계정 정보 PPID와 CPID 포인터 : 준비 상태나 대기 상태는 큐로 운영되는데, 프로세스 제어 블록을 연결하여 준비 상태나 대기 상태의 큐를 구현할 때 포인터를 사용한다. 프로세스 상태 : 생성, 준비, 실행, 대기, 보류 준비, 보류 대기가 있다. 프로세스 구분자 : 프로세를 구별하는 역할은 한다. 프로그램 카운터 : 다음에 실행될 명령어의 위치를 가리키는 프로그램 카운터의 값을 저장한다. 프로세스 우선순위 : 다양한 우선순위의 프로세스가 대기 상태로 들어오기 때문에 대기 상태의 큐도 우선순위별로 따로 운영된다. 각종 레지스터 정보 : 누산기, 색인 레지스터, 스택 포인터와..
생성 상태 : 프로세스가 메모리에 올라와 실행 준비를 완료한 상태이다. 프로세스를 관리하는 데 필요한 제어 블록이 생성된다. 준비 상태 : 생성된 프로세스가 CPU를 얻을 때까지 기다리는 상태이다. 실행 상태 : 실행 상태에 들어간 프로세스는 일정 시간 동안 CPU를 사용할 권리를 갖는다. 만약 일정 시간동안 작업이 끝나지 않았다면, 프로세스는 준비 상태로 돌아와 다음 차례를 기다린다. 완료 상태 : 프로세스 제어 블록이 사라진 상태를 의미한다. 준비 상태에 있는 여러 프로세스 중 다음에 실행할 프로세스를 선정하는 일은 CPU 스케줄러가 담당한다. CPU 스케줄러는 준비 상태의 맨 앞에서 기다리고 있는 프로세스 제어블록을 CPU에 전달하여 작업이 이루어지게 한다. 준비 상태의 프로세스 중 하나를 골라 실..
PHP 다운로드 클릭 send.php 파일 vs code로 가져오기 url , 요청값 부분에서 주석으로 필수라고 적혀 있는 부분의 key값 복사하기 보내기 버튼을 하나 만들어서 클릭 이벤트 메소드 기능을 구현한다. chap-02.2 에서 가져온 url를 넣는다. data 에 chap-02.2 $_param 변수의 필수 key를 가져와서 data 변수 key값으로 만든다. value값으로는 뿌리오 아이디, 등록했던 IP번호, 발신자 번호를 입력한다. 위의 코드 수정_v1 핸드폰 번호를 여러개를 입력해서 한번에 보낼 경우가 있기 때문에 데이터 정제 해주는 코드 추가( 여러개의 번호 입력시, 구분자를 | 로 사용하므로 replace 함수를 썼다) 위의 코드 수정_v2 ip 번호를 수기로 입력할 필요없이 내 컴..